Content originally posted in LPCWare by matthias.heinz on Wed Dec 11 03:19:17 MST 2013
Hi,
well I am very interested in an answer, too. I've taken a deep look at the source code and there's a lot of work to do to support hubs. If I've understand the code correctly the connected device doesn't even get an address. Have a look at Host.c line 174, there's: USB_Host_SetDeviceAddress(USB_HOST_DEVICEADDRESS). Now have a look at what the function does. Nothing, exactly. It's against the USB spec, but if you're just using one device on the bus, you don't have to change the address from 0, because there's only one device on the bus.
There are a few todos in the code. Pipe freeze, unfreeze are just blank functions. Even the version.h is not maintained. It'd be great to hear when they're planing to release a version different to 0x000000.
If NXP would provide a git repository it would be easy to write patches and fix some of this flaws. But instead it's made very hard to get a grip on the programmers...