Jelle de Jong wrote:
Hello everybody,
I have been testing several scenarios to find some glues why some usb audio devices did not fully work and gave stuttering sounds I found the following:
usb devices define a max power attribute during there enumeration process. I have some usb devices that have this at 500mA and some that have this on 100mA.
I also have some usb hubs that have external extra power supply and some that are only a hub with bus power.
Here it comes:
Make sure the 4 port usb hub is full with for example:
usb keyboard (100mA)
usb mouse (100mA)
usb audio (100mA or 500mA)
usb stick (200mA/500mA)
usb hub with external power (500mA MaxPower) (AC adapter delivers 1A)
usb hub without external power (100mA MaxPower)
Make sure to use audio with several tones low tones (most dvds will do)
When connecting a 100mA usb audio devices on a hub with external power it will give stuttering sound!! (most usb audo devices are 100mA and most hubs are external powered due to more then one usb stick)
When connecting a 500mA usb audio device on a hub with external power it will work perfectly.
When connecting a 100mA or a 500mA usb audio device on a hub without external power it will work perfectly.
I have the idea there is something wrong with the power distribution system when using external powered usb hubs...
Any ideas how to correctly address this problem/bug?
Best regards,
Jelle
I did some more debugging, it think the 100mA/500mA behavior is just an effect of the real problem the usb isochronous audio bandwidth under Linux is doing some things that make usb audio not working very well.
I wanted to be able to use 4 usb audio device on one usb at the same time. using a powered usb hub this gives shuttering sound. What are the max usb bandwidth limits on Linux?
I also found out that the only what that all usb audio device work is to connected them directly without any hub between them. This takes up a lot of resources.
Would somebody have to possibility to take a good look at the usb audio issues with multiple devices and isochronous transfers?
Thank in advance,
Jelle