Terrible WiFi performance with Librem13, Librem15


Has there been any word whether Redpine Signal’s Wi-Fi/Bluetooth with free Linux drivers will be ready for the Librem 5? I assume that Purism decided to use SDIO to communicate with the Wi-Fi, so that it doesn’t have to use the crappy Atheros Wi-Fi chip.


let’s hope so :crossed_fingers:


If there were alternative modules with better performance and free drivers, they would use them.

That is a little strange however. I think that for the ath9k series, the ath9k was the only driver available and the proprietary driver long abandoned.

I say this, because there are ath9k based chips, where the oss kernel driver is the only option, and even goes in combination with the open firmware from qualcom themselves: https://github.com/qca/open-ath9k-htc-firmware

Granted, no driver is perfect, and some extra work simply may be needed or omitted here. But I don’t think the chips are that horrible by themselves. Buggy firmware is usually the cause (but again, I’m only familiar with devices using the open sourced firmware).


Actually there are alternatives using fully free firmware. ThinkPenguin has put in a lot of work negotiating with Atheros to be able to sell wireless devices with fully free firmware, and they’ve been selling them for several years. Their hardware is certified by the FSF: https://ryf.fsf.org

I’ve replaced the Librem 13 laptop Atheros WiFi card with ThinkPenguin’s Wireless N M.2 NGFF Card v2 (TPE-M2NCRD2) which is a newer Atheros model. It looks like this card hasn’t been stamped as RYF from the FSF yet, but they mention like their other cards that it doesn’t use proprietary firmware or need proprietary drivers. From looking at NetworkManager’s Connection Information I see that the burst speed now frequently hits at least 72 Mb/s at times whereas the original card wouldn’t cross 6 Mb/s. I still need to test that this card maintains a decent connection when video conferencing; so far it looks promising.


This is unacceptable for me, I don’t want to buy a new laptop and have to worry about replacing parts for basic functionality. If Purism is going to insist on just using freeware than as a company its incumbent upon you to come up with an in house solution built into the Pure OS, which means hire some more in house talent on the software front. But having your product ship to customers with hardware that is not completely functional should never be an option. I love Purism librem hardware design but they seem like they still need to do a lot of work on the software front.


New Librem15, terrible WiFi here, too. I looked at the ThinkPenguin card ~$60. Intel9260 ~$15 free deiivery tomorrow. I am good with swapping hardware. Not sure how to get/install the firmware blob; clearly I’ll have to snag it before I pull the old WiFi card. Did you ever write that tutorial or would you like some help doing that?


For me the ThinkPenguin card just worked on my Librem 13; I didn’t have to do anything because it was also Atheros.


Interesting. Does that mean you achieved good WiFi performance by swapping in the ThinkPenguin card using the original open-source driver? Or did you install the non-free Atheros driver? Do you have performance metrics?


I don’t own a Librem 13/15 to test this, but these instructions should work:

  1. Install your new Intel Wi-Fi card and then connect your laptop to your router via an Ethernet cable so you still have an internet connection.

  2. Edit your list of repos from the command line:
    sudo nano /etc/apt/sources.list

Add the following line:
deb http://mirrors.linux.iu.edu/linux/debian/ testing non-free contrib

Press CTL + X to exit and press Y to save.

  1. Then refresh the list of available packages:
    sudo apt update

  2. Then, install the Intel Wi-Fi firmware:
    sudo apt install firmware-iwlwifi

  3. Then, remove the Debian repos:
    sudo nano /etc/apt/sources.list

Delete the line:
deb http://mirrors.linux.iu.edu/linux/debian/ testing non-free contrib

  1. Then, refresh the list of packages:
    sudo apt update


That can be a problem on laptops that don’t have an ethernet port. (May have to try a USB dongle that gives you an ethernet port but that could be a can of worms of its own.)


Oh, I see that Purism removed the Ethernet port in recent models. OK, then do the above instructions with the Atheros Wi-Fi card installed. Then, install the Intel Wi-Fi card and enter this command:
sudo dpk-reconfigure firmware-iwlwifi

