Loss of wifi support after updating to Bianbu 1.0.9

Hello,

After doing a clean install of the nas version of bianbu image and some do-release-updates I lost the wifi nor can I configure it back using nmcli (as in the official documentation).

The system is currently on Bianbu 1.0.9, i tried to modprobe 8852bs but then the module isnt used by anything. Am i the only one with this issue ? What should I look for in order to debug more ?

dmesg show that it is picking the firmware? are the firmware files present?

Hello Luca,

I have this section in dmesg about the rtw driver :

[   31.379525] RTW: module init start
[   31.379548] RTW: rtl8852bs v1.19.7.1-51-g48af265.20230922
[   31.379553] RTW: build time: Jul 19 2024 08:17:49
[   31.379560] RTW: 
[   31.379563] RTW: =======================================================
[   31.379568] RTW: ==== Launching Wi-Fi driver! (Powered by Spacemit) ====
[   31.379573] RTW: =======================================================
[   31.379577] RTW: Realtek rtl8852bs WiFi driver (Powered by Spacemit,Ver v1.19.7.1-51-g48af265.20230922) init.
[   31.379588] spacemit-rf-pwrseq rf-pwrseq: turn power on
[   31.380614] spacemit-rf-pwrseq rf-pwrseq: check voltage: 1800000
[   31.419184] RTW: module init ret=0
[   31.431234] sdhci-spacemit d4280800.sdh: card claims to support voltages below defined range
[   31.462541] could not get sdhci pinctrl state.
[   31.462577] could not get sdhci pinctrl state.
[   31.462591] mmc1: set tx_delaycode: 127
[   31.464002] mmc1: pass window [0 45) 
[   31.465151] mmc1: pass window [50 85) 
[   31.469974] mmc1: pass window [111 250) 
[   31.470113] mmc1: pass window [255 256) 
[   31.470130] mmc1: tuning done, use the firstly delay_code:180
[   31.471947] mmc1: new ultra high speed SDR104 SDIO card at address 0001
[   31.472750] RTW: == SDIO Card Info ==
[   31.472761] RTW:   card: 0000000081b51a35
[   31.472773] RTW:   clock: 208000000 Hz
[   31.472779] RTW:   timing spec: sd uhs SDR104
[   31.472795] RTW:   sd3_bus_mode: TRUE
[   31.472802] RTW:   func num: 1
[   31.472810] RTW:   func1: 00000000bb737e44 (*)
[   31.472818] RTW:   max_byte_size: 512
[   31.472824] RTW: ================
[   31.473023] PHL: _update_cntry_prop_5g_bp, prop of (CN) = 0x07.
[   31.473037] PHL: _update_cntry_prop_5g_bp, prop of (IL) = 0x0F.
[   31.473515] PHL: [MAC] MAC_AX_MAJOR_VER = 0
               MAC_AX_PROTOTYPE_VER = 29
               MAC_AX_SUB_VER = 43
               MAC_AX_SUB_INDEX = 2
