Sometimes the Ethernet port on a Beagle Bone Black does not work on power up. There is a design issue in the BBB that causes the Ethernet PHY chip to sometimes power up in an undefined state where it can not make a valid link. Currently, the only fix is either a physical reset button press or a power cycle. But what if you don’t want to do that or you don’t have access to the BBB in question? Well, lucky for you josh.com wrote up a great guide on a reliable software method to detect what state the board is in on power-up.
Install this package on your BBB and it will always have a working Ethernet port when it powers up – although it might take a couple of minutes and a few automatic power cycles.
The fix relies on an undocumented bit in a status register – if this bit is 1, the Ethernet connection is not working, 0 when it is OK. Sneaky but… it works!
Have you ever found a sneaky fix for a hardware issue, maybe an undocumented register or command? Post in the comments to share the glory!
Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.