LED Diagnostics

robertfisk edited this page Nov 10, 2017 · 5 revisions

Hardware configuration

Each USG has two indicator LEDs. The colour and position of these LEDs varies between versions.

USG v0.9: Each Olimex development board has a green ‘Status’ LED near the USB connector.

USG v1.0: Both LEDs are positioned beside the USB socket. The downstream LED is yellow, and the upstream LED is red.

Normal Operation

You should see both LEDs flash briefly when you apply power to the USG. Under normal operation they will not turn on at any other time.

Error Conditions

Each microcontroller (MCU) controls one fault LED, and a problem may occur with either or both of them. Find the problem with the help of this handy troubleshooting chart.

LED doing this… …means this Try this fix:
One or both LEDs fail to blink when USG powered on No power, unprogrammed MCU, or faulty hardware Check your host has power. The corresponding MCU may be unprogrammed, or the circuit board may be faulty.
One or both LEDs stays lit when USG powered on Incorrect firmware version Firmware designed for a different USG hardware revision is loaded into the MCU, so check you are building from the correct Git branch. This can also be caused by loading Upstream’s firmware into the Downstream MCU, or vice versa.
One or both LEDs flash quickly (5Hz) when USG powered on FREAKOUT self-protection mechanism is triggered at bootup Firmware is damaged or buggy, or inter-MCU SPI link is damaged causing a failed self-test
One or both LEDs flash quickly (5Hz) while a USB device is attached FREAKOUT self-protection mechanism is triggered at runtime You may have a Bad USB device, but you are more likely to have found a bug in the USG firmware. Open a github issue and describe your problem!
Downstream LED (yellow on v1.0) flashes slowly (1Hz) when a USB device is attached Unsupported device class, or weird device configuration The USG doesn’t support this device right now. You can open an feature-request issue, and if enough people request something it may eventually be implemented :)
Upstream LED (red on v1.0) double-flashes slowly (1Hz) HID bot-detect function is triggered The inputs coming from the attached keyboard or mouse are not random enough, so the USG blocked it (temporarily or permanently). If you were using the keyboard or mouse at the time, try making your input actions less regular. If you weren’t using the keyboard or mouse at the time, you probably have a Bad input device!