[   31.475320] PHL: [MAC] [ERR]Access efuse in suspend
[   31.485746] PHL: [MAC] fv = 1
[   31.486798] PHL: rtw_hal_mac_get_log_efuse_size: Logical efuse size = 2064!
[   31.486911] PHL: rtw_hal_mac_get_log_efuse_size: Logical efuse size = 1296!
[   31.486923] PHL: rtw_hal_mac_get_efuse_a_die_size: Efuse a die size = 16!
[   31.486932] PHL: rtw_hal_mac_get_efuse_mask_size: efuse mask size = 129
[   31.486964] PHL: rtw_hal_mac_get_efuse_mask_size: efuse mask size = 81
[   31.487019] PHL: rtw_hal_mac_get_log_efuse_bt_size: BT Efuse log size = 1024!
[   31.487050] PHL: rtw_hal_mac_get_efuse_bt_mask_size: bt efuse mask size = 64
[   31.487438] PHL: [BTC], hal_btc_init(): Init 8852B!!
[   31.487472] PHL: hal_hci_cfg_8852bs ===>
[   31.487481] PHL: sdio clock: 208000000 Hz
[   31.487488] PHL: sdio V3 :YES
[   31.487498] PHL: [MAC-INFO]- CV : 1
[   31.487505] PHL: [MAC-INFO]- ACV : 1
[   31.487510] PHL: [MAC-INFO]- FV : 1
[   31.487516] PHL: [MAC-INFO]- tx_ch_num: 19
[   31.487523] PHL: [MAC-INFO]- tx_data_ch_num: 10
[   31.487530] PHL: [MAC-INFO]- wd_body_len: 24
[   31.487536] PHL: [MAC-INFO]- wd_info_len: 24
[   31.487542] PHL: [MAC-INFO]- pwr_seq_ver: 22
[   31.487549] PHL: [MAC-INFO]- fifo_size: 196608
[   31.487555] PHL: [MAC-INFO]- macid_num: 32
[   31.487561] PHL: [MAC-INFO]- wl_efuse_size: 1536
[   31.487567] PHL: [MAC-INFO]- efuse_size: 1216
[   31.487575] PHL: [MAC-INFO]- log_efuse_size: 2048
[   31.487582] PHL: [MAC-INFO]- bt_efuse_size: 512
[   31.487587] PHL: [MAC-INFO]- sec_ctrl_efuse_size: 4
[   31.487594] PHL: [MAC-INFO]- sec_data_efuse_size: 192
[   31.487604] PHL: Initialize interrupt mask: 0x00010001, 0x00200000
[   31.487762] PHL: ERROR phl_mr_ctrl_init mcc init fail
[   31.487794] PHL: phl_msg_hub_init
[   31.487973] PHL: [TM]: phl_test_module_init
[   31.488049] PHL: _dispr_ctrl_init(): 
[   31.488120] PHL: _phl_ser_mdl_init:: cser->evtsrc = 4
[   31.488132] PHL: [PS_CMD], phl_register_ps_module(): 
[   31.488163] PHL: [PS_CMD], _ps_mdl_init(): 
[   31.488195] PHL: [PS_CMD], _ps_common_info_init(): 
[   31.488204] PHL: [BTCCMD], phl_register_btc_module(): 
[   31.488233] PHL: [BTCCMD], _btc_cmd_init(): 
[   31.488399] PHL: --> _phl_snd_cmd_module_init
[   31.488430] PHL: phl_macid_ctrl_init macid max_num:32
[   31.495627] PHL: [PSTA] ###### FUN - phl_stainfo_ctrl_init LINE - 997 #######
[   31.495648] PHL: [PSTA] PHL_MAX_STA_NUM:128
[   31.495654] PHL: [PSTA] sta_ctrl - q_cnt :128
[   31.495660] PHL: #################################
[   31.900456] eric-tx CALL alloc_txring !!!!
[   31.902592] RTW: rtw_rfctl_decide_init_chplan chplan:0x7F
[   31.903575] RTW: rtw_ndev_init(wlan0) if1 mac_addr=c0:4b:24:36:6a:01
[   35.876711] ldo5: disabling
[   35.918726] k1x_emac cac80000.ethernet end0: Link is Up - 1Gbps/Full - flow control off
[   35.918807] IPv6: ADDRCONF(NETDEV_CHANGE): end0: link becomes ready
[   37.405316] RTW: default domain:0x7f applied, txpwr_lmt:WW
[   37.614736] RTW: [PHL STA]- role-idx: 0
[   37.614763] RTW: [PHL STA]- mac_addr:c0:4b:24:36:6a:01
[   37.614774] RTW: [PHL STA]- aid: 0
[   37.614779] RTW: [PHL STA]- macid: 0
[   37.614786] RTW: [PHL STA]- wifi_band: 1
[   37.614791] RTW: [PHL STA]- bw: 0
[   37.614797] RTW: [PHL STA]- chan: 36
[   37.614803] RTW: [PHL STA]- offset: 0
[   38.275539] RTW: assoc success
[   38.276597] RTW: setkey_hdl: set group key for c0:4b:24:36:6a:01, kid:1 type:1 algo:AES
[   38.277274] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready

For the firmware part, I don´t see anything in those folders :

root@bpif3-k1:~# ls -lah {/,/usr}/lib/firmware
//lib/firmware:
total 188K
drwxr-xr-x  2 root root 4.0K Jul 29 05:11 .
drwxr-xr-x 71 root root 4.0K Jul 29 05:51 ..
-rwxr-xr-x  1 root root  97K Apr 28 17:50 esos.elf
-rw-r--r--  1 root root 4.4K Jul 18  2023 regulatory.db
-rw-r--r--  1 root root 1.2K Jul 18  2023 regulatory.db.p7s
-rw-r--r--  1 root root  66K Sep 15  2021 skl_hda_dsp_generic-tplg.bin

