It seems the PoE mezzanine (https://www.96boards.org/product/ethernetcard/) breaks after running updates after a fresh install of Linaro Debian. The device works in the live installer environment as well as booting from MMC after a fresh install. When it stops working the device will still receive power from the PoE interface, the kernel module loads and the OS recognizes the device, but it will not take an IP (oddly wlan0 is also missing, but I’m less concerned about that at the moment).
root@linaro-alip:~# ifconfig eth0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 ether 7e:45:da:56:c1:5b txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 root@linaro-alip:~# dhclient -v eth0 Internet Systems Consortium DHCP Client 4.3.5 Copyright 2004-2016 Internet Systems Consortium. All rights reserved. For info, please visit https://www.isc.org/software/dhcp/ Listening on LPF/eth0/7e:45:da:56:c1:5b Sending on LPF/eth0/7e:45:da:56:c1:5b Sending on Socket/fallback DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 4 DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 8 DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 18 DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 21 DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 10 No DHCPOFFERS received. No working leases in persistent database - sleeping.
It would seem that the DHCP server is simply not offering an address, but other devices as well as a USB NIC on this device (as well as it working prior to update) verifies the network is functional. The kernel is loading the module for the Ethernet controller, which is a LAN7850 from Microchip according to the device’s page above.
root@linaro-alip:~# lsmod Module Size Used by microchip 16384 1 lan78xx 61440 0 crc32_ce 16384 0 qmi_helpers 24576 0 mdt_loader 16384 0 snd_soc_lpass_apq8016 16384 0 snd_soc_lpass_cpu 16384 1 snd_soc_lpass_apq8016 snd_soc_lpass_platform 16384 1 snd_soc_lpass_cpu snd_soc_msm8916_digital 36864 0 snd_soc_apq8016_sbc 16384 0 rtc_pm8xxx 16384 1 snd_soc_msm8916_analog 40960 0 msm_rng 16384 0 rng_core 20480 1 msm_rng rpmsg_char 16384 0 media 45056 0 i2c_qcom_cci 16384 0
Then we have this from dmesg:
root@linaro-alip:~# dmesg|grep -i lan78 [ 9.869006] libphy: lan78xx-mdiobus: probed [ 9.961286] usbcore: registered new interface driver lan78xx [ 10.639981] lan78xx 1-1.3:1.0 eth0: kevent 4 may have been dropped
I’m not sure what “kevent 4 may have been dropped” is related to. Googling reveals there is an ongoing issue with the RPi devices that use this NIC and attempt to update, but the going solution doesn’t seem applicable (the RPi device crashes on boot so booting without CAT5 seems to work).
It’s understood that I can place the kernel package on hold to prevent an upgrade, but I would like to use the most up-to-date kernel if possible.
Has anyone run into this issue or have any possible solutions for using this PoE board with the latest kernel? I’ll be happy to provide additional info if necessary.