Beaglebone Black - Connman not assigning IP address after reboot.


In few Beaglebone Black Ethernet boards I am using, I get a link local IP address (169.254.XXX.XXX) sometimes after reboot (about 1 out of 7 reboots). Ethernet cable is connected to the board always.

First thought it was PHY issue and posted a question here. Looks like it is not an issue. Noticed that only few boards run into this problem and all others getting proper eth0 IP even after 50+ reboots.

Looks like it is connman which is failing. Restarting connman or unplugging and connecting ethernet cable again is fixing it. Attaching the logs of success case and failure case.

  1. Success log
  2. Failure log

Is this really the connman? Is there a way to fix it?

I have seen that on a couple custom boards my company made. Did you try manually assigning an IP address using ifconfig? Then, try to ping something on that subnet. For me, that did not work. I did not have time to track down the real problem. I figure either the AM335x, the Ethernet phy or the magnetics. You can also check what the status of the phy is using ‘sudo mii-tool -v eth0’.