Hi Felipe, a USB soundcard in fullspeed mode works correctly when directly connected to a musb OTG port in host mode on an AM335x SoC, but produces garbled audio output when connected via a hub. usbmon shows that in both cases URBs with typically 5 isoc frames of 192 bytes length are queued. The wMaxPacketSize of the endpoint is 196 bytes. A USB analyzer connected via musb and hub revealed that musb breaks the 192 byte frames into two parts, one 188 byte and one 4 byte frame, ie. a 192 byte OUT transaction produces the following token sequence: SPLIT OUT DATA0 188 bytes SPLIT OUT DATA0 4 bytes The test was done using a 3.18.4 kernel. I reviewed the relevant code in musb_core.c, musb_host.c and musb_cppi41.c, and added a few debug prints, but did not find anything wrong. Since the SPLIT transaction is handled by hardware, I'm currently thinking this might be a hardware issue. Do you have any ideas? Any possible workaround in case it is a hardware issue? BTW, I have some difficulties matching the register details in the AM335x Sitara Processors Technical Reference Manual to the musb source code. Is there any better documentation for the USB hardware available? http://www.ti.com/product/AM3359/technicaldocuments#doctype6 Thanks, Johannes -- 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