rpi3 latest update broke ethernet?

This forum is for topics dealing with problems with software specifically in the AArch64 repo.

rpi3 latest update broke ethernet?

Postby Blodo » Fri Sep 06, 2019 9:57 pm

Weird thing after I ran an update on my rpi3: eth0 interface now has its mac as 00:00:00:00:00:00 by default leading to the interface being down by default, and the only way I could get it to connect to the ethernet was to manually set the mac address to the one recognised by my dhcp server. This of course did not persist between reboots, so I had to write a shell script and run it as a service before the network target:

$this->bbcode_second_pass_code('', '#!/bin/sh
ip link set dev eth0 down
ip link set dev eth0 address (default mac address here)
ip link set dev eth0 up')

And only this way could I get the rpi to start being visible on the network again after a reboot. Not sure what failed, or why the default mac is now basically set to 0. The rpi is set to use systemd-networkd. Is it just me that had this problem or is this a known issue?
Blodo
 
Posts: 4
Joined: Fri Jul 26, 2019 12:18 pm

Re: rpi3 latest update broke ethernet?

Postby graysky » Fri Sep 06, 2019 11:11 pm

Systemd-networkd here without issue (multiple Pis). Output from `systemctl status systemd-networkd`?
graysky
Developer
 
Posts: 1731
Joined: Sun Jun 26, 2011 6:56 am
Location: /run/user/1000

Re: rpi3 latest update broke ethernet?

Postby MattM » Sat Sep 07, 2019 10:34 am

I confirm the issue.
Raspberry Pi 3 B.
Full system update after more than a month, from kernel 5.2.2 to 5.2.11.
After the update and reboot, the Pi was not accessible via Ethernet.
I connected a keyboard and a monitor, and found that MAC address of the eth0 is set to 00:00:00:00:00:00.
At the moment, I am using the wlan interface only.

From the dmesg output before the update, using kernel 5.2.2:
$this->bbcode_second_pass_code('', '[ 14.959188] smsc95xx 1-1.1:1.0 eth0: register 'smsc95xx' at usb-3f980000.usb-1.1, smsc95xx USB 2.0 Ethernet, b8:27:eb:25:16:7a')

From the dmesg output after the update, using kernel 5.2.11:
$this->bbcode_second_pass_code('', '[ 17.696724] smsc95xx 1-1.1:1.0 eth0: register 'smsc95xx' at usb-3f980000.usb-1.1, smsc95xx USB 2.0 Ethernet, 00:00:00:00:00:00')

Output of ip link show eth0
$this->bbcode_second_pass_code('', '2: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
')
Output of systemctl status systemd-networkd
$this->bbcode_second_pass_code('', '● systemd-networkd.service - Network Service
Loaded: loaded (/usr/lib/systemd/system/systemd-networkd.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2019-08-17 16:39:13 CEST; 2 weeks 6 days ago
Docs: man:systemd-networkd.service(8)
Main PID: 419 (systemd-network)
Status: "Processing requests..."
Tasks: 1 (limit: 994)
Memory: 2.7M
CGroup: /system.slice/systemd-networkd.service
└─419 /usr/lib/systemd/systemd-networkd

Aug 17 16:39:11 alarm-pi3 systemd[1]: Starting Network Service...
Aug 17 16:39:13 alarm-pi3 systemd-networkd[419]: Enumeration completed
Aug 17 16:39:13 alarm-pi3 systemd[1]: Started Network Service.
Aug 17 16:39:13 alarm-pi3 systemd-networkd[419]: eth0: Could not bring up interface: Cannot assign requested address
Sep 06 18:31:18 alarm-pi3 systemd-networkd[419]: wlan0: Gained carrier
Sep 06 18:31:20 alarm-pi3 systemd-networkd[419]: wlan0: Gained IPv6LL
Sep 06 18:31:32 alarm-pi3 systemd-networkd[419]: wlan0: Lost carrier
Sep 06 18:31:46 alarm-pi3 systemd-networkd[419]: wlan0: Gained carrier
')
MattM
 
Posts: 7
Joined: Sun May 05, 2019 10:33 am

Re: rpi3 latest update broke ethernet?

Postby graysky » Sat Sep 07, 2019 11:08 am

On armv7h (4.19.x series) without issue. Is the OP also running aarch64?
graysky
Developer
 
Posts: 1731
Joined: Sun Jun 26, 2011 6:56 am
Location: /run/user/1000

Re: rpi3 latest update broke ethernet?

Postby MattM » Sat Sep 07, 2019 1:25 pm

I reverted the kernel to 5.2.2, but it did not help. The MAC address was still all zeros.
But I noticed one more thing in dmesg outputs.
The original kernel 5.2.2:
$this->bbcode_second_pass_code('', '[ 0.000000] Kernel command line: console=ttyS1,115200 console=tty0 root=PARTUUID=4e1954e1-02 rw rootwait smsc95xx.macaddr=b8:27:eb:25:16:7a audit=0')
The kernel 5.2.11 after the update
$this->bbcode_second_pass_code('', '[ 0.000000] Kernel command line: console=ttyS1,115200 console=tty0 root=PARTUUID=4e1954e1-02 rw rootwait smsc95xx.macaddr=00:00:00:00:00:00 audit=0')
The kernel 5.2.2 after the revert
$this->bbcode_second_pass_code('', '[ 0.000000] Kernel command line: console=ttyS1,115200 console=tty0 root=PARTUUID=4e1954e1-02 rw rootwait smsc95xx.macaddr=00:00:00:00:00:00 audit=0')

The /boot/boot.txt contains:
$this->bbcode_second_pass_code('', 'setenv bootargs console=ttyS1,115200 console=tty0 root=PARTUUID=${uuid} rw rootwait smsc95xx.macaddr="${usbethaddr}" audit=0')
MattM
 
Posts: 7
Joined: Sun May 05, 2019 10:33 am

Re: rpi3 latest update broke ethernet?

Postby Umbirubiruai » Sat Sep 07, 2019 2:32 pm

I also had the same problem.

I have an auto-update script running every week and it ran today, the eth0 interface disappeared and the MAC address in the dmesg logs also shows 00:00:00:00:00:00.

But I solved it here. Looking at what packages were updated I downgraded one and eth0 is working now.

The update script updated the raspberrypi-bootloader to:
$this->bbcode_second_pass_code('', 'raspberrypi-bootloader-20190904-1-any.pkg.tar.xz')

and with that I have the zeroed MAC address.

After downgrading that package to:

$this->bbcode_second_pass_code('', 'raspberrypi-bootloader-20190828-1-any.pkg.tar.xz')

I didn't have a zeroed MAC address anymore.

Probably you already know, but to downgrade just follow https://wiki.archlinux.org/index.php/do ... g_packages

Hope this information helps other people with the same issue
Umbirubiruai
 
Posts: 1
Joined: Sat Sep 07, 2019 2:21 pm

Re: rpi3 latest update broke ethernet?

Postby MattM » Sat Sep 07, 2019 4:15 pm

Thanks!
raspberrypi-bootloader 20190724 and 20190828 work correctly, MAC address is set correctly,
raspberrypi-bootloader 20190904 does not work correctly. MAC address is set to zeros.
Checked with both kernels I have: 5.2.2 and 5.2.11.
MattM
 
Posts: 7
Joined: Sun May 05, 2019 10:33 am

Re: rpi3 latest update broke ethernet?

Postby MattM » Sat Sep 07, 2019 7:03 pm

What's more,
raspberrypi-bootloader 20190831 seems to be the last properly working version,
raspberrypi-bootloader 20190903 is completely broken and makes the system unbootable. See the comments here: https://github.com/raspberrypi/firmware/commit/c99e3cee42b13ad26207931bc9b01c5798c171a8
raspberrypi-bootloader 20190904 boots the system, but sets the eth0 MAC address to zeros.
MattM
 
Posts: 7
Joined: Sun May 05, 2019 10:33 am

Re: rpi3 latest update broke ethernet?

Postby ilyxa » Tue Sep 10, 2019 7:28 pm

Confirmed, ethernet was broken with alarm/raspberrypi-bootloader 20190909-1 - no u-boot env $usbethaddr (booting with zeroed MAC).

Workaround:
1. systemd-networkd MAC spoofing (not as good as I expected - wrong uuid generated and my dhcp server goes crazy) - very easy to implement if console inaccesible with any sd reader on another computer:
$this->bbcode_second_pass_code('', 'cat /etc/systemd/network/00-default.link
[Match]
MACAddress=00:00:00:00:00:00

[Link]
MACAddress=b8:27:eb:b5:b6:a2
NamePolicy=kernel database onboard slot path
')

2. u-boot /boot/boot.txt (.scr) correction (do not forget re-run ./mkscr with installed uboot-tools):
$this->bbcode_second_pass_code('', '# add this string before bootargs with your real MAC
setenv usbethaddr B8:27:EB:B5:B6:A2')

Issue here (not mine): https://github.com/raspberrypi/firmware/issues/1250
ilyxa
 
Posts: 8
Joined: Sat Jun 29, 2019 1:51 pm


Return to ARMv8

Who is online

Users browsing this forum: No registered users and 3 guests