/usr/lib/firmware:
total 188K
drwxr-xr-x  2 root root 4.0K Jul 29 05:11 .
drwxr-xr-x 71 root root 4.0K Jul 29 05:51 ..
-rwxr-xr-x  1 root root  97K Apr 28 17:50 esos.elf
-rw-r--r--  1 root root 4.4K Jul 18  2023 regulatory.db
-rw-r--r--  1 root root 1.2K Jul 18  2023 regulatory.db.p7s
-rw-r--r--  1 root root  66K Sep 15  2021 skl_hda_dsp_generic-tplg.bin

As I can see, the module is loaded :

root@bpif3-k1:~# lsmod
Module                  Size  Used by
8852bs               9248768  0

And is there :

root@bpif3-k1:~# find /usr/lib/modules -name '*8852*'
/usr/lib/modules/6.1.15/kernel/drivers/net/wireless/realtek/rtl8852be
/usr/lib/modules/6.1.15/kernel/drivers/net/wireless/realtek/rtl8852be/8852be.ko
/usr/lib/modules/6.1.15/kernel/drivers/net/wireless/realtek/rtl8852bs
/usr/lib/modules/6.1.15/kernel/drivers/net/wireless/realtek/rtl8852bs/8852bs.ko

Another thing I noticed, I do have my wlan0 interface up :

5: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether c0:4b:24:36:6a:01 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.1/24 brd 10.0.0.255 scope global wlan0
       valid_lft forever preferred_lft forever
    inet6 fe80::c24b:24ff:fe36:6a01/64 scope link 
       valid_lft forever preferred_lft forever

But when i check with nmcli :

root@bpif3-k1:~# nmcli dev
DEVICE  TYPE      STATE                   CONNECTION         
end0    ethernet  connected               Wired connection 1 
lo      loopback  connected (externally)  lo                 
end1    ethernet  unavailable             --                 
sit0    iptunnel  unmanaged               --                 
wlan0   wifi      unmanaged               --                 
root@bpif3-k1:~# nmcli dev wifi
IN-USE  BSSID  SSID  MODE  CHAN  RATE  SIGNAL  BARS  SECURITY

try fetching the firmware files from buildroot-ext: buildroot external for SpacemiT Key Stone series CPU

Hello,

No progress after copying all the files to /usr/lib/firmware :

[   31.644660] RTW: module init start
[   31.644683] RTW: rtl8852bs v1.19.7.1-51-g48af265.20230922
[   31.644688] RTW: build time: Jul 19 2024 08:17:49
[   31.644696] RTW:
[   31.644699] RTW: =======================================================
[   31.644703] RTW: ==== Launching Wi-Fi driver! (Powered by Spacemit) ====
[   31.644707] RTW: =======================================================
[   31.644711] RTW: Realtek rtl8852bs WiFi driver (Powered by Spacemit,Ver v1.19.7.1-51-g48af265.20230922) init.
[   31.644721] spacemit-rf-pwrseq rf-pwrseq: turn power on
[   31.645720] spacemit-rf-pwrseq rf-pwrseq: check voltage: 1800000
[   31.683081] RTW: module init ret=0
[   31.695098] sdhci-spacemit d4280800.sdh: card claims to support voltages below defined range
[   31.730155] could not get sdhci pinctrl state.
[   31.730189] could not get sdhci pinctrl state.
[   31.730203] mmc1: set tx_delaycode: 127
[   31.731134] mmc1: pass window [0 43)
[   31.731959] mmc1: pass window [50 86)
[   31.732009] mmc1: pass window [87 88)
[   31.735120] mmc1: pass window [115 249)
[   31.735238] mmc1: pass window [255 256)
[   31.735259] mmc1: tuning done, use the firstly delay_code:181
[   31.736041] mmc1: new ultra high speed SDR104 SDIO card at address 0001
[   31.736831] RTW: == SDIO Card Info ==
[   31.736847] RTW:   card: 00000000fb1afbba
[   31.736863] RTW:   clock: 208000000 Hz
[   31.736874] RTW:   timing spec: sd uhs SDR104
[   31.736897] RTW:   sd3_bus_mode: TRUE
[   31.736907] RTW:   func num: 1
[   31.736917] RTW:   func1: 00000000ef5e4693 (*)
[   31.736930] RTW:   max_byte_size: 512
[   31.736939] RTW: ================
[   31.737184] PHL: _update_cntry_prop_5g_bp, prop of (CN) = 0x07.
[   31.737204] PHL: _update_cntry_prop_5g_bp, prop of (IL) = 0x0F.
[   31.737849] PHL: [MAC] MAC_AX_MAJOR_VER = 0
               MAC_AX_PROTOTYPE_VER = 29
               MAC_AX_SUB_VER = 43
               MAC_AX_SUB_INDEX = 2
