Wifi/bluetooth issues

@Quarnero Yeah you are running a wrong Firmware too same like me before, then i catched later the wrong.
On Linux 5.17 still shipping redpine driver RS9116.NB0.NL.GNU.LNX.OSD.2.0.0.0024 so you need burn again the correct Firmware like: https://source.puri.sm/Librem5/redpine-firmware-nonfree/-/raw/master/files/firmware/RS9116_NLINK_WLAN_BT_IMAGE.FW2.0.0.24.rps

1 Like

Thanks! I’ll replace firmware that I’m currently running this upcoming weekend.

1 Like

I also observed that Firmware and Driver version do not match. This seems to be normal. Apparently only Firmware is shipped in the file.

@pit The newer firmware 2.5 already there but we stil need driver so i guess we will see the driver on Linux5.17.+

1 Like

No, it’s a separate thing and doesn’t necessarily have to match, Redpine just releases their firmwares and kernel drivers together with the same versioning. Generally the way firmware version numbers are stored differs between firmware versions and formats, which is why things can look a bit weird there. In any case, the firmware version 2.0.0.0024 is being reported (after loading) as:

FW Version        : 0.2.0.16
RSI FW Version        :  1610.0.2.0.0024

There are other firmware versions available and having them on your device isn’t wrong or bad. There’s 1.0.5, 1.2.1, 1.2.20, 2.0.0.24, 2.3.2.3 and 2.5.1.11, and in my experience each comes with its own set of quirks and issues :stuck_out_tongue_winking_eye:

I believe the versions that are most commonly used at this moment are 1.2.20 and 2.0.0.24. I don’t think that we have ever switched to 2.3.2.3 for new devices, and 2.5.1.11 has been released just a few days ago, so it’s way too early to say anything about it.

3 Likes

I tested the version 2.5.1.11 (see here). Results:

  • bluetooth and wifi work at the same time
  • wifi has full speed (on 2.4GHz)
  • no new errors detected (but only tested for some minutes)

Thanks for helping to solve this issue @irvinewade, @guru, @dos, @Captain_Morgan, @carlosgonz, @Quarnero, @angus.ainslie.

5 Likes

Have you only downloaded the file to /lib/firmware/ and rebooted, or does it need another kernel/driver? I’m on

uname -r
5.16.0-1-librem5
1 Like

Interesting but fails to open the rps file for me, hence cannot install new firmware to test.

@guru I downloaded, renamed to RS9116_NLINK_WLAN_BT_IMAGE.rps and rebooted. I am on the same kernel.
@Captain_Morgan rename the file to RS9116_NLINK_WLAN_BT_IMAGE.rps

1 Like

thanks for that reminder -that worked and caused the install process to proceed, however on my L5 it did not like the new driver, either it didnt install or the driver isnt compatible, or i wonder if i have to change the operating mode to something other than 13 since it gives a warning that only prior versions 2.# support mode 13. (bluetooth doesnt work at all now, FW version doesnt show normal value)

Operation mode should be 5. Note that it has to be adjusted twice in the file /etc/modprobe.d/librem5-devkit.conf

1 Like

Installed older driver and changed to operating mode 5, but bluetooth doesnt show in notification anymore (BT symbol greyed out cannot be toggled):
(weird it doesnt let me add png or jpg files saying the ones i upload arent supported formats even though they are)

Service seems up and running:

sudo systemctl status bluetooth

● bluetooth.service - Bluetooth service
Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2022-04-01 11:23:20 PDT; 12min ago
Docs: man:bluetoothd(8)
Main PID: 979 (bluetoothd)
Status: “Running”
Tasks: 1 (limit: 3125)

have you tried sudo systemctl restart bluetooth?
have you tried toggling the hwks?
what does rfkill and dmesg say?

Yes the service runs, software all installed, i figured out the controller isnt running:
#bluetoothctl
power on

No Default Controller Available.

My guess is that during driver flashing it flashed the wifi but not bluetooth part of the driver or somehow it got knocked out.

What i tried:

  1. install older version of driver (flashing the newest (1day old) version caused this issue in the first place)
  2. switch from 13 to 5 operating mode
  3. toggle all HW switches (all off, all on)
  4. reboot
  5. tried to install newest driver again, bluetooth controller still not back to life.

