-
Notifications
You must be signed in to change notification settings - Fork 5.2k
RPi3b+ 5.4.51 - Cannot set Ethernet interface link to up state after it has been brought down #3939
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Maybe related: raspberrypi/firmware#1100 Try 'mii-tool -vv eth0' before bringing up the interface. |
I just tried again to confirm: The problem is not reproducible with the Feburary 2020 Rasbian release and kernel
(On a different note: Is there any documentation how this part of the kernel works and how to/where to enable kernel debug logs? I would be interested in fixing these kind of problems but the entry barrier seems quite high.) |
Here a (rather long) reproduction of the observations above on 5.4.51-v7+:
|
Although 'mii-tool -vv eth0' doesn't 'fix' this, it could still be the same underlying problem as in #1100. Look at the output of mii-tool when the link doesn't come up, i.e.:
The 3rd column in the last row of the PHY register dump shows 'a000' which means a link-change interrupt is pending but doesn't get serviced for some reason. Now in the case where the interface gets an IP:
That register value is now '0000' (which is the expected value), so no interrupt pending. Not sure if that unserviced interrupt is the cause for the interface not getting an IP or just a side-effect of some other problem but it sure looks fishy. I just realized that register 28 is different as well. In the 'bad' case its value is '8035' compared to 'a035' in the good case. That differing bit is 'MDI/MDI-X Crossover Indication'. Huh? |
A possible fix for this is in the current rpi-update kernel, which has just switched to rpi-5.10.y. |
I cannot reproduce this anymore with Linux -- 5.15.4-0-rpi4 #1-Alpine. So, fine for me to close. |
When I boot Raspberry OS (20th of August 2020) on my Raspberry PI 3B+ the Ethernet link is working fine. However, once the link has been brought "down" it is not possible to bring it up again. This is also reproducible with Alpine 3.12 32bit as well as 64bit. This was working before with the 4.x.x kernels on the same device.
The following list of commands shows the problem:
Further information:
The text was updated successfully, but these errors were encountered: