[alsa-devel] asoc: no valid backend routes for PCM: SDP4430 Media

List,
After capturing data from DMIC on OMAP4 blaze board with kernel 2.6.38 and save wav data to 38.wav.
But aplay complains "no valid backend routes". See following,
$aplay -f dat 38.wav [ 157.167724] asoc: no valid backend routes for PCM: SDP4430 Media aplay: main:654: audio open error: Invalid argument
$ uname -a Linux ubuntu 2.6.38.4+ #58 SMP PREEMPT Fri Jun 3 09:44:19 PDT 2011 armv7l GNU/Linux
Does ALSA add new functionality of backend?
Thanks.
---henry

On 07/06/11 01:13, hong zhang wrote:
List,
After capturing data from DMIC on OMAP4 blaze board with kernel 2.6.38 and save wav data to 38.wav.
But aplay complains "no valid backend routes". See following,
$aplay -f dat 38.wav [ 157.167724] asoc: no valid backend routes for PCM: SDP4430 Media aplay: main:654: audio open error: Invalid argument
This means you have not configured an audio route for playback (i.e. the audio is not routed anywhere from pcm hw:0,0). Use alsamixer and configure the kcontrols to define the audio path. The kcontrol mappings to audio paths are detailed here for OMAP4 :-
http://omappedia.org/wiki/Audio_Drive_Arch
Liam

Liam,
Actually, I could not prove DMIC on OMAP4 blaze board is working in both kernel 2.6.35 and 2.6.38 using arecord and gstreamer-alsa.
In 2.6.35, arecord returns 44 bytes with read error In 2.6.38, arecord collects native data.
Gstreamer-alsa could not get voice after turning off analog captures using amixer.
Any information regarding DMIC on OMAP4? I see people send DMIC patch to 2.6.38.
Please advise.
---henry
--- On Tue, 6/7/11, Liam Girdwood lrg@ti.com wrote:
From: Liam Girdwood lrg@ti.com Subject: Re: [alsa-devel] asoc: no valid backend routes for PCM: SDP4430 Media To: "hong zhang" henryzhang62@yahoo.com Cc: "alsa-devel@alsa-project.org" alsa-devel@alsa-project.org Date: Tuesday, June 7, 2011, 3:38 AM On 07/06/11 01:13, hong zhang wrote:
List,
After capturing data from DMIC on OMAP4 blaze board
with kernel 2.6.38 and save wav data to 38.wav.
But aplay complains "no valid backend routes". See
following,
$aplay -f dat 38.wav [ 157.167724] asoc: no valid backend routes for
PCM: SDP4430 Media
aplay: main:654: audio open error: Invalid argument
This means you have not configured an audio route for playback (i.e. the audio is not routed anywhere from pcm hw:0,0). Use alsamixer and configure the kcontrols to define the audio path. The kcontrol mappings to audio paths are detailed here for OMAP4 :-
http://omappedia.org/wiki/Audio_Drive_Arch
Liam _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

On 07/06/11 20:59, hong zhang wrote:
Liam,
Actually, I could not prove DMIC on OMAP4 blaze board is working in both kernel 2.6.35 and 2.6.38 using arecord and gstreamer-alsa.
In 2.6.35, arecord returns 44 bytes with read error In 2.6.38, arecord collects native data.
Gstreamer-alsa could not get voice after turning off analog captures using amixer.
Any information regarding DMIC on OMAP4? I see people send DMIC patch to 2.6.38.
DMIC works on OMAP4, can you try my branch :-
https://gitorious.org/omap-audio/linux-audio/commits/lrg/topic/omap-asoc-nex...
Liam

