Eth0 no link Problem

If i remove and reconnect the network cable from eth0 (the 100mbit interface) the link will never come back and i need to reboot the RockPI. Same with mii-tools.

Any hint to solve this?

Steps to reproduce with mii-tools:

mii-tool eth0
eth0: negotiated 1000baseT-HD flow-control, link ok

mii-tool -R eth0
resetting the transceiver…

mii-tool eth0
eth0: no link

mii-tool -r eth0
restarting autonegotiation…

mii-tool eth0
eth0: no link

@androidtester which distro you’re using?

the latest Debian Version 10.5 from the download side

@androidtester I don’t seem to have any issues with eth0 on the latest debian 10.

Here is the dmesg (manual unplugging):

for eth0 (100M)

[   42.437893] rk_gmac-dwmac ff550000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
[   42.439373] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   50.455559] rk_gmac-dwmac ff550000.ethernet eth0: Link is Down
[   53.461839] rk_gmac-dwmac ff550000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
[   58.473555] rk_gmac-dwmac ff550000.ethernet eth0: Link is Down

for eth1 (1000M)

[  110.695757] rk_gmac-dwmac ff540000.ethernet eth1: Link is Up - 1Gbps/Full - flow control rx/tx
[  115.705679] rk_gmac-dwmac ff540000.ethernet eth1: Link is Down
[  118.713761] rk_gmac-dwmac ff540000.ethernet eth1: Link is Up - 1Gbps/Full - flow control rx/tx
[  124.727734] rk_gmac-dwmac ff540000.ethernet eth1: Link is Down

Reproducing with mii-tool

rock@rockpie:~$ sudo mii-tool eth0
eth0: negotiated 1000baseT-HD flow-control, link ok

rock@rockpie:~$ sudo mii-tool -R eth0
resetting the transceiver...

rock@rockpie:~$ sudo mii-tool eth0
eth0: negotiated 1000baseT-HD flow-control, link ok

after restarting autonegotiation

rock@rockpie:~$ sudo mii-tool -r eth0
restarting autonegotiation...
rock@rockpie:~$ [  737.977615] rk_gmac-dwmac ff550000.ethernet eth0: Link is Down
[  739.981869] rk_gmac-dwmac ff550000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx

rock@rockpie:~$ sudo mii-tool eth0
eth0: negotiated 1000baseT-HD flow-control, link ok
2 Likes

I have tried that but failed to reproduce it according to your steps. What else operation have you done on ROCK Pi E?

The 100mbit Port is connected to another 3rd party device with network capabilities and this device turns off/on the Ethernet port sometimes. I think i need to test a little bit more what happens.
Before i switched to the RockPiE i used a RockPiS with an external USB-Network-Stick without problems.

My ROCK Pi E is connected to TP-LINK router. What is your network device?

It’s connected to another device (inverter).

@androidtester this has to be an issue with the network equipment you’re connecting to.

Try manually plugging and unplugging the network cable from eth0 and post the kernel log (dmesg)

[ 12.397744] rk_gmac-dwmac ff550000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
[ 12.402269] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 14.413752] rk_gmac-dwmac ff540000.ethernet eth1: Link is Up - 1Gbps/Full - flow control rx/tx
[ 14.939802] Netfilter messages via NETLINK v0.30.
[ 14.985509] device eth0 entered promiscuous mode
[ 68.516674] rk_gmac-dwmac ff550000.ethernet eth0: Link is Down

that’s all, no message after plug the cable

I have made more tests:

  1. if i plug the inverter into the Gbit Port the link is okay

  2. if i plug the Mbit Port into an Windows PC the link is okay

  3. if i plug the MBit Port into an Switch the link is okay

It would be interesting to see what happens if we connect 2 RockPiE Mbit ports together.

It currently wonder me why i need to reboot the device to get a working link, it seems the initialization is different on a reboot and unplugging/plug the cable.

Okay, i tried another RockPiE and don’t saw the problems, my main problem was a defective power cable connector. :flushed:

@androidtester If your issue is resolved, you can marked the post as the solution.

Refer to this image:
image

After testing different network cables, power cables and supplies i can say eth0 is not working properly. I switched the network connections and now a network switch is connected to eth0 and the device is connected to eth1 and it works for now. eth1 has no problems if the device reconnect the network and find the link without problems.