I'm using the ROM-API for LPC4350 to transfer huge amount of data from device to host (IN endpoint) while using USB bulk mode.
The problem is many missing ACK from host to device which leads to many retransmissions because of device is resending packet without DATA0/1 toggle. Viewing the USB transmission using the Beagle USB analyzer the ACKs are transmitted in a correct way.
This missing ACKs will only happen if using the device connected to host onboard chipset usb 2.0 controller which do have onboard USB hub.
Using the device connected to separate PCIe USB 3.0 contoller from ASUS or using the onboard Intel USB 3.0 controller there are no missing ACKs.
Is there a further problem concerning the errata sheet 3.16 USB.1 "USB0 unable to communicate with low-speed USB
peripheral in host mode when using full-speed hub"?
Furthermore I've found out, using a USB 2.0 Hub (no special one) between the Intel USB 2.0 controller having the issue and the LPC4350 device, there are no problems anymore.
Hi Sebastian,
You can confirm if the problem is being caused by the errata by connecting the device and hub separately and using the USB analyzer to confirm if they are being detected as a Full-Speed HUB and a Low-Speed device which is the case of the Errata:
Hope it helps!
Best Regards,
Carlos Mendoza
Technical Support Engineer
Hi Carlos,
unfortunately the problem also occurs without using a Full-speed HUB. Therefore my problem not directly caused by errata 3.16 USB.
This is the configuration I'm using where the problem occurs:
The USB-Hub (Port 1) is onboard and the USB-Device (red border) is the NXP4350 controller connected like this:
I figured out connecting the device like this:
Then the problem with the missing ACKs dosn't exists
best regards
Sebastian Vinzenz