On Sat, 30 Oct 2010, Alan Stern wrote: > On Sat, 30 Oct 2010, Daniel Stöckner wrote: > > > Three periodic files are attached. "4+0" is 4 mono inputs simplex, "0+2" > > is stereo output simplex and "4+2" contains periodic (~100 milliseconds) > > copies from the periodic file, when starting the soundcard in "4+2" > > mode, which fails. Maybe it helps... > > Unfortunately these files don't contain very much information. I'll > have to write a patch for you to try in order to get more. > > But first, are you running with CONFIG_USB_DEBUG enabled? If not, you > should build a kernel with it turned on. Then the dmesg log for the > 4+2 case should contain some interesting debugging messages. Never mind, the logs you already posted were made with CONFIG_USB_DEBUG. Anyway I figured out the problem. It is a result of the sad fact that scheduling of periodic transfers to full-speed devices is less flexible on high-speed controllers than on full-speed controllers. Unfortunately your new computer doesn't have any full-speed controllers. The usbmon log shows that when you run the test, your program starts the 2-channel output stream first and then starts the 4-channel input stream. However once the output stream has been placed in the schedule, there isn't enough room left to add the input stream without rescheduling the output. Rescheduling is extremely difficult and the driver doesn't even try; it just gives up and says there isn't enough bandwidth remaining. If you can change your program so that it starts the input stream before the output stream, it ought to work better. Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html