[   31.740335] PHL: [MAC] [ERR]Access efuse in suspend
[   31.749148] PHL: [MAC] fv = 1
[   31.749786] PHL: rtw_hal_mac_get_log_efuse_size: Logical efuse size = 2064!
[   31.749819] PHL: rtw_hal_mac_get_log_efuse_size: Logical efuse size = 1296!
[   31.749827] PHL: rtw_hal_mac_get_efuse_a_die_size: Efuse a die size = 16!
[   31.749833] PHL: rtw_hal_mac_get_efuse_mask_size: efuse mask size = 129
[   31.749857] PHL: rtw_hal_mac_get_efuse_mask_size: efuse mask size = 81
[   31.749889] PHL: rtw_hal_mac_get_log_efuse_bt_size: BT Efuse log size = 1024!
[   31.749911] PHL: rtw_hal_mac_get_efuse_bt_mask_size: bt efuse mask size = 64
[   31.750210] PHL: [BTC], hal_btc_init(): Init 8852B!!
[   31.750238] PHL: hal_hci_cfg_8852bs ===>
[   31.750247] PHL: sdio clock: 208000000 Hz
[   31.750253] PHL: sdio V3 :YES
[   31.750261] PHL: [MAC-INFO]- CV : 1
[   31.750267] PHL: [MAC-INFO]- ACV : 1
[   31.750271] PHL: [MAC-INFO]- FV : 1
[   31.750275] PHL: [MAC-INFO]- tx_ch_num: 19
[   31.750279] PHL: [MAC-INFO]- tx_data_ch_num: 10
[   31.750284] PHL: [MAC-INFO]- wd_body_len: 24
[   31.750288] PHL: [MAC-INFO]- wd_info_len: 24
[   31.750293] PHL: [MAC-INFO]- pwr_seq_ver: 22
[   31.750297] PHL: [MAC-INFO]- fifo_size: 196608
[   31.750302] PHL: [MAC-INFO]- macid_num: 32
[   31.750306] PHL: [MAC-INFO]- wl_efuse_size: 1536
[   31.750310] PHL: [MAC-INFO]- efuse_size: 1216
[   31.750315] PHL: [MAC-INFO]- log_efuse_size: 2048
[   31.750319] PHL: [MAC-INFO]- bt_efuse_size: 512
[   31.750324] PHL: [MAC-INFO]- sec_ctrl_efuse_size: 4
[   31.750328] PHL: [MAC-INFO]- sec_data_efuse_size: 192
[   31.750336] PHL: Initialize interrupt mask: 0x00010001, 0x00200000
[   31.750449] PHL: ERROR phl_mr_ctrl_init mcc init fail
[   31.750475] PHL: phl_msg_hub_init
[   31.750586] PHL: [TM]: phl_test_module_init
[   31.750640] PHL: _dispr_ctrl_init():
[   31.750692] PHL: _phl_ser_mdl_init:: cser->evtsrc = 4
[   31.750776] PHL: [PS_CMD], phl_register_ps_module():
[   31.750803] PHL: [PS_CMD], _ps_mdl_init():
[   31.750827] PHL: [PS_CMD], _ps_common_info_init():
[   31.750832] PHL: [BTCCMD], phl_register_btc_module():
[   31.750852] PHL: [BTCCMD], _btc_cmd_init():
[   31.750965] PHL: --> _phl_snd_cmd_module_init
[   31.750994] PHL: phl_macid_ctrl_init macid max_num:32
[   31.755984] PHL: [PSTA] ###### FUN - phl_stainfo_ctrl_init LINE - 997 #######
[   31.756001] PHL: [PSTA] PHL_MAX_STA_NUM:128
[   31.756006] PHL: [PSTA] sta_ctrl - q_cnt :128
[   31.756012] PHL: #################################
[   32.115812] eric-tx CALL alloc_txring !!!!
[   32.117236] RTW: rtw_rfctl_decide_init_chplan chplan:0x7F
[   32.118049] RTW: rtw_ndev_init(wlan0) if1 mac_addr=c0:4b:24:36:6a:01
[   35.876532] ldo5: disabling
[   37.329716] RTW: default domain:0x7f applied, txpwr_lmt:WW
[   37.541120] RTW: [PHL STA]- role-idx: 0
[   37.541148] RTW: [PHL STA]- mac_addr:c0:4b:24:36:6a:01
[   37.541163] RTW: [PHL STA]- aid: 0
[   37.541171] RTW: [PHL STA]- macid: 0
[   37.541180] RTW: [PHL STA]- wifi_band: 1
[   37.541188] RTW: [PHL STA]- bw: 0
[   37.541195] RTW: [PHL STA]- chan: 36
[   37.541203] RTW: [PHL STA]- offset: 0
[   38.230846] RTW: assoc success
[   38.230958] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[   38.232402] RTW: setkey_hdl: set group key for c0:4b:24:36:6a:01, kid:1 type:1 algo:AES

