Ethernet Issue with Ubuntu 18.04.5

I’m running the Rock Pi X headless on my robot and quite often when it reboots, it stalls trying to connect to Ethernet. Sometimes it continues on before I lose patience and try to reboot via the power button, but when it does, the Ethernet interface doesn’t get an IP address. I don’t know that this is a Rock Pi X issue, but all my other devices connected to the router do get addresses with no issues. I hooked a monitor up and was able to get a screenshot of where it hangs (and it does it consistently)

If I hook a keyboard up to it as well, and then do a soft reboot (sudo shutdown now) it reboots and grabs an IP address without an issue and never hangs/pauses.

Looks like you have issues with Wlan. If Ubuntu finds your Wlan and tries to get an IP (DHCP) it will usually wait for 01:30 and retry for 5 min and then give up, it may stop trying to acquire an IP from the Eth interface at this time. You can try a few things to mitigate the problem:

  • remove any reference to Wlan in your network config
  • assign a static IP to your Eth
  • recompile the kernel without Wlan/BT

Hooking a keyboard should make no difference, in your next reboot Ubuntu just tried first the Eth interface and not the Wlan interface.

The command:

    sudo shutdown -h now

Should not reboot the board, seems another issue.

Did yo update to the latest bios?

Ok, I’ll look into that (however its done)… I have no need for the wlan.

hooking up the keyboard just allowed me to type in the command and do the reboot (I obviously couldn’t do it from SSH because network was down). Hard resets using the power button always exhibit the same issue… so you could be correct in that a soft reboot makes it do something different.

I’m using the bios that came with the engineering sample. I’ll look to see if the update helps.

Doh… change log for the 8/21 bios specifically addresses this very problem. Sorry… updating now.

Well, the bios update didn’t make any difference. It always seemed to find the ethernet port so maybe that was a different issue. Going to a static-ip address lets me avoid that hangup, but still, after a cold-boot, the Ethernet networking is not working. I get destination host unreachable when I ping the router. I cannot find any error messages in the logs (from my limited skill at searching) and when I check status of the networking service, I get the same responses as I do after a soft reboot. :man_shrugging:

In the ARM world, you would record the complete shutdown and boot process via a TTL serial debug and analyze it later, maybe there is something similar on the X…? If you can see the kernel messages and the BIOS output message (if any) you could compare the messages from cold-boot vs warm-boot.

Not sure if its the kernel version fault but for my case (kernel 5.4.x) i had to use official firmware:
https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/brcm/brcmfmac43455-sdio.bin

and not the one recommended by Radxa:
https://dl.radxa.com/rockpix/drivers/firmware/AP6255_BT_WIFI_Firmware.zip

After reverting to official firmware i was able to get rid of “brcmfmac: HT Avail timeout” errors. It also made the wifi initialized properly and stable for me.

Perhaps this is your case as well. DHCP process hangs as it cannot initialize the wlan interface.

Please use official wifi firmware and report if it helped.

That’s the oddity… I’ve done everything I can to disable/remove the wlan from the system, including disabling it in the bios (from what I can tell). It never shows up when I look for network adapters. It’s odd that it would be why networking doesn’t work.

I looked at the status of systemd-networkd after a cold boot and after a warm-reboot and they are both identical… no errors. Yet I can’t ping the router after the cold boot but can on a warm-reboot.

I don’t know if I should be looking somewhere else.

If updating bios doesn’t work for you. It might be a hardware issue. Take a high resolution picture of both side of your board and we will check if some resistor are nc or soldered.

I’ll take some pictures tonight. I want to point out that (I mentioned this on my robot thread) that I had the same problem when trying to install Ubuntu… first time through install (from cold boot) the Ethernet didn’t work and I had to abort the install. It worked after I rebooted it (warm reboot). If it helps, when I extract it from the robot to take pictures, I can put the windows emmc back in and see if it experiences same issue.

Pictures are below. I tried to move the flash’s glare to unoccupied areas. I also swapped the Windows eMMC back in and it booted from cold without any Ethernet issue. So it seems to me to be more software with Ubuntu related. Has anyone else loaded 18.04.5? When I powered on the Rock Pi X after putting the Ubuntu eMMC back in, I went into the BIOS to change the boot order back to what it was. I then went ahead and did a Save and Quit and let it boot into Ubuntu and it had the same Ethernet problem. Doing a soft reboot fixed it, as it has in the past.

Edit: Sorry, I had the wrong version number of Ubuntu in my head. It’s 18.04.5 (I corrected the title and my reference in this message)

@Madgrizzle_Maslow, what do you have plugged into the header close to the USBC port?

That’s the battery for the rtc. Or at least I think it is.

Do I have it plugged into the wrong spot… looks to be another similar connector on other side. I haven’t been able to find a diagram that shows what is what.

Edit: Oh, well I managed to find one under GPIO. Looks like I plugged the battery into the external power key spot… eek.

not saying that was it… but test without the RTC batt. I had strange issues, because I did the same exact thing as you at first. @Jack, it might be nice to silkscreen these connectors as I can see this happening in the future, even if it is no issue, it would be nice to know where the RTC batt goes.

I did test it with the RTC in the correct location (no joy), but not with the RTC removed entirely. I can give it a shot tonight. Thanks for noticing that.

@irqisequalto, you’re running Ubuntu on yours, correct? If so, which version and do you use Ethernet problem or WiFi?

@Madgrizzle_Maslow, I’m using the Ethernet connection because I’m also using POE.

Our hardware engineer checked this picture, it seems everything is right. Can you double check the bios version in the bios menu?

I’m fairly sure I checked it after I installed it, but I’ll check again.

I’ll see if I can find time this weekend to reinstall the OS after I backup everything. I’m not confident that will make a difference because it failed to install (ethernet didn’t work) when I tried initially… only after restarting the installation process via a soft reboot did it install.

I might try 20.04 and if that works, go back and try 18.04 again. I’m not sure I can run the robot software on 20.04 (some models only work on specific versions of ubuntu).