-
Notifications
You must be signed in to change notification settings - Fork 5.1k
net: bcmgenet: Workaround for Pi 4B network issue #3121
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
Conversation
With this patch applied, a "bad" Pi 4B connected to a "bad" switch successfully received a DHCP IP address and rebooted all night. The only known downside is that it also delays the point at which a "good" pairing gets an IP address by a few seconds. For users and applications wishing to minimise the boot time, I've added a module parameter ( |
Can you please make the workaround opt-in? On managed switches negotiation can take quite some time - eg on my HP 1810-24G it takes about 5 seconds (some Ciscos are said to take even a lot longer) - and this means not only bootup time but also the chance of running into a timeout will increase. For example in LibreELEC we use a default timeout of 10 seconds to wait before the network is up. With current 4.19 kernel this works fine and still had a lot of slack, even with my HP switch. But if the time to bring the network up is increased I (and users) will need to increase the default timeout (yes, it can be done from the GUI, but it's not nice). Here's are some timing outputs from raspbian lite, Raspbian kernel 4.19.58 vs current 4.19.63 plus this PR
|
It's a question of getting the workaround deployed and tested as quickly as possible. As long as it is opt-in we're unlikely to get much in the way of feedback, but if opt-out causes an increase in problem reports then we can easily change the default. Any thoughts, @popcornmix? |
I understand that you'd like to fix the issue, but as the (hopefully temporary) workaround causes a regression it should not be on by default. With opt-in the few affected users have a chance to use their RPis until the core issue has been found and fixed. |
Some combinations of Pi 4Bs and Ethernet switches don't reliably get a DCHP-assigned IP address, leaving the unit with a self=assigned 169.254 address. Forcing renegotiation has been found to be an effective workaround, so add an automatic renegotiation after the link comes up for the first time; enable it with genet.force_reneg=y - by default it is disabled. See: raspberrypi#3108 Signed-off-by: Phil Elwell <[email protected]>
Alright - the default is now disabled. |
Can the same problem occur again on the Raspberry Pi 5? |
No. The ethernet hardware on Pi5 is totally different (part of RP1 rather than the main SoC). |
Some combinations of Pi 4Bs and Ethernet switches don't reliably get a
DCHP-assigned IP address, leaving the unit with a self=assigned 169.254
address.
Forcing renegotiation has been found to be an effective workaround, so
add an automatic renegotiation after the link comes up for the first
time.
See: #3108
Signed-off-by: Phil Elwell [email protected]