Content originally posted in LPCWare by ECamino on Fri Aug 14 12:10:37 MST 2015
Hi,
I have a composite device that:
1. Enumerates on Windows XP every time.
2. Enumerates on ubuntu 14.7 LTS about 9/10 times.
3. Enumerates on an Android STB with USB host about 1/5 times.
I used a USB protocol analyzer to see what's going on. I see a lot of IN txn (STALL) during enumeration. The device is eventually suspended by the USB Host. The analyzer reports Time Out errors.
My device is a composite with a USB keyboard and Vendor Defined HID interface. When the device is enumerated, it works fine. This device is in production.
The ROM USB stack, once initialized and USB connect called, is it "idiot proof?" What could my code be doing so that my device won't enumerate every time on Linux and Android, but will on XP?
Thanks,
EC