One question, once the driver file is copied into firmware after download i have been changing the file permissions to read/write for all, not sure thats needed?

As previously mentioned i download the firmware driver then:
while modem is on
cd ~/Downloads
sudo rm /lib/firmware/RS9116*
sudo mv RS9116* /lib/firmware/RS9116_NLINK_WLAN_BT_IMAGE.rps
power off phone without usb charger plugged in
power on

lsusb output (which one is the bluetooth device?):
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 006: ID 2020:2060 Qualcomm, Incorporated Qualcomm CDMA Technologies MSM
Bus 001 Device 003: ID 0424:4041 Microchip Technology, Inc. (formerly SMSC) Hub and media card controller
Bus 001 Device 002: ID 0424:2640 Microchip Technology, Inc. (formerly SMSC) USB 2.0 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

rfkill list output

generated an error interestingly…
rfkill ./include/xalloc.h:74: xstr dup : Assertion ‘str’ failed.

dmesg redpine output:

Sorry for the gigantic log:

[ 19.400757] redpine_91x: rsi_probe: ***** 9116 Module *****
[ 19.401028] redpine_91x: redpine_hal_device_init: oper_mode = 5, coex_mode = 2
[ 19.402219] redpine_91x: Received Board Version Number: 10
[ 19.403390] redpine_91x: rsi_load_firmware: Loading file RS9116_NLINK_WLAN_BT_IMAGE.rps
[ 19.408040] redpine_91x: FW Length = ================================================
[ 19.408075] redpine_91x: FW Version : 2.3.0.0
[ 19.408080] redpine_91x: RSI FW Version : 1610.2.3.2.0003
[ 19.408086] redpine_91x: Driver Version : RS9116.NB0.NL.GNU.LNX.OSD.2.0.0.0024
[ 19.408090] redpine_91x: Operating mode : 5 [Wi-Fi STA + BT EDR]
[ 19.408094] redpine_91x: Firmware file : RS9116_NLINK_WLAN_BT_IMAGE.rps
[ 19.408098] redpine_91x: ================================================
[ 19.488606] redpine_91x: *** Flash ================================================
[ 24.548408] redpine_91x: FW Version : 3.2.2.16
[ 24.548418] redpine_91x: RSI FW Version : 1610.3.2.2.0003
[ 24.548426] redpine_91x: Driver Version : RS9116.NB0.NL.GNU.LNX.OSD.2.0.0.0024
[ 24.548432] redpine_91x: Operating mode : 5 [Wi-Fi STA + BT EDR]
[ 24.548438] redpine_91x: Firmware file : RS9116_NLINK_WLAN_BT_IMAGE.rps
[ 24.548443]
[ 458.587524] redpine_91x: rsi_sdio_check_buffer_status: Failed to read status register
[ 458.587790] redpine_91x: ##### RSI SDIO device disconnected #####
[ 460.685458] redpine_91x: rsi_probe: ***** 9116 Module *****
[ 460.685649] redpine_91x: redpine_hal_device_init: oper_mode = 5, coex_mode = 2
[ 460.686823] redpine_91x: Received Board Version Number: 10
[ 460.687930] redpine_91x: rsi_load_firmware: Loading file RS9116_NLINK_WLAN_BT_IMAGE.rps
[ 460.688239] redpine_91x: FW Length = 131584 ================================================
[ 460.688263] redpine_91x: FW Version : 2.3.0.0
[ 460.688269] redpine_91x: RSI FW Version : 1610.2.3.2.0003
[ 460.688277] redpine_91x: Driver Version : RS9116.NB0.NL.GNU.LNX.OSD.2.0.0.0024
[ 460.688282] redpine_91x: Operating mode : 5 [Wi-Fi STA + BT EDR]
[ 460.688288] redpine_91x: Firmware file : RS9116_NLINK_WLAN_BT_IMAGE.rps
[ 460.688293] redpine_91x: ================================================
[ 460.761562] redpine_91x: *** Flash CRC passed ***
[ 460.763807] redpine_91x: ***** Loaded Firmware *****
[ 465.897169] redpine_91x: ================================================
[ 465.897192] redpine_91x: ================ RSI Version Info ==============
[ 465.897197] redpine_91x: ================================================
[ 465.897201] redpine_91x: FW Version : 3.2.2.16
[ 465.897226] redpine_91x: RSI FW Version : 1610.3.2.2.0003
[ 465.897234] redpine_91x: Driver Version : RS9116.NB0.NL.GNU.LNX.OSD.2.0.0.0024
[ 465.897240] redpine_91x: Operating mode : 5 [Wi-Fi STA + BT EDR]
[ 465.897246] redpine_91x: Firmware file : RS9116_NLINK_WLAN_BT_IMAGE.rps
[ 465.897252]

