"OSC did not start" keeps showing up in the Serial Monitor

I'm currently having issues with an original Arduino Host Shield where the "OSC did not start" usually shows up whenever I try to use the shield. I have an Elegoo MEGA Arduino 2560 R3 and an Elegoo Arduino Uno R3 and have tried to connect the shield to both, but the error eventually pops up and persists the entire time. I powered both using a computer and am connecting a scanner to the shield. Is there something wrong with the shield or is it something else?

EDIT: I accidentally typed "OSC did not work" instead of "OSC did not start." Whoops.

post your code

Unplug the scanner. Inspect the shield for bent pins, etc.

Run the board_qc sketch included with the USB Host Shield 2.0 library. It might produce more information on what is failing. Post the serial console output.

blh64:
post your code

I'm currently using the stock code from the USBHIDBootKbd sketch (I didn't put it so I don't exceed the character count limit). Granted, the code I actually have is different, but this is also a case where the OSC does not reliably start. I ran this code for debugging purposes in place of my code, which displayed a similar frequency of errors. I don't know if it's because pressing the reset button is breaking the code, but I have no idea...

gdsports:
Unplug the scanner. Inspect the shield for bent pins, etc.

Run the board_qc sketch included with the USB Host Shield 2.0 library. It might produce more information on what is failing. Post the serial console output.

I've replugged the scanner and removed the shield. I don't see any bent pins, so it can't be that... I've ran the test and it gave me this the first time after uploading:

USB Host Shield Quality Control Routine
Reading REVISION register... Die revision 03
SPI long test. Transfers 1MB of data. Each dot is 64K
Test failed.  Value written: 01 read: 00
Unrecoverable error - test halted!!
0x55 pattern is transmitted via SPI
Press RESET to restart test

The second time (after reuploading the code), I got the following:

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 - 291 cycles

Reset number 1 Time to stabilize - 291 cycles

Reset number 2 Time to stabilize - 291 cycles

Reset number 3 Time to stabilize - 291 cycles

Reset number 4 Time to stabilize - 291 cycles

Reset number 5 Time to stabilize - 291 cycles

Reset number 6 Time to stabilize - 291 cycles

Reset number 7 Time to stabilize - 291 cycles

Reset number 8 Time to stabilize - 291 cycles

Reset number 9 Time to stabilize - 291 cycles

Reset number 10 Time to stabilize - 291 cycles

Reset number 11 Time to stabilize - 291 cycles

Reset number 12 Time to stabilize - 291 cycles

Reset number 13 Time to stabilize - 291 cycles

Reset number 14 Time to stabilize - 292 cycles

Reset number 15 Time to stabilize - 292 cycles

Reset number 16 Time to stabilize - 292 cycles

Reset number 17 Time to stabilize - 292 cycles

Reset number 18 Time to stabilize - 292 cycles

Reset number 19 Time to stabilize - 291 cycles

Reset number 20 Time to stabilize - 291 cycles

Reset number 21 Time to stabilize - 291 cycles

Reset number 22 Time to stabilize - 291 cycles

Reset number 23 Time to stabilize - 291 cycles

Reset number 24 Time to stabilize - 291 cycles

Reset number 25 Time to stabilize - 291 cycles

Reset number 26 Time to stabilize - 291 cycles

Reset number 27 Time to stabilize - 291 cycles

Reset number 28 Time to stabilize - 291 cycles

Reset number 29 Time to stabilize - 292 cycles

Reset number 30 Time to stabilize - 292 cycles

Reset number 31 Time to stabilize - 292 cycles

Reset number 32 Time to stabilize - 292 cycles

Reset number 33 Time to stabilize - 292 cycles

Reset number 34 Time to stabilize - 291 cycles

Reset number 35 Time to stabilize - 291 cycles

Reset number 36 Time to stabilize - 291 cycles

Reset number 37 Time to stabilize - 291 cycles

Reset number 38 Time to stabilize - 291 cycles

Reset number 39 Time to stabilize - 291 cycles

Reset number 40 Time to stabilize - 291 cycles

Reset number 41 Time to stabilize - 291 cycles

Reset number 42 Time to stabilize - 291 cycles

Reset number 43 Time to stabilize - 291 cycles

Reset number 44 Time to stabilize - 292 cycles

Reset number 45 Time to stabilize - 292 cycles

Reset number 46 Time to stabilize - 292 cycles

Reset number 47 Time to stabilize - 292 cycles

Reset number 48 Time to stabilize - 292 cycles

Reset number 49 Time to stabilize - 291 cycles

Reset number 50 Time to stabilize - 291 cycles

Reset number 51 Time to stabilize - 291 cycles

Reset number 52 Time to stabilize - 291 cycles

Reset number 53 Time to stabilize - 291 cycles

Reset number 54 Time to stabilize - 291 cycles

Reset number 55 Time to stabilize - 291 cycles

Reset number 56 Time to stabilize - 291 cycles

Reset number 57 Time to stabilize - 291 cycles

