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!