USB Host Shield «USB state machine reached error state» issue

Hello!
I bought USB Host shield for experiments. But it looks like it's broken. Perhaps there are people who can help to understand this issue.

My environment:

  • Arduino USB Host Shield (3421EE Chip) (Photo High resolution)
  • Arduino UNO R3 ATMEGA16U2
  • USB Host Shield library 1.6.2 (github com /felis/USB_Host_Shield_2.0)
  • Arduino IDE 1.8.19

What's happening?
When I try to read any connected USB (flash drives, mouses, keyboards). I have some errors or nothing happening. USB Descriptor is null.

USB Host Shield, USB Host Shield CHIP, Arduino UNO, soldered 3.3V, 5V, 5V photos are available here: LINK MIX: 4 URLs are contained (can't share in topic due to forum rules for new users)

I open and upload default testing sketch board_qc.ino (examples/board_qc/board_qc.ino) and have this error in last step:

Result of port monitoring

Circuits At Home 2011
USB Host Shield Quality Control Routine
Reading REVISION register... Die revision 03
SPI long test. Transfers 1MB of data. Each dot is 64K................ SPI long test passed
GPIO test. Connect GPIN0 to GPOUT7, GPIN1 to GPOUT6, and so on
*Test failed. Value written: 00 Value read: FF *
Press any key to continue...
GPIO test passed.
PLL test. 100 chip resets will be performed
Resetting oscillator

Reset number 0 Time to stabilize - 332 cycles
Reset number 1 Time to stabilize - 332 cycles
Reset number 2 Time to stabilize - 332 cycles
Reset number 3 Time to stabilize - 332 cycles
Reset number 4 Time to stabilize - 333 cycles
Reset number 5 Time to stabilize - 332 cycles
Reset number 6 Time to stabilize - 332 cycles
Reset number 7 Time to stabilize - 332 cycles
Reset number 8 Time to stabilize - 332 cycles
Reset number 9 Time to stabilize - 332 cycles
Reset number 10 Time to stabilize - 332 cycles
Reset number 11 Time to stabilize - 332 cycles
Reset number 12 Time to stabilize - 332 cycles
Reset number 13 Time to stabilize - 332 cycles
Reset number 14 Time to stabilize - 333 cycles
Reset number 15 Time to stabilize - 333 cycles
Reset number 16 Time to stabilize - 333 cycles
Reset number 17 Time to stabilize - 333 cycles
Reset number 18 Time to stabilize - 333 cycles
Reset number 19 Time to stabilize - 333 cycles
Reset number 20 Time to stabilize - 332 cycles
Reset number 21 Time to stabilize - 332 cycles
Reset number 22 Time to stabilize - 332 cycles
Reset number 23 Time to stabilize - 333 cycles
Reset number 24 Time to stabilize - 332 cycles
Reset number 25 Time to stabilize - 333 cycles
Reset number 26 Time to stabilize - 332 cycles
Reset number 27 Time to stabilize - 332 cycles
Reset number 28 Time to stabilize - 333 cycles
Reset number 29 Time to stabilize - 332 cycles
Reset number 30 Time to stabilize - 333 cycles
Reset number 31 Time to stabilize - 333 cycles
Reset number 32 Time to stabilize - 333 cycles
Reset number 33 Time to stabilize - 333 cycles
Reset number 34 Time to stabilize - 333 cycles
Reset number 35 Time to stabilize - 332 cycles
Reset number 36 Time to stabilize - 332 cycles
Reset number 37 Time to stabilize - 332 cycles
Reset number 38 Time to stabilize - 333 cycles
Reset number 39 Time to stabilize - 332 cycles
Reset number 40 Time to stabilize - 332 cycles
Reset number 41 Time to stabilize - 332 cycles
Reset number 42 Time to stabilize - 332 cycles
Reset number 43 Time to stabilize - 333 cycles
Reset number 44 Time to stabilize - 333 cycles
Reset number 45 Time to stabilize - 333 cycles
Reset number 46 Time to stabilize - 333 cycles
Reset number 47 Time to stabilize - 333 cycles
Reset number 48 Time to stabilize - 333 cycles
Reset number 49 Time to stabilize - 333 cycles
Reset number 50 Time to stabilize - 332 cycles
Reset number 51 Time to stabilize - 333 cycles
Reset number 52 Time to stabilize - 333 cycles
Reset number 53 Time to stabilize - 332 cycles
Reset number 54 Time to stabilize - 332 cycles
Reset number 55 Time to stabilize - 332 cycles
Reset number 56 Time to stabilize - 332 cycles
Reset number 57 Time to stabilize - 332 cycles
Reset number 58 Time to stabilize - 333 cycles
Reset number 59 Time to stabilize - 333 cycles
Reset number 60 Time to stabilize - 333 cycles
Reset number 61 Time to stabilize - 334 cycles
Reset number 62 Time to stabilize - 333 cycles
Reset number 63 Time to stabilize - 333 cycles
Reset number 64 Time to stabilize - 332 cycles
Reset number 65 Time to stabilize - 332 cycles
Reset number 66 Time to stabilize - 332 cycles
Reset number 67 Time to stabilize - 333 cycles
Reset number 68 Time to stabilize - 332 cycles
Reset number 69 Time to stabilize - 332 cycles
Reset number 70 Time to stabilize - 332 cycles
Reset number 71 Time to stabilize - 332 cycles
Reset number 72 Time to stabilize - 332 cycles
Reset number 73 Time to stabilize - 332 cycles
Reset number 74 Time to stabilize - 333 cycles
Reset number 75 Time to stabilize - 333 cycles
Reset number 76 Time to stabilize - 333 cycles
Reset number 77 Time to stabilize - 333 cycles
Reset number 78 Time to stabilize - 333 cycles
Reset number 79 Time to stabilize - 332 cycles
Reset number 80 Time to stabilize - 332 cycles
Reset number 81 Time to stabilize - 332 cycles
Reset number 82 Time to stabilize - 333 cycles
Reset number 83 Time to stabilize - 332 cycles
Reset number 84 Time to stabilize - 332 cycles
Reset number 85 Time to stabilize - 332 cycles
Reset number 86 Time to stabilize - 332 cycles
Reset number 87 Time to stabilize - 333 cycles
Reset number 88 Time to stabilize - 333 cycles
Reset number 89 Time to stabilize - 333 cycles
Reset number 90 Time to stabilize - 333 cycles
Reset number 91 Time to stabilize - 334 cycles
Reset number 92 Time to stabilize - 333 cycles
Reset number 93 Time to stabilize - 333 cycles
Reset number 94 Time to stabilize - 332 cycles
Reset number 95 Time to stabilize - 332 cycles
Reset number 96 Time to stabilize - 333 cycles
Reset number 97 Time to stabilize - 333 cycles
Reset number 98 Time to stabilize - 332 cycles
Reset number 99 Time to stabilize - 332 cycles

Checking USB device communication.
Waiting for device...ize - 332 cycles
Reset number 99 Time to stabilize - 332 cycles

Checking USB device communication.
Waiting for device...
Reset complete. Waiting for the first SOF...
USB state machine reached error state
Waiting for device...
Reset complete. Waiting for the first SOF...
USB state machine reached error state
Waiting for device...

In general, I get the error:
USB state machine reached error state

P.S for experiments I soldered 3.3V, 5V, 5V. Maybe that's why nothing works?

I need to order a new one due hardware problems? I would be very grateful for any comment.

The soldering looks OK. There more solder than needed but I suspect this is only a cosmetic problem.

The serial monitor output looks OK. I would plug in a simple USB device such as a thumb drive, keyboard, or mouse. The test program should dump some information about the device such as vendor ID and product ID. Avoid gaming keyboards with lots of RGB LEDs. They can draw lots of current (100s of mA) so can cause power problems.

Ignore the GPIO test fail which is actually expected.

1 Like

Yes, I agree that the soldering could have been done more accurately. But this is my first time)

