Internet access is very bad

I’m seeing very bad internet access performance on phone.
I would like to debug whether there is something I can change in config/SW.

I can SSH to phone, SSH doesn’t drop out and stays connected whole time.
and WiFi definitely has internet access (other devices are fine)

Every now and then internet is accessible on Librem5 as well.
I need to keep sending apt update and flatpak update over and over for them to work

I’m not sure what can cause this behavior.

Is something overwriting the configuration of your WiFi, so you have to keep resetting it?

Do you see a difference when you are closer to your WiFi router vs far away?
Are you only accessing the internet via the RS9116 WiFi or are you also using the BM818 cellular modem to access the internet?

Are you up-to-date with the RS9116 firmware and driver? What do you see, when you execute these commands?
sudo dmesg | grep -i rsi|redpine|91x
ls /lib/firmware/* | grep -i rs|redpine
sudo lsmod | grep -i redpine

I’m not resetting WiFi, only sending these commands multiple times. Most of the times commands return failed to reach server message.

I was using phone, didn’t really keep track of distance from router, I’ll try to note it today.

Only WiFi

Output from sudo dmesg | grep -i rsi (only relevant bits)
Others don’t return anything.

[88247.852362] redpine_91x: ================================================
[88247.852384] redpine_91x: ================ RSI Version Info ==============
[88247.852387] redpine_91x: ================================================
[88247.852391] redpine_91x: FW Version	:
[88247.852397] redpine_91x: RSI FW Version	:  1610.
[88247.852402] redpine_91x: Driver Version	: RS9116.NB0.NL.GNU.LNX.OSD.
[88247.852408] redpine_91x: Operating mode	: 5 [Wi-Fi STA + BT EDR]
[88247.852413] redpine_91x: Firmware file	: RS9116_NLINK_WLAN_BT_IMAGE.rps
[88247.852416] redpine_91x: ================================================

Is that all you have about “redpine_91x” in your dmesg? You should have more.

You should see the redpine_91x module or something like it when you execute sudo lsmod.

Your RS116 firmware is old. You can upgrade it like this:
sudo mv RS9116_NLINK_WLAN_BT_IMAGE.rps /lib/firmware/

EDIT: Those were bad instructions. Upgrade the firmware this way:

sudo wget -O /lib/firmware/RS9116_NLINK_WLAN_BT_IMAGE.rps

Then reboot. (I think that Birch and Chestnut have a different procedure for upgrading the RS9116 firmware but I’m assuming that you have Evergreen.)

Definitely not the only info, I thought those are only useful. Let me put info online:

Let me try updating driver and get back to you.

Updating WiFi driver removed WiFi module I think? (I can’t access WiFi setting anymore)

Are you connecting to a 5 GHz WiFi SSID or a 2.4 GHz SSID? I had issues with mine until I separated my broadcasts into separate ones for 2.4 and 5, then only connected to the 2.4 GHz SSID.

Oh maybe that’s the issue, for easy hand-off my 5 GHz and 2.4 GHz SSIDs (even passwords) are same. Let me see how to revert back driver version, or find the one that works and try this.

1 Like

looks like .rps is correct way of saving file under /lib/firmware, I’ll try all / other versions.
Is this still valid for Evergreen, at least README looks like this is not necessary?

Configured one hotspot to be 2.4GHz only, I still don’t see any improvement.

I see multiple of following messages in dmesg output:
packet dropped as RX PN is less than last received RX PN
if it’s relevant.

Weird. Try this:

sudo mv RS9116_NLINK_WLAN_BT_IMAGE.FW2.5.1.11.rps /lib/firmware/RS9116_NLINK_WLAN_BT_IMAGE.rps

After you reboot, is the new firmware being shown in sudo dmesg?

If you have Evergreen, I think that you can ignore that README. Purism really needs to update its README to explain how to upgrade the RS9116 firmware in Birch/Chestnut versus Dogwood/Evergreen.

Upgrading FW fails, (not 4k aligned etc)

[   31.083237] redpine_91x: rsi_probe: ***** 9116 Module *****
[   31.095481] redpine_91x: redpine_hal_device_init: oper_mode = 5, coex_mode = 2
[   31.096938] redpine_91x: Received Board Version Number: 10
[   31.098092] redpine_91x: rsi_load_firmware: Loading file RS9116_NLINK_WLAN_BT_IMAGE.rps
[   31.100336] redpine_91x:  FW Length = 83272 bytes
[   31.100363] redpine_91x: ================================================
[   31.100366] redpine_91x: ================ RSI Version Info ==============
[   31.100369] redpine_91x: ================================================
[   31.100372] redpine_91x: FW Version  :
[   31.100377] redpine_91x: RSI FW Version      :  6f6c.2d.64.6f.6e75
[   31.100383] redpine_91x: Driver Version      : RS9116.NB0.NL.GNU.LNX.OSD.
[   31.100387] redpine_91x: Operating mode      : 5 [Wi-Fi STA + BT EDR]
[   31.100392] redpine_91x: Firmware file       : RS9116_NLINK_WLAN_BT_IMAGE.rps
[   31.100396] redpine_91x: ================================================
[   31.302086] redpine_91x: device firmware doesn't match  proceed to upgrade ...
[   31.302111] redpine_91x:  *** rsi_check_crc failed -                                                             will try reflash ***
[   31.349915] redpine_91x:  Burn Command Pass.. Upgrading the firmware
[   31.349939] redpine_91x: auto_fw_upgrade: Flash Start Address is not multiple of 4K
[   31.349944] redpine_91x: Firmware upgrade failed - attempt RAM load
[   31.349947] redpine_91x: Ram file magic 0x3a2f size 83208
[   31.349955] redpine_91x: Bad ram FW magic
[   31.349958] redpine_91x: ##### Firmware loading failed #####
[   31.352901] redpine_91x: redpine_hal_device_init: Failed to load TA instructions
[   31.352925] redpine_91x: rsi_probe: Failed in device init
[   37.602019] redpine_91x: redpine_set_clr_tx_intention,357: Wait event failed
[   37.602054] redpine_91x: rsi_tx_scheduler_thread,628:  Failed to get tx_access
[   43.746020] redpine_91x: redpine_set_clr_tx_intention,357: Wait event failed
[   43.746056] redpine_91x: rsi_coex_scheduler_thread,112:  Failed to get tx_access
[   43.746136] redpine_91x: rsi_probe: Failed in probe...Exiting

looks like I need about 321K FW file size but the one I’ve is only 83k or so.
Trying download again

Can you update this to use git clone instead of wget ?
I cloned the repo and got correct files (321k file size). I’ll see how’s performance with latest FW and report back

Yes, I just checked it out and it looks like Purism posted a bad copy of the firmware file at:

Here is what I see:

$ wget
$ md5sum RS9116_NLINK_WLAN_IMAGE.FW2.5.1.11.rps 
$ git clone
$ md5sum redpine-firmware-nonfree/files/firmware/RS9116_NLINK_WLAN_IMAGE.FW2.5.1.11.rps 

However the firmware file with Bluetooth support seems be the same:

$ wget 
$ md5sum RS9116_NLINK_WLAN_BT_IMAGE.FW2.5.1.11.rps 
$ md5sum redpine-firmware-nonfree/files/firmware/RS9116_NLINK_WLAN_BT_IMAGE.FW2.5.1.11.rps 

@angus.ainslie and @dos,
Please fix the file at and fix the documentation at to explain how to upgrade the RS9116 firmware on Dogwood and Evergreen.


Oh I’ve been downloading WLAN_BT driver, I still see size difference though (downloading through wget)

I’ve been having much better experience with newer FW. I’ll try 2.4GHz only if I see any more issues


Look at the downloaded file in a text editor. Or click the link :wink:

Nothing needs to be fixed.

(also, you’re not supposed to use RS9116_NLINK_WLAN_IMAGE files at all, I don’t think anyone even tests them)

@dos, I just tried it, and I see my mistake. I have to click on the download button to get the correct URL to download the “raw” file from Gitlab and then rename the file. This worked for me:

sudo wget -O /lib/firmware/RS9116_NLINK_WLAN_BT_IMAGE.rps

Now I get the same MD5 hash from the wget download as the git clone. OK, I’ll fix the my post above. We really should have clear instructions in the file for dunces like me. :wink:

1 Like

Not sure if I should continue on this thread:
Now I’m trying to connect bluetooth keyboard and keyboard doesn’t show up at all in bluetooth devices menu (can connect without issue to other devices)

Phone shows up as pureos on macbook pro and vice versa.

Also if I should create new thread please let me know.