RPi 3 - ethernet not working on 19.08

I've installed Manjaro-ARM 19.06 and upgraded using 'pacman -Syu'. After a reboot ethernet is not working anymore. Fortunately I was able to activate wifi using wifi-menu .

$ uname -a
Linux vdr01 5.2.11-1-MANJARO-ARM #1 SMP Fri Aug 30 06:22:38 UTC 2019 aarch64 GNU/Linux
$ ip addr show
2: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
$ dmesg | grep eth
[   20.211071] 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
$ dhcpcd -U eth0
broadcast_address=192.168.0.255
dhcp_lease_time=864000
dhcp_message_type=5
dhcp_rebinding_time=756000
dhcp_renewal_time=432000
dhcp_server_identifier=192.168.0.254
domain_name=fritz.box
domain_name_servers=192.168.0.254
ip_address=192.168.0.2
network_number=192.168.0.0
routers=192.168.0.254
subnet_cidr=24
subnet_mask=255.255.255.0
dhcp6_client_id=[IPV6-ClientID]
dhcp6_ia_na1_ia_addr1=[IPV6-Addr]
dhcp6_ia_na1_ia_addr1_pltime=3600
dhcp6_ia_na1_ia_addr1_vltime=7200
dhcp6_ia_na1_iaid=eb7e9a9a
dhcp6_ia_na1_t1=1800
dhcp6_ia_na1_t2=2880
dhcp6_inf_max_rt=3600
dhcp6_name_servers=[IPV6-...]
dhcp6_preference=0
dhcp6_rapid_commit=1
dhcp6_reconfigure_accept=1
dhcp6_server_id=[IPV6-...]
dhcp6_sol_max_rt=3600

The DHCP lease seems to be correct, but the address does not get assigned anymore.
I've even tried to write 19.06 freshly on the SD card and update again - got the same result.

Have you tried:

192.168.0.1

Is this a german ipv6 IP?
192.168.178.1 = fritz.box

is an IP address in a block reserved for private networks. In order to connect to your router.

1 Like

Thanks for your reply.

Is this a german ipv6 IP?
192.168.178.1 = fritz.box

fritz.box resolves to 192.168.0.254 in my case, because I've changed the subnet. The Fritzbox is a popular brand of the manufacturer AVM in Germany. It's a router.

192.168.0.254
is an IP address in a block reserved for private networks. In order to connect to your router.

I know, that's the IP of my Fritzbox, which is my Gateway.

There is no problem with my network or my configuration. Wifi is on the same gateway with the same configuration and works without any problems.

ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether b8:27:eb:x:x:x brd ff:ff:ff:ff:ff:ff
    inet 192.168.50.168/24 brd 192.168.50.255 scope global noprefixroute wlan0

The problem comes up after upgrading from Manjaro ARM 19.06 . Unfortunately today's Kernel update did not solve the problem:

$ uname -a
Linux vdr01 5.2.13-1-MANJARO-ARM #1 SMP Fri Sep 6 18:07:35 UTC 2019 aarch64 GNU/Linux
$ lsb_release -r
Release:        19.09
$ lsb_release -c
Codename:       n/a
1 Like

I would think if it was working on install, but broke on update that perhaps a driver/firmware update might be responsible. You could try using the older version.

Yes, I think I would have tried to use an older kernel on Desktop Manjaro. But this is not that easy on Manjaro ARM.
Fortunately I found out the the problem was caused by a not correctly set MAC address ( 00:00:00:00:00:00).

So I've solved this by setting the MAC address on boot:
vim /etc/systemd/network/00-default.link

[Match]
OriginalName=eth0

[Link]
MACAddress=B8:27:EB:X:X:X

This does not solve the cause of the problem, but the solution works for me.

Thanks for your help and the fast replies!

Very nicely done. I am totally unfamiliar with the arm spins. So I take it the arm versions do not use network manager and have a static kernel.

Good for you. :clap:

1 Like

If you can find the cause of the problem, we can see if we can fix it.

But if it's an upstream kernel issue, then there's not much we can do. :stuck_out_tongue:

ARM vesions do use NetworkManager, if the device has a DE installed.
It's only possible to have 1 kernel installed on ARM right now. But you can roll back if you have the previous in the cache, just like on x86.

1 Like

Thanks @Strit, I feel so lost trying to help out on Arm networking issues because everything is so different.

Yes, I don't have a DE installed. The cause of the problem must be in the Kernel:

[   16.212732] 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

The rollback wouldn't be that easy? In /var/cache/pacman I can only see Kernel 5.2.11 which already had the problem. pacman -Ss downgrade has no result. So I would have to manually search for the packages and download it?!

@tbg - thanks anyway. Nice community here!

1 Like

We do use an Arch Linux ARM patch for the smsc95xx driver that allows MAC addresses to be set as a parameter. But as it's not a patch I have made, I don't know if it could cause these issues.
But the patch is also applied in Arch Linux ARM, so the issue would also be present there if that's the case.
Patch seems to be done by popcornmix from the Raspberry Pi foundation, back in 2014!
I am amazed that it still gets applied correctly.

Just found this on the Arch Linux ARM forum.
Seems to be an upstream issue with the bootloader package used.
The forum posts suggest the same workaround you found yourself.
So it's an upstream issue it seems.

2 Likes

It seems they have found a fix: https://github.com/raspberrypi/firmware/issues/1250#issuecomment-531171707

Thanks for your help!

1 Like

Yeah. Next firmware update should contain it.

Forum kindly sponsored by Bytemark