BPi Lamobo R1 - no network

Hi,

Banana Pi Lamobo R1 is a router device so it is a bit special.

Debian Buster does connect to the network.
Debian Bullseye not.
I removed to harddisk to make sure this isn’t the problem.

My last try will be the: freedombox-testing-free_latest_lamobo-r1-armhf.img
However, is this based on Debian-testing or based on Bullseye?

I could connect a serial-cable, as a last resort, is there something else I can check or compare to Buster?

Thank you
Br,
Tido

FreedomBox testing images are based on Debian testing (Bookworm). Please note that FreedomBox images use vanilla Debian kernels (which are in turn mostly upstream Linux kernels). If upstream kernel has no support for Lamobo R1 network devices, then there is very slim chance that Debian or FreedomBox has support for it.

From what you are reporting, it looks like there is a regression in the kernel sometime between Buster and Bullseye.

Thank you for your message.
By any chance, do you know who assembled the image for Buster?
So, I could ask for any secret sauce :slight_smile:

Images are built using automated continuous integration system using a tool called freedom-maker. The code for Lamobo R1 is here.

Lamobo R1 and the Olimex A20-OLinuXino-Lime2 share many of the same features like: A20 or 1000MBit native Ethernet.

On Buster, the A20 doesn’t use its potential, just 100MBit:

admin@freedombox:~$ ip r
default via 192.168.9.1 dev eth0 proto dhcp metric 100 
10.42.0.0/24 dev wan proto kernel scope link src 10.42.0.1 metric 101 
10.42.1.0/24 dev wlxaca2135cac7d proto kernel scope link src 10.42.1.1 metric 600 
192.168.11.0/24 dev eth0 proto kernel scope link src 192.168.9.14 metric 100 

Forgive my ignorance, maybe there is a link where I can read about this?:
Is it possible or forseen to have individual software that is not in the Debian build, like a modul for the BCM53125 PHY (7 port ethernet chip), its Distributed Switch Architecture (DSA) and Realtek rtl WiFi?

admin@freedombox:~$ lsmod | grep 'rtl\|b53\|dsa'
rtl8192cu              73728  0
rtl_usb                20480  1 rtl8192cu
rtl8192c_common        45056  1 rtl8192cu
rtlwifi                73728  3 rtl_usb,rtl8192c_common,rtl8192cu
mac80211              614400  3 rtl_usb,rtlwifi,rtl8192cu
cfg80211              548864  2 mac80211,rtlwifi
b53_mdio               16384  0
b53_common             36864  1 b53_mdio
dsa_core               49152  7 b53_mdio,b53_common
phylink                24576  1 dsa_core
devlink                57344  1 dsa_core
bridge                151552  2 b53_common,dsa_core
usbcore               217088  7 ehci_hcd,rtl_usb,musb_hdrc,rtl8192cu,ohci_hcd,ehci_platform,ohci_platform

Or to add a patch to get much better performance on the network?

Hi @sunil ,

Sorry that it took me so long to come back after our chat in the last call, it was a busy week.
I doug out my UART cable and flashed Bullseye and started Lamobo R1.
It doesn’t apply for an IP-Address on the router, so it is impossible to reach the device without UART.

[    6.139744] bcm53xx stmmac-0:1e: failed to register switch: -517
[   19.193238] usb 2-1: firmware: failed to load rtlwifi/rtl8192cufw.bin (-2)

…two of the most important modules are missing or failed to load? See my post above for description of the modules. Can you add these to the image?

U-Boot SPL 2021.01+dfsg-5 (May 23 2021 - 04:32:45 +0000)
DRAM: 1024 MiB
CPU: 912000000Hz, AXI/AHB/APB: 3/2/2
Trying to boot from MMC1


U-Boot 2021.01+dfsg-5 (May 23 2021 - 04:32:45 +0000) Allwinner Technology

CPU:   Allwinner A20 (SUN7I)
Model: Lamobo R1
I2C:   ready
DRAM:  1 GiB
MMC:   mmc@1c0f000: 0
Loading Environment from FAT... Unable to use mmc 0:1... In:    serial
Out:   serial
Err:   serial
Net:   eth0: ethernet@1c50000
starting USB...
Bus usb@1c14000: USB EHCI 1.00
Bus usb@1c14400: USB OHCI 1.0
Bus usb@1c1c000: USB EHCI 1.00
scanning bus usb@1c14000 for devices... 1 USB Device(s) found
scanning bus usb@1c14400 for devices... 1 USB Device(s) found
scanning bus usb@1c1c000 for devices... 2 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found U-Boot script /boot.scr
2909 bytes read in 1 ms (2.8 MiB/s)
## Executing script at 43100000
5022208 bytes read in 286 ms (16.7 MiB/s)
26960 bytes read in 5 ms (5.1 MiB/s)
23327932 bytes read in 1314 ms (16.9 MiB/s)
Booting Debian 5.10.0-8-armmp-lpae from mmc 0:1...
## Flattened Device Tree blob at 43000000
   Booting using the fdt blob at 0x43000000
EHCI failed to shut down host controller.
   Loading Ramdisk to 489c0000, end 49fff4bc ... OK
   Loading Device Tree to 489b6000, end 489bf94f ... OK

Starting kernel ...

