I have a K20 acting as a USB CDC device. Everything seemed to be working fine with it, until I tried connecting it to a Mac via an external USB hub. OSX (El Capitan) tries to enumerate the device but fails.
If I connect the device directly to a USB port on the Mac then everything works fine. But once I connect it to a hub, it no longer enumerates the device. I tried this will multiple hubs, connecting them to different USB ports on the MAC and it fails the same way each time.
This does not happen on a computer running Windows.
The error reported by OSX are:
6/20/16 5:39:25.000 PM kernel: 016417.677052 IOUSBHostDevice@fd340000: IOUSBHostDevice::start: device descriptor request completed with 0xe00002e8 and bytesTransferred 0
6/20/16 5:39:25.000 PM kernel: 016417.677259 AppleUSB20HubPort@fd340000: AppleUSB20HubPort::resetAndCreateDevice: failed to start device
6/20/16 5:39:25.000 PM kernel: 016417.677262 AppleUSB20HubPort@fd340000: AppleUSB20HubPort::resetAndCreateDevice: failed to create device (0xe00002e9), disabling port
6/20/16 5:39:25.000 PM kernel: 016417.677561 AppleUSB20HubPort@fd340000: AppleUSBHostPort::disconnect: persistent enumeration failures
I debugged the device and determined that the host requests the address to change, which it then does, and then it asks it for the first eight bytes of the device descriptor, which get sent. After that no more transaction between the host and the device occur.
Does anyone have any idea what might caught this strange activity?