Liam,
I have downloaded kernel tar ball. Three questions need your help.
1. which defconfig should be used in arch/arm/configs? I do not see OMAP4 for SDP4430 (blaze board). Panda does not have DMIC only blaze has it.
2. On blaze board, I have to turn off two analog captures and leave DMIC open. Can you verify my gst-launch is correct? I cannot capture voice from DMIC on OMAP4 blaze board us it.
gst-launch-0.10 -v alsasrc num-buffers=1000 ! 'audio/x-raw-int,rate=8000,channels=1,endianness=1234,width=16,depth=16' ! audioconvert ! wavenc! filesink location=/home/normanc/Desktop/8000.wav
3. If I specify DMIC device, command is rejected.
gst-launch-0.10 -v alsasrc device="hw:0,10" num-buffers=1000 ! 'audio/x-raw-int, rate=8000,channels=1,endianness=1234,width=16,depth=16' ! audioconvert ! wavenc! filesink location=/home/normanc/Desktop/8000.wav
TI support team in France says item 2 should work for DMIC. But I simply could not get it. TI team says item 2 works for "official release 2.6.35-990-omap4 #9".
I have spent 1 week on it with 2.6.35-990-omap4 #9
Please advise!
Thanks.
---henry
--- On Wed, 6/8/11, Liam Girdwood lrg@ti.com wrote:
From: Liam Girdwood lrg@ti.com Subject: Re: [alsa-devel] asoc: no valid backend routes for PCM: SDP4430 Media To: "hong zhang" henryzhang62@yahoo.com Cc: "alsa-devel@alsa-project.org" alsa-devel@alsa-project.org Date: Wednesday, June 8, 2011, 9:22 AM On 07/06/11 20:59, hong zhang wrote:
Liam,
Actually, I could not prove DMIC on OMAP4 blaze board
is working in both kernel 2.6.35 and 2.6.38 using arecord and gstreamer-alsa.
In 2.6.35, arecord returns 44 bytes with read error In 2.6.38, arecord collects native data.
Gstreamer-alsa could not get voice after turning off
analog captures using amixer.
Any information regarding DMIC on OMAP4? I see people
send DMIC patch to 2.6.38.
DMIC works on OMAP4, can you try my branch :-
https://gitorious.org/omap-audio/linux-audio/commits/lrg/topic/omap-asoc-nex...
Liam

Hi Henry,
On 08/06/11 20:08, hong zhang wrote:
Liam,
I have downloaded kernel tar ball. Three questions need your help.
- which defconfig should be used in arch/arm/configs? I do not see OMAP4 for SDP4430 (blaze board). Panda does not have DMIC only blaze has it.
There is an omap2plus defconfig.
On blaze board, I have to turn off two analog captures and leave DMIC open. Can you verify my gst-launch is correct? I cannot capture voice from DMIC on OMAP4 blaze board us it.
gst-launch-0.10 -v alsasrc num-buffers=1000 ! 'audio/x-raw-int,rate=8000,channels=1,endianness=1234,width=16,depth=16' ! audioconvert ! wavenc! filesink location=/home/normanc/Desktop/8000.wav
If I specify DMIC device, command is rejected.
gst-launch-0.10 -v alsasrc device="hw:0,10" num-buffers=1000 ! 'audio/x-raw-int, rate=8000,channels=1,endianness=1234,width=16,depth=16' ! audioconvert ! wavenc! filesink location=/home/normanc/Desktop/8000.wav
The easiest thing todo first is to get arecord working. Use hw:0,1 for DMIC and make sure you use alsamixer to configure the correct audio paths for DMIC to hw:0,1.
TI support team in France says item 2 should work for DMIC. But I simply could not get it. TI team says item 2 works for "official release 2.6.35-990-omap4 #9".
I have spent 1 week on it with 2.6.35-990-omap4 #9
Please advise!
It does look like you have not configured the audio route here for the DMIC to hw:0,1. Use the ABE diagram to create your route with alsamixer.
Liam
Thanks.
---henry
--- On Wed, 6/8/11, Liam Girdwood lrg@ti.com wrote:
From: Liam Girdwood lrg@ti.com Subject: Re: [alsa-devel] asoc: no valid backend routes for PCM: SDP4430 Media To: "hong zhang" henryzhang62@yahoo.com Cc: "alsa-devel@alsa-project.org" alsa-devel@alsa-project.org Date: Wednesday, June 8, 2011, 9:22 AM On 07/06/11 20:59, hong zhang wrote:
Liam,
Actually, I could not prove DMIC on OMAP4 blaze board
is working in both kernel 2.6.35 and 2.6.38 using arecord and gstreamer-alsa.
In 2.6.35, arecord returns 44 bytes with read error In 2.6.38, arecord collects native data.
Gstreamer-alsa could not get voice after turning off
analog captures using amixer.
Any information regarding DMIC on OMAP4? I see people
send DMIC patch to 2.6.38.
DMIC works on OMAP4, can you try my branch :-
https://gitorious.org/omap-audio/linux-audio/commits/lrg/topic/omap-asoc-nex...
Liam

