USB - xact error

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

USB - xact error

2,994 Views
renatochinelatt
Contributor II

I'm working on a custom board with an LPC1833 ARM and an SMSC HUB. This board accepts the connection of up to 6 peripherals. In ARM, it is configured USB0 as host and USB1 as device, using lib lpcusblib. I use USB1 for communication with PC (CDC) and USB0 for communication with peripherals (one peripheral at a time). Basically, when I connect a peripheral to the board, I use USB0 to get the descriptor and then switch it to the HUB. I tested it with several peripherals and they all work perfectly, except in a specific case, connecting a fingerprint and an NFC. In that case, when I'm getting the NFC descriptor, the USBD_STATUS_XACT_ERROR error is returned on the PC (analyzing USB1 over USBlyzer). From that moment, USB1 can no longer respond to the PC. I tested connecting other ARM peripherals with CDC communication on this board and they also no longer respond to the PC.

A few more comments:
- The problem always occurs connecting the fingerprint and then the NFC. If you connect the NFC and then the fingerprint, the problem does not occur.
- I tested on Windows XP, 7 and 10. The problem only occurs in Windows 7.
- If I replace the fingerprint with another manufacturer or with a webcam, the problem occurs.
- if I put the fingerprint and the NFC in another generic HUB, it works normally.
- changing my code to connect the devices directly in the HUB (without taking the descriptor through USB0), the problem does not occur.
- changing my application to connect the NFC direct with the HUB (without taking the descriptor through USB0), the problem does not occur.
- Changing my code to connect the direct fingerprint with the HUB (without taking the descriptor through USB0), the problem occurs.

Does anyone have any ideas?

2 Replies

1,929 Views
renatochinelatt
Contributor II

Hi Carlos,

Thank´s por replying. 

Exact. After communication with USB0, I have a hardware switch that directs the device to the HUB.
We are providing a USB analyzer to verify exactly what´s happening, but I have already found some clue of this problem. I was using separate board and NFC power supplies from the PC. I put their power with the PC and started to no longer present the problem.
About the HUB SMSC, I researched and not anything reported on this type of problem.

1,929 Views
Carlos_Mendoza
NXP Employee
NXP Employee

Hi Renato,

I'm not sure I understand how are you connecting the HUB since the nxpUSBlib does not support this class, it seems like you are using some kind of hardware switch to move the devices from the USB0 to the HUB?

There should not be any problem with the USB1 if it is correctly isolated from the USB0, unless the USB0 is causing a blocking condition that prevents the core from attending the USB1. You mention that when using a generic HUB the issue is not present, could this mean a problem with the SMSC HUB? are there any known issues with this HUB?

Best Regards!
Carlos Mendoza
Technical Support Engineer

0 Kudos