I have copied the firmware there :

[   38.232402] RTW: setkey_hdl: set group key for c0:4b:24:36:6a:01, kid:1 type:1 algo:AES
root@bpif3-k1:~# locate 8852
/usr/lib/firmware/rtl8852au_config
/usr/lib/firmware/rtl8852au_fw
/usr/lib/firmware/rtl8852bu_config
/usr/lib/firmware/rtl8852bu_fw
/usr/lib/firmware/rtl8852cu_config
/usr/lib/firmware/rtl8852cu_fw
/usr/lib/firmware/rtl8852du_config
/usr/lib/firmware/rtl8852du_fw
/usr/lib/firmware/rtl_bt/rtl8852bsa_config
/usr/lib/firmware/rtl_bt/rtl8852bsa_fw
/usr/lib/firmware/rtlbt/rtl8852as_config
/usr/lib/firmware/rtlbt/rtl8852as_fw
/usr/lib/firmware/rtlbt/rtl8852bps_config
/usr/lib/firmware/rtlbt/rtl8852bps_fw
/usr/lib/firmware/rtlbt/rtl8852bs_config
/usr/lib/firmware/rtlbt/rtl8852bs_fw
/usr/lib/firmware/rtlbt/rtl8852cs_config
/usr/lib/firmware/rtlbt/rtl8852cs_fw
/usr/lib/firmware/rtlbt/rtl8852ds_config
/usr/lib/firmware/rtlbt/rtl8852ds_fw

Are you using an antennae? Wireless is basically useless without them.

Hello Patrick,

I do not use an antenna, though it was working before the update (and I am realtively close to the router).

I guess the easiest is to pick an older image

I guess so, but I am still intrigued on why it is broken :slightly_frowning_face: , maybe I should look into rebuilding the kernel with the modules?

It is an option, rolling back could be useful to confirm that your setup is seeing the AP, if it does then bisecting Login - Gitee.com should be fast.

For now i have been doing some experiments in my free time, upgrading from 1.0rc3 to 1.0.4 everything works.

Alright, it’s not working starting from 1.0.6. 1.0.11 doesnt work either.

fixed in 1.0.12, here’s the patch, there are ready kernels with wifi
kernel-k1#6.1.15-5.pkg.tar.gz
kernel-k1#6.1.103-1.pkg.tar.gz (irradium)
or
bianbu-linux-k1-v1.0.12-20240802162209.zip
bianbu-linux-k1-v1.0.12-20240802162209.zip.md5

Linux banana-pi-f3 6.1.15 #1 SMP PREEMPT Thu Aug  8 22:32:46 EEST 2024 riscv64 GNU/Linux
Module                  Size  Used by
aic8800_bsp           126976  0
8852bs               6701056  0
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 brd 127.255.255.255 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host proto kernel_lo 
       valid_lft forever preferred_lft forever
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
    link/ether fe:fe:fe:91:63:9d brd ff:ff:ff:ff:ff:ff
3: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
    link/ether fe:fe:fe:91:63:9e brd ff:ff:ff:ff:ff:ff
4: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000
    link/sit 0.0.0.0 brd 0.0.0.0
5: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 5c:8a:ae:67:57:b1 brd ff:ff:ff:ff:ff:ff
    inet 191.0.1.72/24 brd 191.0.1.255 scope global dynamic noprefixroute wlan0
       valid_lft 522sec preferred_lft 447sec
    inet6 fe80::5052:d295:4bb8:b2d7/64 scope link 
       valid_lft forever preferred_lft forever

Ah yes i was going to test 1.0.12, i downloaded the image earlier today however i could only find one with desktop part, so thanks for the link. Whats the difference between the bianbu-linux and bianbu folder (exemple : https://archive.spacemit.com/image/k1/version/bianbu/v1.0.12/bianbu-23.10-minimal-k1-v1.0.12-release-20240802210530.zip )?

Edit: I got my answer, your link contains also the desktop part.

Quick update: Everything works using the 1.0.12 minimal image, just have to add modprobe 8852bs or 8852bs to modules-load.d and all good.