Skip to content
View in the app

A better way to browse. Learn more.

Armbian Community Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

no-link on ethernet on initial powerup with rockchip-next + tinkerboard

Featured Replies

Hello,

 

I am using the armbian kernel+uboot patchset of the rockchip-next (4.14.x) part to support Tinkerboard+TinkerboardS in an own home automation environment. U-Boot 2018.05 and kernel 4.14.53 are working fine so far with the current patchset published on GitHub (thanks for this great work!). However, the only issue I am still having is, that the ethernet port always comes up with "no-link" on the intial powerup of the Tinkerboard. As soon as I software reboot it after the initial powerup the ethernet port perfectly comes up with a link and I am able to setup all IP data, etc. But as soon as I completely power down the system and replug the power-cable it again comes up with "no link" and it requires another software reboot to recover with the ethernet reporting a link and being able to setup it accordingly. 

 

Does the same happen with Armbian and rockchip-next and might there be a patch or explanation for the issue or any hint in how I can workaround the issue until the root is identified and fixed?

 

Any help is highly appreciated...

13 minutes ago, jmaus said:

Does the same happen with Armbian and rockchip-next and might there be a patch or explanation for the issue or any hint in how I can workaround the issue until the root is identified and fixed?


I haven't noticed this problem. Without digging in, I can't tell and I will not be digging in soon due to "out of office". Try to use stock u-boot (or our older ones) if that changes anything otherwise a small and stupid bash startup script can serve as a workaround until we fix this. 

  • Author

I actually analysed the issue once more and found out that the issue actually seems to be related to the way I am bringing up network interfaces in the buildroot-based system I am using. Here I have an init.d based startup script (S40network) which first brings up the network interface via `ip link set eth0 up`, then waits 5 seconds and then performs a check if /sys/class/net/eth0/carrier changed to the value 1 or if it is still 0 and then stops initialisation for a certain network device and continues with the other ones (see here for the network startup script I am using). This was actually working perfectly fine for all RaspberryPis I am supporting and was also not a problem with the rockchip-default version of the patches (kernel 4.4.x). However, something must have changed in kernel 4.14.x or rockchip-next because these 5 seconds seem to be not enough anymore if a Tinkerboard is powerup up for the first time. And for every reboot from then it seems to be enough again. Nevertheless I was able to workaround the issue by simply setting the delay to 10 seconds. In fact, for the final version I changed my network startup script to use while loop to check for the carrier in regular intervals (2 seconds) and up to a maximum time of 12 seconds. Still the question remains why the ethernet device takes more than 5 seconds until the network link settled while after a reboot this seem to take under 5 seconds again?!? And why didn't the issue manifest itself with rockchip-default (kernel 4.4.x)?!?

Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.