On 19 Dec 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.  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           
>                                                
> 
> (I've cleaned the messages up a bit from what shows on the console,
> the second "cannot submit [...]" typically lands in the middle of the
> "output: ioctl [...]" message).
> 
> With gpsd running (opening /dev/ttyUSB0), with "cat < /dev/event0 > 
> /dev/null", 
> then "/usr/bin/madplay -Q -a -10 --no-tty-control random.mp3" seems to
> screw me.  Without the /dev/event0 open, I don't have the problem.  
> 
> Am I screwed, or is there something I can tweak?

You can try replacing your hub.  Some USB 2.0 hubs have greater
bandwidth capacity for full-speed devices than yours (they have
separate Transaction Translators for each port).

Or you can try plugging some of those full-speed devices directly into
the computer rather than into the hub.  The storage device doesn't
matter, but the gps, audio, and mouse devices are all sharing the hub's
bandwidth.

Alan Stern

-
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

Reply via email to