[Cbe-oss-dev] USB sound recording issue

Geoff Levand geoffrey.levand at am.sony.com
Sat Feb 14 06:03:05 EST 2009


On 02/13/2009 08:28 AM, Andrew Friedley wrote:
> I'm not sure if this is the best place for this; if I should go 
> somewhere else let me know.

There is a Linux USB ML with USB experts, but they don't know the
PS3 specifics:

  linux-usb at vger.kernel.org
  http://vger.kernel.org/majordomo-info.html

There is also an ALSA ML, which is usually helpful.

> I'm trying to do basic sound (guitar) recording using a PS3 and an Art 
> Tube MP USB preamp.  The preamp works fine for recording on Linux using 
> an x86 PC and tools like arecord/aplay.

x86 is little endian, 32 bit.
PS3 is big endian, 64 bit.

These differences often cause problems with audio drivers and apps.

If all bugs are fixed, then that device should work on PS3, as PS3
has standard EHCI/OHCI USB hardware.

> On the PS3, the preamp works perfectly using arecord the first time.

Just to confirm, you can record some sound successfully?

And you can record as long as you like the first time?

> The preamp is detected as a USB audio device:
> 
> input: Burr-Brown from TI               USB Audio CODEC  as 
> /devices/ps3_system/sb_05/usb1/1-2/1-2.1/1-2.1:1.3/input/input1
> input,hidraw0: USB HID v1.00 Device [Burr-Brown from TI 
> USB Audio CODEC ] on usb-sb_05-2.1

This does not say audio device, but HID.  Those words 'audio' are
just text that came from the device.

> Any time after that though, after a few seconds I get this error:

Is anything recorded, or just an error?
 
> $ arecord -D default:CARD=default -d 15 -f cd test3.wav
> ALSA lib pcm_direct.c:975:(snd1_pcm_direct_initialize_slave) unable to 
> install hw params
> ALSA lib pcm_dsnoop.c:604:(snd_pcm_dsnoop_open) unable to initialize slave
> arecord: main:590: audio open error: Input/output error
> 
> 
> dmesg shows the following:
> 
> usb 1-2.1: arecord timed out on ep0out len=0/0
> usb 1-2.1: arecord timed out on ep0out len=8/0
> ALSA sound/usb/usbaudio.c:1354: 3:2:1: usb_set_interface failed

This means the linux USB drivers can no longer talk to the device.

> When the initial arecord run (that works properly) returns, my USB 
> keyboard no longer works.

The keyboard uses the same driver as your device (HID).  What about
during the recording, does the kbd work?

It seems to be a problem in the linux drivers (just a guess).

What about non-HID devices, like a USB mass storage device, do they
work after the error?

The rest of the system still seems to 
> function fine; I can ssh in and do stuff (like running arecord again, 
> which results in the error above).
> 
> I get the same behavior with two kernels -- stock Fedora 10 2.6.27, and 
> a custom compiled 2.6.28.  

They both use about the same USB drivers.

> With my custom kernel, I went through and 
> enabled all of the USB and ALSA verbose/debugging options.  Would it be 
> useful to send the full dmesg log?

Yes, it is the only way forward I think.
Also, give the output for that device from 'lsusb -v'.

Can you put it on a server somewhere?  Otherwise, post it here.

> Is there a fix for this?  Is there any other information I can provide?

Yes, some how, some way, it can be fixed.  The problem is figuring out
what the exact probelm is.  I do not have that device to test with.

-Geoff




More information about the cbe-oss-dev mailing list