Liam,
Arecord gets data from DMIC! Using following commands.
"arecord -f dat -D plughw:0,0 dmic.wav" with "amixer cset numid=61 1 and amixer cset numid=60 2" to get data from DMIC after turning off two analog captures.
Information from "arecrod -l" is not sync with ABE routing table. For example, "arecord -l" indicates hw:0,10 is DMIC capture but ABE diagram indicates plughw:0,0 can be used for DMIC input.
Are "arecord -l" and "aplay -l" still useful?
---henry
--- On Thu, 6/9/11, Liam Girdwood lrg@ti.com wrote:
From: Liam Girdwood lrg@ti.com Subject: Re: [alsa-devel] asoc: no valid backend routes for PCM: SDP4430 Media To: "hong zhang" henryzhang62@yahoo.com Cc: "alsa-devel@alsa-project.org" alsa-devel@alsa-project.org Date: Thursday, June 9, 2011, 4:42 AM Hi Henry,
On 08/06/11 20:08, hong zhang wrote:
Liam,
I have downloaded kernel tar ball. Three questions
need your help.
- which defconfig should be used in
arch/arm/configs?
I do not see OMAP4 for SDP4430 (blaze
board). Panda does not have DMIC
only blaze has it.
There is an omap2plus defconfig.
- On blaze board, I have to turn off two analog
captures and leave DMIC open. Can you verify my gst-launch is correct? I cannot capture voice from DMIC on OMAP4 blaze board us it.
gst-launch-0.10 -v alsasrc
num-buffers=1000 ! 'audio/x-raw-int,rate=8000,channels=1,endianness=1234,width=16,depth=16' ! audioconvert ! wavenc! filesink location=/home/normanc/Desktop/8000.wav
- If I specify DMIC device, command is rejected.
gst-launch-0.10 -v alsasrc device="hw:0,10"
num-buffers=1000 ! 'audio/x-raw-int, rate=8000,channels=1,endianness=1234,width=16,depth=16' ! audioconvert ! wavenc! filesink location=/home/normanc/Desktop/8000.wav
The easiest thing todo first is to get arecord working. Use hw:0,1 for DMIC and make sure you use alsamixer to configure the correct audio paths for DMIC to hw:0,1.
TI support team in France says item 2 should work for
DMIC. But I simply could not get it. TI team says item 2 works for "official release 2.6.35-990-omap4 #9".
I have spent 1 week on it with 2.6.35-990-omap4 #9
Please advise!
It does look like you have not configured the audio route here for the DMIC to hw:0,1. Use the ABE diagram to create your route with alsamixer.
Liam
Thanks.
---henry
--- On Wed, 6/8/11, Liam Girdwood lrg@ti.com wrote:
From: Liam Girdwood lrg@ti.com Subject: Re: [alsa-devel] asoc: no valid backend
routes for PCM: SDP4430 Media
To: "hong zhang" henryzhang62@yahoo.com Cc: "alsa-devel@alsa-project.org"
Date: Wednesday, June 8, 2011, 9:22 AM On 07/06/11 20:59, hong zhang wrote:
Liam,
Actually, I could not prove DMIC on OMAP4
blaze board
is working in both kernel 2.6.35 and 2.6.38 using
arecord
and gstreamer-alsa.
In 2.6.35, arecord returns 44 bytes with read
error
In 2.6.38, arecord collects native data.
Gstreamer-alsa could not get voice after
turning off
analog captures using amixer.
Any information regarding DMIC on OMAP4? I see
people
send DMIC patch to 2.6.38.
DMIC works on OMAP4, can you try my branch :-
https://gitorious.org/omap-audio/linux-audio/commits/lrg/topic/omap-asoc-nex...
Liam
Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

