On Wednesday 19 December 2007, Russell Senior wrote: > > I have an application on an embedded device. It was all happily > working with a usb-storage device, a pl2303-based gps device and a > usb-audio device plugged into a usb2 hub.
By which you evidently mean "high speed hub". Full speed hubs are also specified by the USB 2.0 spec. :) > Now I've added a usb mouse > and when I open the associated /dev/event0, I start seeing the > messages below when I try to play audio to the usb-audio device. > > cannot submit datapipe for urb 0, error -28: not enough bandwidth > output: ioctl(SNDCTL_DSP_SYNC): Broken pipe > cannot submit datapipe for urb 0, error -28: not enough bandwidth > cannot submit datapipe for urb 0, error -28: not enough bandwidth > output: ioctl(SNDCTL_DSP_SYNC): Broken pipe > cannot submit datapipe for urb 0, error -28: not enough bandwidth There are issues with scheduling full speed periodic transfers, used by your usb-audio and mouse devices, on high speed busses. This *could* be a false failure, amenable to a patch[1]; or just a limitation in the current scheduler (see later). The very simplest solution is for you to hook one or both of those two devices up to a full speeed root hub ... your "lspci" showed you have OHCI available. An alternate solution is to use hubs that are easier for the software to cope with: ones with a "transaction translator" on each port, instead of one for the whole hub. Your Genesys hub is the "one for the whole hub" kind. After that, it gets into software options and fixes, which are less straightforward. The "Improved Transaction Translator Scheduling" Kconfig option (CONFIG_USB_EHCI_TT_NEWSCHED) is supposed to help with this specific situation ... but maybe it won't do the job for you. (And there seem to be a few cases where it's not as correct as the original scheduler...) Toggle that option and see if it helps. Following that would be code fixes to remove some limitations in how the TT scheduler now works. Not for the faint of heart, unfortunately, since the USB and EHCI specs have ensured that periodic schedules will never again be straightforward. - Dave [1] http://marc.info/?l=linux-usb&m=119969573929340&w=2 - To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html