(I’m not sure if the package needs any reconfiguring with the Wi-Fi card installed, but some packages need to detect the hardware to configure correctly, so do it just in case.)


Thank you amosbattos.

I bought an Intel card and used your procedure (slightly modified). I don’t have USB-C to Ethernet adapter, plus running Cat-5 to the router is not practical. So I tethered my cell phone. I now have good solid WiFi and Bluetooth works. I understand that this is not a desirable solution for everyone. But it’s an acceptable risk for my situation.

Librem15 with no RAM/HDD option? A few other questions

Yes. that is how i understand the thinkpenguin. There are two things to wofi cards as far as i know. Driver and a frimeware. The first is open source for more, also the intel i think, but many need closed source firmeware which also often need to be loaded at run time. So it needs to be part of you linux. That is what is in un free for intel i think.
Than there are cards wich have closed firmware which is embeded in the hardware and not upgradeable from the system and therefor considered equal to a hardware implementation. I think the thinkpenguin people get permission to ship the cards withe as free firmware and that is why it can be used without the non-free repo.
Disclaimer: i don’t own any of the hardware and so haven’t tested any of this. So i could be worng


this is what i did, it was less of a can of worms than i expected ! the adapter that i got (“Starlink USB31000S USB3-to-gigabit ethernet adapter”) almost maxes out 1Gbit/s, has upstream drivers in the Linux kernel (AX88179) and no firmware blobs
would have preferred a built-in ethernet port, mostly not to have an adapter bungling out, but this is very okay

No more ethernet port?
Ethernet adapter

If you haven’t already found it, the firmware blob is the link in my earlier post that the forum misinterpreted as an ad for intel, https://www.intel.com/content/www/us/en/support/articles/000005511/network-and-i-o/wireless-networking.html


Hundreds of posts and years later the issue persist, and these people think they can engineer a phone? No wonder it can’t make calls.

Would be great to have an update on this. A $1500 laptop should be able to at least get wifi if more than 6 meters away from the router.


Purism solved the problem on the phone by working with Redpine Signals so the RS9116 can function over SDIO 2.0 without binary blobs in Linux. I expect that Purism will also use the RS9116 in future Librem laptops as well, since there appears to be no way to make the Atheros 802.11n chip work well.

Instead of criticizing Purism, you should be thanking the company for its work to give us a free/open alternative to the crappy Atheros 802.11n chip.


Any chance this module / implementation could be bought as an upgrade kit at some point? I’d love to put a better wifi module into my Librem 13v4. I would definitely buy such an upgrade module from purism.


There’s always a chance. Why not ask Purism directly?

I couldn’t tell whether this is drop-in replacement compatible though i.e. at the hardware level. I expect the software change can be managed.


I am also experiencing multiple WiFi issues with Librem 15v4. I would like to add that this is a brand new device. I’m dual booting PureOS and Ubuntu 18.04. The WiFi issues really only started when I started using Ubuntu. I would attempt to connect to my home WiFi, and it would state “Connecting” for about a minute, then state that the connection failed. No amount of turning WiFi off/on or killswitch off/on would work. Eventually I tried turning hwcrypt off and disabling IPv6, which seemed to do the trick for about 3 hours or so. But then speeds got really slow, pinging to google.com gave 55% packet loss. Then it stopped working completely, back to “Connecting” and failing again. I then tried restarting the NetworkManager service by doing sudo service network-manager restart then followed up with sudo ifdown wlp1s0; sudo ifup wlp1s0 just to be sure. This, surprisingly, worked… For a day. I then switched to PureOS to check some things out, noticed I was having wifi issues there now. Switched back to Ubuntu, back to square friggin’ one. Unable to connect again. I’m typically able to connect to my phone’s wifi hotspot however. But this time I wasn’t. I restarted multiple times. After the 4th or 5th restart, it started working again (?).

But even though it’s connecting now, the connection is really spotty. Attempting to play League of Legends is impossible as the network connection will drop out of nowhere for 3-5 minutes, or I’ll experience severe packet loss.

It seemingly has a mind of its own.