Reset number 58 Time to stabilize - 291 cycles

Reset number 59 Time to stabilize - 292 cycles

Reset number 60 Time to stabilize - 292 cycles

Reset number 61 Time to stabilize - 292 cycles

Reset number 62 Time to stabilize - 292 cycles

Reset number 63 Time to stabilize - 292 cycles

Reset number 64 Time to stabilize - 291 cycles

Reset number 65 Time to stabilize - 291 cycles

Reset number 66 Time to stabilize - 291 cycles

Reset number 67 Time to stabilize - 291 cycles

Reset number 68 Time to stabilize - 291 cycles

Reset number 69 Time to stabilize - 291 cycles

Reset number 70 Time to stabilize - 291 cycles

Reset number 71 Time to stabilize - 291 cycles

Reset number 72 Time to stabilize - 291 cycles

Reset number 73 Time to stabilize - 291 cycles

Reset number 74 Time to stabilize - 292 cycles

Reset number 75 Time to stabilize - 292 cycles

Reset number 76 Time to stabilize - 292 cycles

Reset number 77 Time to stabilize - 292 cycles

Reset number 78 Time to stabilize - 292 cycles

Reset number 79 Time to stabilize - 291 cycles

Reset number 80 Time to stabilize - 291 cycles

Reset number 81 Time to stabilize - 291 cycles

Reset number 82 Time to stabilize - 291 cycles

Reset number 83 Time to stabilize - 291 cycles

Reset number 84 Time to stabilize - 291 cycles

Reset number 85 Time to stabilize - 291 cycles

Reset number 86 Time to stabilize - 291 cycles

Reset number 87 Time to stabilize - 291 cycles

Reset number 88 Time to stabilize - 291 cycles

Reset number 89 Time to stabilize - 292 cycles

Reset number 90 Time to stabilize - 292 cycles

Reset number 91 Time to stabilize - 292 cycles

Reset number 92 Time to stabilize - 292 cycles

Reset number 93 Time to stabilize - 292 cycles

Reset number 94 Time to stabilize - 291 cycles

Reset number 95 Time to stabilize - 291 cycles

Reset number 96 Time to stabilize - 291 cycles

Reset number 97 Time to stabilize - 291 cycles

Reset number 98 Time to stabilize - 291 cycles

Reset number 99 Time to stabilize - 291 cycles

Checking USB device communication.

Reset complete. Waiting for the first SOF...
Getting device descriptor
Descriptor Length:	12
Descriptor type:	01
USB version:		0110
Device class:		00
Device Subclass:	00
Device Protocol:	00
Max.packet size:	08
Vendor  ID:		05FE
Product ID:		1010
Revision ID:		0001
Mfg.string index:	01
Prod.string index:	02
Serial number index:	00
Number of conf.:	01

All tests passed. Press RESET to restart test

From a website that I found regarding this, the comment section had this second result and a person replied that it's normal (indeed, it worked after this test). However, what isn't is that this result doesn't happen all the time. It's as if the code becomes broken at some points in time. I don't want the OSC problem to happen whenever I start up the Arduino with the shield and want to fix it so that I don't receive an "OSC did not start" error anymore.

Hello! I have the same problem with the shield and the arduino one, when loading the PS3BT sketch I get the OSC message did not start..I searched for information and found that the problem could be that VBUS is not well fed, but check and receives the voltage it needs

Does not my USB shield burn or something?
Someone could help me, please

probe load the boar_qc and you see this message

Circuits At Home 2011
USB Host Shield Quality Control Routine
Reading REVISION register... Die revision invalid. Value returned: 00
Unrecoverable error - test halted!!
0x55 pattern is transmitted via SPI
Press RESET to restart test

Could you help me understand, please?
my shield died?

I came across “OSC did not start.” message.

I tried assert reset pin in setup() before access MAX3421E.

pinMode( 7, OUTPUT); // MAX3421E RESET pin
digitalWrite(7, 1); digitalWrite(7, 0); delay(10); digitalWrite(7, 1); // reset

I do not know it works in any case, but now my board seems to be in a good mood.

Unfortunately, The above reset fix, did not work for me :confused:
Update: Changed from Due to ProMini 8MHz 3V3 and it works!
I could always read, “Die revision 03” and the Mini didn’t work immediately.

Maybe there is something with ebaera’s reset suggestion above.

Update_2: With the MAX IC’s RESET connected to the Arduino’s (Pro Mini 8Mhz 3V3) RESET, it seems to work well; no need for dedicated GPIO :slight_smile:


Note: It is ProMini shield compatible, so some of the markings are wrong. Should be SS, MOSI, MISO, SCK.
Note: This ProMini shield runs the USB-A port at 3V3! It isn’t too difficult to change that, by cutting the 3V3 track between the USB-A port and the via (in the image), and providing it 5V (see attached).

It sounds like some unassigned pin may be floating, or I2C (if used) doesn't have the pullup resistors connected.
Check your code and wiring against the examples that 'work'