Ubuntu 21.10 WiFi (r8723bs) troubleshooting on Odys Winpad V10 with a Fritzbox

I recently got an old Odys Winpad V10 with an Bay Trail Z3735F CPU. My goal was to use this as an Octoprint server for my Ender 3, since it should have enough power and sports a big enough touch screen. This way no additional laptop/computer/smartphone is needed to manage Octoprint.

Key specs:

  • 4x 1,83 GHz Z3735F
  • 2GB DDR 3 Ram
  • 32GB eMMC storage
  • only 32Bit EFI !!!

Technical Spec sheet:
https://www.odys.de/downloads/datasheets/ODYS_WinpadV10-2in1_web.pdf

Precondition

I chose the latest Ubuntu variation Lubuntu in version 21.10. All infos written here should be valid for the other variants in the same version (Ubuntu, Xubuntu, ...). Lubuntu hits a sweetspot of function and performance for me on a low powered deivce.

Important: My device Winpad V10 only has a 32BIT EFI. With this it is not possible to simply install the curent Ubuntu from the official live image. The following links descrive the process to get Ubuntu installed on an 32Bit EFI.

WiFi troubleshooting

After installation of Lubuntu nearly everything works as expected! The only issue I had was with the WiFi Chip r8723bs and my Fritzbox 7560 router, which is quite popular in Germany. Other networks worked fine.

If I tried to connect to my WPA2/WPA3 Fritzbox router the NetworkManager didn't even ask for a password. It just created a network profile without any security config.

Getting the logs with the following command did show something weird:
egrep -i 'wlan' /var/log/syslog

LOG excerpt1

the first steps in this rabbit hole

The logs show a problem with the password/secrets. no secrets: No agents were available for this request. If you search for this on Google, you find many different solutions. I will give a quick recap of solutions that I tried and which did not help on their own.

  1. the nm-applet is not running
    If you start the application nm-applet via nm-applet and then try to connect to the WiFi network, you immediately get a popup to enter the corresponding password for the network. But even If you enter the correct password, the connection will fail. (e.g. https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/issues/140)
  2. load the driver module r8723bs with different options
    If you google for the r8723bs driver module you find a lot of message threads proposing to load the module with additional parameters for better connection stability.
    rtw_power_mgnt=0 disables power management
    rtw_enusbss=0 disables USB autosuspend
    rtw_ant_num=2 sets the card to use a different antenna
    With some combination of these I had partial success, but it was only short lived. (e.g. https://www.spinics.net/lists/linux-wireless/msg178079.html)
  3. using different approaches to configure NetworkManager
    Some answers on stackexchange also propose different ways to configure the NetworkManager. Some say using nmtui for the fist connection is a good approach. Other disable the random MAC by adding wifi.scan-rand-mac-address=no. There is also a descritption how to use nmcli and create the connection from the ground up. But all of this did not change my situation. (e.g. https://unix.stackexchange.com/questions/420640/unable-to-connect-to-any-wifi-with-networkmanager-due-to-error-secrets-were-req)

the final solution/combination

After all of these did not work for themselfes. I returned everything to the inital config, without any saved WiFi configs. I then tried to connect to the WiFi network using nmtui while the nm-applet was started. I could enter a password, but my connection still failed.

But now there was more in the syslogs:

wpa_supplicant[616]: wlan0: WPA: Failed to configure IGTK to the driver wpa_supplicant[616]: wlan0: RSN: Failed to configure IGTK

If you search for these logs you fin this redhat issue which exactly describes the problem: https://bugzilla.redhat.com/show_bug.cgi?id=1595319 and following https://bugzilla.redhat.com/show_bug.cgi?id=1582407

The problem here are the Protected Management Frames (PMF). It seems my WiFi NIC does not support this feature, but NetworkManager and wpasupplicant seem to expect it. You can check this via iw phy0 info. 'AES_CMAC' and 'BIP_GMAC' should be included for PMF.

    Supported Ciphers:
            * WEP40 (00-0f-ac:1)
            * WEP104 (00-0f-ac:5)
            * TKIP (00-0f-ac:2)
            * CCMP-128 (00-0f-ac:4)
            * CMAC (00-0f-ac:6)

The solution here is to manually disable PMF for this connection. (from: https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/issues/104)

nmcli connection modify MyWifiNetwork wifi-sec.pmf disable
and afterwards reboot or restart the NetworkManager with
systemctl restart Networkmanager.

Now Wifi is working and event auto-connection after reboot is fine. And no other configuration or tools are needed.