To semi-answer my own question, I was able to make progress by doing a <br><br>modprobe -r ehci-hcd<br><br>I now get 4 channels in while using the ohci_hcd driver. It seems like it's a bug using USB 1.1 devices with the ehci-hcd in
2.6.16.<br><br>Jim Steed<br><br><div><span class="gmail_quote">On 3/26/07, <b class="gmail_sendername">Jim Steed</b> <<a href="mailto:jsteed@gedae.com">jsteed@gedae.com</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
One more note. I didn't install real time kernel patches to my 2.6.16<br>kernel. Would not using the real time patches affect the bandwidth<br>problem from this "cannot submit datapipe" error?<br><br>I am able to arecord channels 1 & 2 or channels 3 & 4 but any command
<br>to get all 4 causes this weird error. Should I just give up on the<br>Quattro?<br><br>Thanks,<br>Jim<br><br>On 3/24/07, Jim Steed <<a href="mailto:jsteed@gedae.com">jsteed@gedae.com</a>> wrote:<br>> More info from my arecord with MAudio Quattro problem...
<br>><br>> Checking dmesg I get an error that says<br>><br>> cannot submit datapipe for urb 0, err = -28<br>><br>> I found through google that this means the USB bandwidth has been<br>> exceeded. I checked and CONFIG_USB_BANDWIDTH is not set in my kernel
<br>> configuration. I tried rebuilding with it explicitly set to no and I<br>> still get the -28 error.<br>><br>> Anyone have any recommendations for getting around this?<br>><br>> Thanks,<br>> Jim<br>
><br>> On 3/23/07, Jim Steed <<a href="mailto:jsteed@gedae.com">jsteed@gedae.com</a>> wrote:<br>> > I'm trying to use all 4 input channels on a MAudio Quattro on Fedora<br>> > Core 5 running on a Playstation 3 (PPC build of the kernel with some
<br>> > stuff stripped out).<br>> ><br>> > The final app will just use open() and read() to process the data<br>> > directly. In that application it looks like I get 2 copies of the<br>> > first 2 channels. I get Channel 0 replicated in Channel 2 with
<br>> > exactly the same values, and Channel 1 replicated in Channel 3.<br>> > (Recording 16 bit at 44.1kHz)<br>> ><br>> > I followed the directions in<br>> > <a href="http://wiki.linuxquestions.org/wiki/M-Audio_Quattro">
http://wiki.linuxquestions.org/wiki/M-Audio_Quattro</a> to setup<br>> > .asoundrc. I am trying to debug using just arecord but I can't get it<br>> > to do anything<br>> ><br>> > arecord -r 44100 -c 4 -f s16_le -D q4 -d 5
test4.wav<br>> ><br>> > gives me<br>> ><br>> > arecord: xrun:1082: read/write error, state = PREPARED<br>> ><br>> > Any help would be appreciated.<br>> ><br>> > Thanks,<br>> > Jim Steed
<br>> ><br>> > Here is the relevant part of /proc/bus/usb/devices:<br>> ><br>> > T: Bus=01 Lev=02 Prnt=02 Port=01 Cnt=02 Dev#= 4 Spd=12 MxCh= 0<br>> > D: Ver= 1.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
<br>> > P: Vendor=0763 ProdID=2001 Rev= 1.05<br>> > S: Manufacturer=M Audio<br>> > S: Product=USB Audio Quattro<br>> > C:* #Ifs=10 Cfg#= 1 Atr=40 MxPwr= 0mA<br>> > I: If#= 0 Alt= 0 #EPs= 0 Cls=01(audio) Sub=01 Prot=00 Driver=snd-usb-audio
<br>> > I: If#= 1 Alt= 0 #EPs= 0 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio<br>> > I: If#= 1 Alt= 4 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio<br>> > E: Ad=03(O) Atr=09(Isoc) MxPS= 192 Ivl=1ms
<br>> > I: If#= 2 Alt= 0 #EPs= 0 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio<br>> > I: If#= 2 Alt= 4 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio<br>> > E: Ad=85(I) Atr=0d(Isoc) MxPS= 192 Ivl=1ms
<br>> > I: If#= 3 Alt= 0 #EPs= 0 Cls=01(audio) Sub=01 Prot=00 Driver=snd-usb-audio<br>> > I: If#= 4 Alt= 0 #EPs= 0 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio<br>> > I: If#= 4 Alt= 1 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio
<br>> > E: Ad=03(O) Atr=09(Isoc) MxPS= 576 Ivl=1ms<br>> > I: If#= 4 Alt= 3 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio<br>> > E: Ad=03(O) Atr=09(Isoc) MxPS= 288 Ivl=1ms<br>> > I: If#= 4 Alt= 4 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio
<br>> > E: Ad=03(O) Atr=09(Isoc) MxPS= 192 Ivl=1ms<br>> > I: If#= 5 Alt= 0 #EPs= 0 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio<br>> > I: If#= 5 Alt= 1 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio
<br>> > E: Ad=85(I) Atr=0d(Isoc) MxPS= 576 Ivl=1ms<br>> > I: If#= 5 Alt= 3 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio<br>> > E: Ad=85(I) Atr=0d(Isoc) MxPS= 288 Ivl=1ms<br>> > I: If#= 5 Alt= 4 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio
<br>> > E: Ad=85(I) Atr=0d(Isoc) MxPS= 192 Ivl=1ms<br>> > I: If#= 6 Alt= 0 #EPs= 0 Cls=01(audio) Sub=01 Prot=00 Driver=snd-usb-audio<br>> > I: If#= 7 Alt= 0 #EPs= 0 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio
<br>> > I: If#= 7 Alt= 1 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio<br>> > E: Ad=04(O) Atr=09(Isoc) MxPS= 576 Ivl=1ms<br>> > I: If#= 7 Alt= 3 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio
<br>> > E: Ad=04(O) Atr=09(Isoc) MxPS= 288 Ivl=1ms<br>> > I: If#= 7 Alt= 4 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio<br>> > E: Ad=04(O) Atr=09(Isoc) MxPS= 192 Ivl=1ms<br>> > I: If#= 8 Alt= 0 #EPs= 0 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio
<br>> > I: If#= 8 Alt= 1 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio<br>> > E: Ad=86(I) Atr=0d(Isoc) MxPS= 576 Ivl=1ms<br>> > I: If#= 8 Alt= 3 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio
<br>> > E: Ad=86(I) Atr=0d(Isoc) MxPS= 288 Ivl=1ms<br>> > I: If#= 8 Alt= 4 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio<br>> > E: Ad=86(I) Atr=0d(Isoc) MxPS= 192 Ivl=1ms<br>> > I: If#= 9 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=snd-usb-audio
<br>> > E: Ad=81(I) Atr=03(Int.) MxPS= 32 Ivl=1ms<br>> > E: Ad=82(I) Atr=02(Bulk) MxPS= 32 Ivl=0ms<br>> > E: Ad=02(O) Atr=02(Bulk) MxPS= 32 Ivl=0ms<br>> ><br>><br></blockquote></div><br>