Tried a few simple devices (USB Flash Drive, Mouse, Keyboard and all devices work well in everyday life). Unfortunately I still get the same error. "USB state machine reached error state" Here is a small demo: https://youtu.be/2dSP6L5aYIk

Thank you for your attention to the problem, I appreciate it.

At the end of this message is what I see running board_qc with a thumb drive plugged in just for reference. Since the long SPI test passes, the Uno and USB host boards are definitely communicating. This means 3.3V is working because the USB host chip max3421 runs on 3.3V. Can you check using a multimeter that 5V is really on the USB host connector? Alternatively, if a USB optical mouse is plugged in the LED on the bottom should light up.

Another thing to try is to touch a soldering iron to the 5V pads (there are two) to melt the solder then let it cool again. This fixes cold solder joints.

I am not sure what else could be wrong.

Reset number 96 Time to stabilize - 332 cycles
Reset number 97 Time to stabilize - 332 cycles
Reset number 98 Time to stabilize - 333 cycles
Reset number 99 Time to stabilize - 333 cycles

Checking USB device communication.

Reset complete. Waiting for the first SOF...
Getting device descriptor
Descriptor Length:	12
Descriptor type:	01
USB version:		0210
Device class:		00
Device Subclass:	00
Device Protocol:	00
Max.packet size:	40
Vendor  ID:		0BDA
Product ID:		0306
Revision ID:		0117
Mfg.string index:	01
Prod.string index:	02
Serial number index:	03
Number of conf.:	01

All tests passed. Press RESET to restart test
1 Like

Soldered again 3.3V, 5V, 5V. (Photo)

Unfortunately, I don't have a multimeter yet, but I'm sure everything is fine with the power supply. Checked through the charging doctor. I get 5V on USB output and also the mouse bottom's led is lighting.

Power test photos

Unfortunately same result:

«USB state machine reached error state»

Thanks for the correct log, I hope I get one someday.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.