I am using the R2 in a product as an embedded application procesor and have come across some very odd behaviour. Most cards (45 out of 50) work fine, but a few are showing some odd network problems.
The setup is wan is connected to the external network and gets a DHCP address - that works fine.
lan0 and lan1 are setup to interface to a couple of specialised boards using link local addreses on two separate networks - 169.254.0.1/24 and 169.254.1.1/24.
(Why? Because at boot up the internal boards both have the same fixed IP address and I need to addresses them independently to initialise them and persuade them to pick up a DHCP address from the r2).
lan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 169.254.0.1 netmask 255.255.255.0 broadcast 169.254.0.255 inet6 fe80::280:6fff:fe10:2001 prefixlen 64 scopeid 0x20 ether 00:80:6f:10:20:01 txqueuelen 1000 (Ethernet) RX packets 727193 bytes 168838050 (161.0 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 1629 bytes 98071 (95.7 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lan1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 169.254.1.1 netmask 255.255.255.0 broadcast 169.254.1.255 inet6 fe80::280:6fff:fe10:3002 prefixlen 64 scopeid 0x20 ether 00:80:6f:10:30:02 txqueuelen 1000 (Ethernet) RX packets 615141 bytes 304152093 (290.0 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 1258 bytes 70711 (69.0 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
This usually works fine, but in 5 cases the networking looks messed up, strange APR entries, lost packets, and the product fails QA. BTW, the lost packets are not shown on the interface stats so I the packates are not being lost at the physical level.
Swapping the R2 for another board fixes this.
I can’t beleive this is a hardware problem, if I only use one of lan0/lan1 then it seems ok.
Running a Ubuntu based system with the 4.19.138-bpi-r2 kernel which I compile myself.
Could there be differences in hardware revs, or subtle differences between boards? Before I try different kernels does anyone have any thoughts?