On 09/06/11 18:45, hong zhang wrote:
Liam,
Arecord gets data from DMIC! Using following commands.
"arecord -f dat -D plughw:0,0 dmic.wav" with "amixer cset numid=61 1 and amixer cset numid=60 2" to get data from DMIC after turning off two analog captures.
Information from "arecrod -l" is not sync with ABE routing table. For example, "arecord -l" indicates hw:0,10 is DMIC capture but ABE diagram indicates plughw:0,0 can be used for DMIC input.
Are "arecord -l" and "aplay -l" still useful?
Yes, but not for OMAP4 atm.
Thanks
Liam
---henry
--- On Thu, 6/9/11, Liam Girdwood lrg@ti.com wrote:
From: Liam Girdwood lrg@ti.com Subject: Re: [alsa-devel] asoc: no valid backend routes for PCM: SDP4430 Media To: "hong zhang" henryzhang62@yahoo.com Cc: "alsa-devel@alsa-project.org" alsa-devel@alsa-project.org Date: Thursday, June 9, 2011, 4:42 AM Hi Henry,
On 08/06/11 20:08, hong zhang wrote:
Liam,
I have downloaded kernel tar ball. Three questions
need your help.
- which defconfig should be used in
arch/arm/configs?
I do not see OMAP4 for SDP4430 (blaze
board). Panda does not have DMIC
only blaze has it.
There is an omap2plus defconfig.
- On blaze board, I have to turn off two analog
captures and leave DMIC open. Can you verify my gst-launch is correct? I cannot capture voice from DMIC on OMAP4 blaze board us it.
gst-launch-0.10 -v alsasrc
num-buffers=1000 ! 'audio/x-raw-int,rate=8000,channels=1,endianness=1234,width=16,depth=16' ! audioconvert ! wavenc! filesink location=/home/normanc/Desktop/8000.wav
- If I specify DMIC device, command is rejected.
gst-launch-0.10 -v alsasrc device="hw:0,10"
num-buffers=1000 ! 'audio/x-raw-int, rate=8000,channels=1,endianness=1234,width=16,depth=16' ! audioconvert ! wavenc! filesink location=/home/normanc/Desktop/8000.wav
The easiest thing todo first is to get arecord working. Use hw:0,1 for DMIC and make sure you use alsamixer to configure the correct audio paths for DMIC to hw:0,1.
TI support team in France says item 2 should work for
DMIC. But I simply could not get it. TI team says item 2 works for "official release 2.6.35-990-omap4 #9".
I have spent 1 week on it with 2.6.35-990-omap4 #9
Please advise!
It does look like you have not configured the audio route here for the DMIC to hw:0,1. Use the ABE diagram to create your route with alsamixer.
Liam
Thanks.
---henry
--- On Wed, 6/8/11, Liam Girdwood lrg@ti.com wrote:
From: Liam Girdwood lrg@ti.com Subject: Re: [alsa-devel] asoc: no valid backend
routes for PCM: SDP4430 Media
To: "hong zhang" henryzhang62@yahoo.com Cc: "alsa-devel@alsa-project.org"
Date: Wednesday, June 8, 2011, 9:22 AM On 07/06/11 20:59, hong zhang wrote:
Liam,
Actually, I could not prove DMIC on OMAP4
blaze board
is working in both kernel 2.6.35 and 2.6.38 using
arecord
and gstreamer-alsa.
In 2.6.35, arecord returns 44 bytes with read
error
In 2.6.38, arecord collects native data.
Gstreamer-alsa could not get voice after
turning off
analog captures using amixer.
Any information regarding DMIC on OMAP4? I see
people
send DMIC patch to 2.6.38.
DMIC works on OMAP4, can you try my branch :-
https://gitorious.org/omap-audio/linux-audio/commits/lrg/topic/omap-asoc-nex...
Liam
Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

--- On Thu, 6/9/11, Liam Girdwood lrg@ti.com wrote:
From: Liam Girdwood lrg@ti.com Subject: Re: [alsa-devel] asoc: no valid backend routes for PCM: SDP4430 Media To: "hong zhang" henryzhang62@yahoo.com Cc: "alsa-devel@alsa-project.org" alsa-devel@alsa-project.org Date: Thursday, June 9, 2011, 12:48 PM On 09/06/11 18:45, hong zhang wrote:
Liam,
Arecord gets data from DMIC! Using following
commands.
"arecord -f dat -D plughw:0,0 dmic.wav" with "amixer
cset numid=61 1 and
amixer cset numid=60 2" to get data from DMIC after
turning off two analog captures.
Information from "arecrod -l" is not sync with ABE
routing table. For example, "arecord -l" indicates hw:0,10 is DMIC capture but
ABE diagram indicates plughw:0,0 can be used for DMIC
input.
Are "arecord -l" and "aplay -l" still useful?
Yes, but not for OMAP4 atm.
1. What is OMAP4 ATM? 2. Why "hw:0,10 DMIC capture" does not work for DMIC input?
Thanks
Liam

Hello, I am not able to hear audio on my headset when it connect it to panda board. What mite be the issue? Also panda does not has DMIC does this make any difference ?
Regards Sarika

On 19/08/11 08:53, Sarika wrote:
Hello, I am not able to hear audio on my headset when it connect it to panda board. What mite be the issue?
This means you have no valid audio route from your pcm device to your headphone.
Please use the supplied UCM configuration files (with Ubuntu) to set the route or use alsamixer to do this manually.
http://www.omappedia.org/wiki/Audio_Drive_Arch
Also panda does not has DMIC does this make any difference ?
No.
Liam
Regards Sarika
Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
participants (3)
-
hong zhang
-
Liam Girdwood
-
Sarika