Thread: [Alsa-user] Tascam US-122 and Raspberry Pi
Brought to you by:
perex
From: <jm...@vo...> - 2013-10-30 08:41:56
|
Hello, I'd like to use my Tascam US-122 with my Raspberry Pi. In the stock raspberry pi kernel snd-usb-usx2y is not included. So I took the kernel source (3.6.11) from https://github.com/raspberrypi/linux and compiled it. In sound/usb/Kconfig, section "config SND_USB_USX2Y", I had to remove the line "depends on X86 || PPC || ALPHA". Now I can * load the module snd-usb-usx2y with nrpacks=1 * load the firmware with fxload * run usx2yloader aplay -l now show the device: # aplay -l **** List of PLAYBACK Hardware Devices **** card 0: USX2Y [TASCAM US-X2Y], device 0: US-X2Y Audio [US-X2Y Audio #0] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: USX2Y [TASCAM US-X2Y], device 2: US-X2Y hwdep Audio [US-X2Y hwdep Audio] Subdevices: 1/1 Subdevice #0: subdevice #0 If I try to play a wav file I get the output: # aplay -D hw:0,0 test.wav Playing WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo aplay: pcm_write:1710: write error: Input/output error aplay tries to play the wav file for about 10 seconds. Then the input/output error appears. Output to the speaker during these 10 seconds is either silence, or the first (about) 300ms of the file repeated. Can you please help me to get the device working with raspberry pi? I can imagine the Line "depends on X86 || PPC || ALPHA" was there for a reason... Kind regards, Jochen |
From: Daniel M. <zo...@gm...> - 2013-10-30 09:20:47
|
On 10/30/2013 09:17 AM, jm...@vo... wrote: > Hello, > > I'd like to use my Tascam US-122 with my Raspberry Pi. In the stock > raspberry pi kernel snd-usb-usx2y is not included. So I took the > kernel source (3.6.11) from https://github.com/raspberrypi/linux and > compiled it. > > In sound/usb/Kconfig, section "config SND_USB_USX2Y", I had to remove > the line "depends on X86 || PPC || ALPHA". > > Now I can * load the module snd-usb-usx2y with nrpacks=1 * load the > firmware with fxload * run usx2yloader > > aplay -l now show the device: > > # aplay -l **** List of PLAYBACK Hardware Devices **** card 0: USX2Y > [TASCAM US-X2Y], device 0: US-X2Y Audio [US-X2Y Audio #0] Subdevices: > 1/1 Subdevice #0: subdevice #0 card 0: USX2Y [TASCAM US-X2Y], device > 2: US-X2Y hwdep Audio [US-X2Y hwdep Audio] Subdevices: 1/1 Subdevice > #0: subdevice #0 > > If I try to play a wav file I get the output: > > # aplay -D hw:0,0 test.wav Playing WAVE 'test.wav' : Signed 16 bit > Little Endian, Rate 48000 Hz, Stereo aplay: pcm_write:1710: write > error: Input/output error Does the kernel log show anything after that? (dmesg) > I > can imagine the Line "depends on X86 || PPC || ALPHA" was there for a > reason... I actually don't think so, but I haven't looked at the sources yet. It's just a USB module, which should work on any platform. Daniel |
From: <jm...@vo...> - 2013-10-30 10:39:15
|
> Gesendet: Mittwoch, 30. Oktober 2013 um 10:20 Uhr > Von: "Daniel Mack" <zo...@gm...> > An: jm...@vo... > Cc: als...@li... > Betreff: Re: [Alsa-user] Tascam US-122 and Raspberry Pi > > On 10/30/2013 09:17 AM, jm...@vo... wrote: > > Hello, > > > > I'd like to use my Tascam US-122 with my Raspberry Pi. In the stock > > raspberry pi kernel snd-usb-usx2y is not included. So I took the > > kernel source (3.6.11) from https://github.com/raspberrypi/linux and > > compiled it. > > > > In sound/usb/Kconfig, section "config SND_USB_USX2Y", I had to remove > > the line "depends on X86 || PPC || ALPHA". > > > > Now I can * load the module snd-usb-usx2y with nrpacks=1 * load the > > firmware with fxload * run usx2yloader > > > > aplay -l now show the device: > > > > # aplay -l **** List of PLAYBACK Hardware Devices **** card 0: USX2Y > > [TASCAM US-X2Y], device 0: US-X2Y Audio [US-X2Y Audio #0] Subdevices: > > 1/1 Subdevice #0: subdevice #0 card 0: USX2Y [TASCAM US-X2Y], device > > 2: US-X2Y hwdep Audio [US-X2Y hwdep Audio] Subdevices: 1/1 Subdevice > > #0: subdevice #0 > > > > If I try to play a wav file I get the output: > > > > # aplay -D hw:0,0 test.wav Playing WAVE 'test.wav' : Signed 16 bit > > Little Endian, Rate 48000 Hz, Stereo aplay: pcm_write:1710: write > > error: Input/output error > > Does the kernel log show anything after that? (dmesg) Oh, I really forgot to check dmesg... here's the output: Sequence Error!(hcd_frame=10797 ep=8in;wait=2,frame=3). Most probably some urb of usb-frame 2 is still missing. Cause could be too long delays in usb-hcd interrupt handling. > > > I > > can imagine the Line "depends on X86 || PPC || ALPHA" was there for a > > reason... > > I actually don't think so, but I haven't looked at the sources yet. It's > just a USB module, which should work on any platform. > > > Daniel > |
From: Daniel M. <zo...@gm...> - 2013-10-30 11:08:47
|
On 10/30/2013 11:39 AM, jm...@vo... wrote: >> On 10/30/2013 09:17 AM, jm...@vo... wrote: >>> # aplay -D hw:0,0 test.wav Playing WAVE 'test.wav' : Signed 16 bit >>> Little Endian, Rate 48000 Hz, Stereo aplay: pcm_write:1710: write >>> error: Input/output error >> >> Does the kernel log show anything after that? (dmesg) > > Oh, I really forgot to check dmesg... here's the output: > > Sequence Error!(hcd_frame=10797 ep=8in;wait=2,frame=3). > Most probably some urb of usb-frame 2 is still missing. > Cause could be too long delays in usb-hcd interrupt handling. We've recently fixed this by removing some code. Please try this patch: https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/?id=a9d14bc0b188a822e42787d01e56c06fe9750162 Daniel |
From: <jm...@vo...> - 2013-10-30 13:42:59
|
> Gesendet: Mittwoch, 30. Oktober 2013 um 12:08 Uhr > Von: "Daniel Mack" <zo...@gm...> > > On 10/30/2013 11:39 AM, jm...@vo... wrote: > >> On 10/30/2013 09:17 AM, jm...@vo... wrote: > > >>> # aplay -D hw:0,0 test.wav Playing WAVE 'test.wav' : Signed 16 bit > >>> Little Endian, Rate 48000 Hz, Stereo aplay: pcm_write:1710: write > >>> error: Input/output error > >> > >> Does the kernel log show anything after that? (dmesg) > > > > Oh, I really forgot to check dmesg... here's the output: > > > > Sequence Error!(hcd_frame=10797 ep=8in;wait=2,frame=3). > > Most probably some urb of usb-frame 2 is still missing. > > Cause could be too long delays in usb-hcd interrupt handling. > > We've recently fixed this by removing some code. Please try this patch: > > > https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/?id=a9d14bc0b188a822e42787d01e56c06fe9750162 > > > Daniel Ok, I applied the patch and recompiled the module. dmesg now shows no error but I still get the input/output error. |
From: Daniel M. <zo...@gm...> - 2013-10-30 17:11:41
|
On 10/30/2013 02:42 PM, jm...@vo... wrote: >> On 10/30/2013 11:39 AM, jm...@vo... wrote: >>>> On 10/30/2013 09:17 AM, jm...@vo... wrote: >>> Sequence Error!(hcd_frame=10797 ep=8in;wait=2,frame=3). Most >>> probably some urb of usb-frame 2 is still missing. Cause could be >>> too long delays in usb-hcd interrupt handling. >> >> We've recently fixed this by removing some code. Please try this >> patch: >> >> >> https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/?id=a9d14bc0b188a822e42787d01e56c06fe9750162 >> > Ok, I applied the patch and recompiled the module. dmesg now shows no > error but I still get the input/output error. Hmm, then I don't know right now. You should try some other USB audio device such as a headset, just to see whether the USB host controller has a general problem with isochronous transfers and such. If that works fine, I guess someone needs to look into the usx2y driver. Best regards, Daniel |
From: <jm...@vo...> - 2013-10-30 18:02:04
|
> Gesendet: Mittwoch, 30. Oktober 2013 um 18:11 Uhr > Von: "Daniel Mack" <zo...@gm...> > On 10/30/2013 02:42 PM, jm...@vo... wrote: > >> On 10/30/2013 11:39 AM, jm...@vo... wrote: > >>>> On 10/30/2013 09:17 AM, jm...@vo... wrote: > > >>> Sequence Error!(hcd_frame=10797 ep=8in;wait=2,frame=3). Most > >>> probably some urb of usb-frame 2 is still missing. Cause could be > >>> too long delays in usb-hcd interrupt handling. > >> > >> We've recently fixed this by removing some code. Please try this > >> patch: > >> > >> > >> https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/?id=a9d14bc0b188a822e42787d01e56c06fe9750162 > >> > > Ok, I applied the patch and recompiled the module. dmesg now shows no > > error but I still get the input/output error. > > Hmm, then I don't know right now. You should try some other USB audio > device such as a headset, just to see whether the USB host controller > has a general problem with isochronous transfers and such. If that works > fine, I guess someone needs to look into the usx2y driver. A Behringer UCG102 works without problems. Can you advice me on what to do to debug the error? > > Best regards, > Daniel Thanks for your help! Jochen |
From: Daniel M. <zo...@gm...> - 2013-10-30 18:50:08
|
On 10/30/2013 07:01 PM, jm...@vo... wrote: >> Gesendet: Mittwoch, 30. Oktober 2013 um 18:11 Uhr >> Von: "Daniel Mack" <zo...@gm...> >> On 10/30/2013 02:42 PM, jm...@vo... wrote: >>>> On 10/30/2013 11:39 AM, jm...@vo... wrote: >>>>>> On 10/30/2013 09:17 AM, jm...@vo... wrote: >> >>>>> Sequence Error!(hcd_frame=10797 ep=8in;wait=2,frame=3). Most >>>>> probably some urb of usb-frame 2 is still missing. Cause could be >>>>> too long delays in usb-hcd interrupt handling. >>>> >>>> We've recently fixed this by removing some code. Please try this >>>> patch: >>>> >>>> >>>> https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/?id=a9d14bc0b188a822e42787d01e56c06fe9750162 >>>> >>> Ok, I applied the patch and recompiled the module. dmesg now shows no >>> error but I still get the input/output error. >> >> Hmm, then I don't know right now. You should try some other USB audio >> device such as a headset, just to see whether the USB host controller >> has a general problem with isochronous transfers and such. If that works >> fine, I guess someone needs to look into the usx2y driver. > > A Behringer UCG102 works without problems. Can you advice me on what to do to debug the error? You can check whether the driver sends out packets at all (usb_submit_urb()) and if they succeed. Maybe the Raspberry is even powerful enough to create usbmon traces that you can analyze in wireshark. Read Documentation/usb/usbmon.txt for more information on that topic. Sorry I can't of more concrete help atm. Daniel |
From: <jm...@vo...> - 2013-10-30 20:38:59
|
> Gesendet: Mittwoch, 30. Oktober 2013 um 19:50 Uhr > Von: "Daniel Mack" <zo...@gm...> > On 10/30/2013 07:01 PM, jm...@vo... wrote: > >> Gesendet: Mittwoch, 30. Oktober 2013 um 18:11 Uhr > >> Von: "Daniel Mack" <zo...@gm...> > >> On 10/30/2013 02:42 PM, jm...@vo... wrote: > >>>> On 10/30/2013 11:39 AM, jm...@vo... wrote: > >>>>>> On 10/30/2013 09:17 AM, jm...@vo... wrote: > >> > >>>>> Sequence Error!(hcd_frame=10797 ep=8in;wait=2,frame=3). Most > >>>>> probably some urb of usb-frame 2 is still missing. Cause could be > >>>>> too long delays in usb-hcd interrupt handling. > >>>> > >>>> We've recently fixed this by removing some code. Please try this > >>>> patch: > >>>> > >>>> > >>>> https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/?id=a9d14bc0b188a822e42787d01e56c06fe9750162 > >>>> > >>> Ok, I applied the patch and recompiled the module. dmesg now shows no > >>> error but I still get the input/output error. > >> > >> Hmm, then I don't know right now. You should try some other USB audio > >> device such as a headset, just to see whether the USB host controller > >> has a general problem with isochronous transfers and such. If that works > >> fine, I guess someone needs to look into the usx2y driver. > > > > A Behringer UCG102 works without problems. Can you advice me on what to do to debug the error? > > You can check whether the driver sends out packets at all > (usb_submit_urb()) and if they succeed. Maybe the Raspberry is even > powerful enough to create usbmon traces that you can analyze in > wireshark. Read Documentation/usb/usbmon.txt for more information on > that topic. I created an usbmon trace with wireshark while running aplay. It's available here: http://wikisend.com/download/456946/us122.pcapng I have to admit that until now I don't know much about usb communication. Please, can you have a look at the trace? Thank you! Jochen |