sudo dmesg | egrep -i ‘blue|firm’ (output right after trying to install latest BT driver and upon reboot)

[ 0.000000] psci: PSCIv1.1 detected in firmware.
[ 3.482292] cdns-mhdp-imx 32c00000.hdmi: [drm:cdns_mhdp_read_fw_version [cdns_mhdp_drmcore]] firmware version: 50d385ac
[ 18.535443] imx-sdma 302c0000.sdma: Direct firmware load for imx/sdma/sdma-imx7d.bin failed with error -2
[ 18.535466] imx-sdma 302c0000.sdma: external firmware not found, using ROM firmware
[ 18.625196] imx-sdma 30bd0000.sdma: Direct firmware load for imx/sdma/sdma-imx7d.bin failed with error -2
[ 18.625219] imx-sdma 30bd0000.sdma: external firmware not found, using ROM firmware
[ 19.086827] Bluetooth: Core ver 2.22
[ 19.086922] NET: Registered PF_BLUETOOTH protocol family
[ 19.086926] Bluetooth: HCI device and connection manager initialized
[ 19.086945] Bluetooth: HCI socket layer initialized
[ 19.086954] Bluetooth: L2CAP socket layer initialized
[ 19.086988] Bluetooth: SCO socket layer initialized
[ 19.296131] redpine_91x: rsi_load_firmware: Loading file RS9116_NLINK_WLAN_BT_IMAGE.rps
[ 19.301131] redpine_91x: Firmware file : RS9116_NLINK_WLAN_BT_IMAGE.rps
[ 19.417391] redpine_91x: device firmware doesn’t match proceed to upgrade …
[ 19.442542] redpine_91x: Burn Command Pass… Upgrading the firmware
[ 20.424854] imx-sdma 30bd0000.sdma: sdma firmware not ready!
[ 20.637318] 0x000000030000-0x000000200000 : “firmware”
[ 22.394470] redpine_91x: Firmware upgradation Done
[ 25.697698] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 25.697744] Bluetooth: BNEP socket layer initialized
[ 27.622353] redpine_91x: ***** Loaded Firmware *****
[ 32.736118] redpine_91x: Firmware file : RS9116_NLINK_WLAN_BT_IMAGE.rps
[ 40.874969] redpine_91x: EAPOL 4 confirm
[ 52.581525] redpine_91x: EAPOL 4 confirm

For a test I would switch back to your old firmware (you find it here) and your old operation mode 13 in /etc/modprobe.d/librem5-devkit.conf. I assume that this is not a firmware problem.

1 Like

thanks pit i installed FW2.0.0.24 and bluetooth controller came right back.

Well for that good luck reason that the Firmware comes bundled with the Driver in the same version number folder, it is necessary to consider to MATCH the versions for optimal work. Braves people can burn a different firmware that works suboptimal with driver. MHO

In general, that is a very bad idea. In practice, if you keep your phone secure (i.e. don’t allow randoms to remote access it) then it doesn’t really matter.

I would expect that write access to the file is not required. I would expect that only root would need any access at all so maybe r--r----- but I have never changed the firmware on my WiFi card so take with a grain of salt. Maybe @dos can comment?

2 Likes

I got it now. It means that the firmware to burn is the same as the one that already exists in the controller.

1 Like

Thanks to this thread, I checked my bluetooth and it said that there is no bt hardware. After loading the new firmware, bt showed up. So far, both work simultaneously. Great! :slight_smile:

2 Likes