[    0.006825] /cpus/cpu@0 missing clock-frequency property
[    0.006870] /cpus/cpu@1 missing clock-frequency property
[    6.139744] bcm53xx stmmac-0:1e: failed to register switch: -517
/scripts/local-bottom/mdadm: 2: /scripts/local-bottom/mdadm: rm: not found
[   15.896226] sun4i-drm display-engine: attempt to add DMA range to existing map
[   15.907217] debugfs: Directory '1c22c00.codec' with parent 'sun4i-codec' already present!
[   19.176005] usb 2-1: firmware: failed to load rtlwifi/rtl8192cufw_TMSC.bin (-2)
[   19.183533] firmware_class: See https://wiki.debian.org/Firmware for information about missing firmware
[   19.193238] usb 2-1: firmware: failed to load rtlwifi/rtl8192cufw.bin (-2)
[   40.894926] rtl8192c_common: Polling FW ready fail! REG_MCUFWDL:0x00000006.
[   40.902068] rtl8192c_common: Firmware is not ready to run!
[   42.458015] rtl8192c_common: Polling FW ready fail! REG_MCUFWDL:0x00000006.
[   42.465109] rtl8192c_common: Firmware is not ready to run!

Debian GNU/Linux 11 freedombox ttyS0

FreedomBox

To start using FreedomBox and to create an account, access using a web browser
one of the following URLs.

http://freedombox.local/
http://127.0.1.1/
http://[::ffff:127.0.1.1]/

Only administrators can login unless otherwise configured in Security section.
FreedomBox also provides a web console for system administration using Cockpit.
Web console: https://localhost:9090/

freedombox login: [   46.428213] rtl8192c_common: Polling FW ready fail! REG_MCUFWDL:0x00000006.
[   46.435301] rtl8192c_common: Firmware is not ready to run!

Debian GNU/Linux 11 freedombox ttyS0

FreedomBox

To start using FreedomBox and to create an account, access using a web browser
one of the following URLs.

http://freedombox.local/
http://10.42.0.1/
http://[fe80::8867:ade:8fed:4a21]/

Only administrators can login unless otherwise configured in Security section.
FreedomBox also provides a web console for system administration using Cockpit.
Web console: https://localhost:9090/

freedombox login:

Cheers,
Tido

bump bump bump bump at least 20 characters

This firmware file is available in the firmware-realtek package. It is a non-free package, but probably makes sense to include it in the lamobo-r1 image (which would become a non-free image).

Thank you for you message.
I see, but this RTLwifi is not a priority I think - your introduction film explains how to connect a cable to the router, this is where the BCM53 comes into play.

The A20 has only one connection for Ethernet, but the device comes physically with 5-sockets. To serve these ports we have to enable the BCM53125 PHY (7 port ethernet chip). It is controlled/driver via Distributed Switch Architecture (DSA). Because of the ports it needs a sane network config file (which is not so difficult as I have experience from the past).

bcm53xx stmmac-0:1e: failed to register switch:

What is the next step to find out why the bcm failed to register?

Do you guys @jvalleroy , @sunil know who built the image for buster?
Network wise everything works, I even get an access point. Can you point me to the source on gitlab how the image was built?
The kernel was: vmlinuz → boot/vmlinuz-4.19.0-10-armmp-lpae

@sunil sent me the link to Gitlab: https://salsa.debian.org/freedombox-team/freedom-maker/-/commit/43ccad57686fd3cb8ba38631c4c2f8f6b8244e33 the receipt how the image is built. I see no traces about additional packages like: bcm53xx but Debian Buster does connect to the network.
Not so on Bullseye, because of not registering

bcm53xx stmmac-0:1e: failed to register switch:

there is no connection to the network.
What do you think, did the debian project make some changes to this built?

Or was the build for Buster setup as a non-free image an therefore contains the necessary components?

There is no Debian package (free or non-free) with this name:
Debian -- Package Search Results -- bcm53xx

1 Like

Hi James,

You’re right. I was already there, at the modules, but started to name it package.
I have searched and read.

Linux kernel modules in Debian: Modules - Debian Wiki
If you want to get a module to autoload when a device is accessed you can often add lines to /etc/modules.

b53_mdio Control the hardware - this is part of the kernel for many years
https://cateee.net/lkddb/web-lkddb/B53_MDIO_DRIVER.html

dsa_core Configure the network - this is part of the kernel for many years
https://cateee.net/lkddb/web-lkddb/NET_DSA.html

The complete error message has a hint to two files:
[ 6.139744] bcm53xx stmmac-0:1e: failed to register switch: -517 /scripts/local-bottom/mdadm: 2: /scripts/local-bottom/mdadm: rm: not found

So I searched in Buster where they are and what is inside:

./usr/share/initramfs-tools/scripts/local-bottom/mdadm
./usr/share/initramfs-tools/scripts/local-block/mdadm

They are there and they look the same in Bullseye.

Looking at the modules with the same command:
root@freedombox:/# lsmod | grep 'rtl\|b53\|dsa'

this entry is missing in Bullseye:

Module                  Size  Used by
devlink                57344  1 dsa_core

or is this module loaded, whether or not the IP-Connection is up?

I tried hard for a while, than I gave up, because of missing knowledge how to solve this problem.
Now I had the idea to search at the source, DEBIAN. And it sounds like the problem is known for a while:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=986767

Comments/Problems:

Installer can’t properly bring up BCM53125 with DSA - missing DSA module tag_brcm. Also, no USB is detected.

After replacing kernel modules in installer initrd.gz from linux-image-5.10.0-5-armmp_5.10.26-1_armhf.deb
DSA properly detect and configure Broadcom BCM53125 switch, but unable to use it. Installer
try enable individual interface (wan) and disable all other, but for DSA master
interface (eth0) MUST be enabled before wan interface and stay up.

After connect USB network card - installer is able to detects network and complete the installation.

The question is, what is the approach to get this solved on DEBIAN. Any ideas or pointers are welcome, I want to get my FreedomBox :slight_smile:

I will also join a call to talk about it, if the dialog makes it easier.