Terrible WiFi performance with Librem13, Librem15

I can confirm this on my Librem 15v3. Black to main, gray to aux.

My Wi-Fi performance is also terrible, whether I’m using the free software or proprietary driver, or Ubuntu 20.04, PureOS 9 or 10, Debian 10 or 11, or Qubes, the performance is consistently bad. This happens when I’m 2m away from my AP with line-of-sight and a nearly perfect signal quality. Large count of “invalid misc” when streaming anything.

As an example, my System76 in another room with a link quality of 60/70 and an -50 dBm signal, using its internal Wi-Fi, I will maybe have 2000 invalid misc after several hours of heavy use. On the Librem 15v3 with its internal Wi-Fi, line-of-sight, within 1 meter of the AP I will see tens of thousands of invalid misc packets in a matter of minutes and not be able to hold a bitrate over ~50 Mbps (I have a 200 Mbps fiber connection to the internet).

Meanwhile the System76 in the other room, through plaster walls, using its internal Wi-Fi adapter is holding a 300-400 Mbps bitrate with a -50 dBm signal and has a rock solid connection.

1 Like

Presumably that’s using a vanilla Intel WiFi card, which you are free to purchase and install in a Librem laptop and compromise your standards - if you judge that the benefits outweigh the risks in your personal circumstances.

1 Like

I just went over the whole thread again which delivers a lot of interesting information (spread out over the whole thread).

Short overview:

Purism’s main goal is to deliver free hard- & software. So the choice in wifi-chips and free drivers for Librem 13 and 15 were limited. For some users this combination seemed/s to deliver poor wifi results.

Possible solutions:

  • change free to proprietary driver (little better wifi)
  • change to an Intel 9260 card + driver (much better wifi + additonally working Bluetooth, but closed software blob -> starting roughly from post 77)

My Librem 13v3 is (manually) customized with 32GB Samsung RAM, Samsung Pro NVMe SSD and Intel 9260 Wifi/Bluetooth and even years after delivery (except a broken hinge which was solved by Purism marvelously) it is running like a charme and a (fast) joy to work with.

3 Likes

I don’t think that’s an accurate summary.

The “much better wifi” after switching to another card is still absolutely awful wifi. It merely went from “can not connect to wifi 3 meters away with no walls”, to “unlike every other device I can’t use this in much of my house”.

I suspect the metal body of the laptop.

Because come on, no wifi card, free driver or not, could possibly be the cause of that bad an experience.

I had to plug in a shitty USB wifi stick to make it useful.

It is accurate - at least for my experience and my device. My connection is definitely “much better” as i mentioned (i get reception from other rooms) - absolutely usable.

As you mention, there are other devices that have better reception which might be due to the metal housing. But at least with my L13 that definitely doesn’t matter because the differences are not big (anymore - like they used to be with the original wifi-card - which for me used to be stressing).

My wifi is also much better. Still unacceptable (getting reception in other rooms is a really low bar).

Yes, depending on the use case an wifi card change can make it acceptable, but I don’t want this thread to end on a note implying this is simply a fix (albeit one that sacrifices openness).

I’m happy to hear it’s now good enough for you. For me it was still the case that for large transfers, or latency-sensitive stuff (including SSH without glitchy latency on interactivity), I had to walk to the room with the AP. This is not the case with the Lenovo X1 Carbon I’ve since switched to.

I wonder if your internal antenna wires are improperly positioned. Have you checked?

1 Like

It’s been a couple of years since I tried to get this to work, but yes they were. Note though that the connectors are “not designed with reconnection in mind” and are typically good for about 30 connections. But could break on the first disconnect if you’re unlucky.

And then you have to buy new antennas and wifi card.

This worked for me (after a reboot)! Thank you!

This is what I did, and it worked perfectly.

On Amazon, search for an Intel 9260 wifi card.

Download the Proprietary Firmware directly from kernel dot org.
https://wireless.wiki.kernel.org/_media/en/users/drivers/iwlwifi-9260-th-b0-jf-b0-34.618819.0.tgz

Download firmware-iwlwifi directly from debian dot org
http://ftp.us.debian.org/debian/pool/non-free-firmware/f/firmware-nonfree/firmware-iwlwifi_20230625-2_all.deb

After you have the files, you can make the changes to your system. Install the software before you shutdown the laptop to install the hardware.

Copy the files in the in the kernel driver file you downloaded from kernel dot org into the /etc/firmware folder first. Then just double click the .deb file in your file manager. You will be prompted for the root password and the software/firmware will be installed to the kernel.

After the two files have been installed, you can shutdown the laptop and install the hardware.

Boot the laptop and enjoy your new hardware.

1 Like

If for some reason in the future the debian link is outdated and not working, just search google for it.

https://www.google.com/search?q=site%3Apackages.debian.org+firmware-iwlwifi

The link to the kernel firmware came from intel’s website.
https://www.intel.com/content/www/us/en/support/articles/000005511/wireless.html

2 Likes

Any suggestions other then using Amazon, installing proprietary drivers/firmware, and Google?

Believe me, I bought a Purism laptop for a reason, just like most of you.

But unfortunately, the wifi on my Librem15v4 just does not work well at all.

I recently went on a two week trip in Rocky Mountains. I was almost completely unable to use my laptop for browsing internet. My Samsung phone had no problems using the wifi at each hotel. My GF had no issues using her iPad on the various hotel’s wifi routers. Just my laptop. Even at home I had to install an external USB wifi adapter to use my home wifi without dropping connection many times a day.

To answer your question though. I only offer the “google” link so that “normies” would be able to at least get their hardware working. I offered direct links to the proprietary files to take all the guess work out of it for those “normies” too.

For me, I’m willing to deal with it. My OpSec doesn’t require me to worry too much about the wifi adaptor.

I run Linux Mint. I use Librewolf hardened with Arkenfox’s user.js plus Adnauseam, CanvasBlocker, and ClearURLs. I do almost all my internet usage via VPN too. My router is a Raspberry Pi with OpenWRT. And I have a pretty thorough hosts file.

But I just really hated having that USB dongle sticking out of the side of my laptop just to get reliable wifi at home, and it too was proprietary anyway. I forgot to bring the dongle on my trip, so there I was… A VERY expensive laptop that I couldn’t really use. I never want that to happen again.

1 Like

Maybe use it as an Air-gapped for high security purpose/storage? Or how about a Gigabit Ethernet adapter and power-line (PLC)? That’s how I use mine at home in rooms where I have poor wifi range. Shields you from MITM attacks as well!

1 Like

You may want to review ClearURLs’ rule catalog files like I did:

1 Like

I appreciate this information. I will be making additional changes to ClearURLs. Thanks.

In my defense though, I use Adnauseam (uBlock Origin) to block ALL 3rd party connections. Effectively breaking almost every site i visit and blocking ALL 3rd party scripts (and domains) by default. I selectively allow what I want for each 3rd party domain as I see fit. Basically like what you describe. Even though I use the filter lists to as a block list, I am only allowing what I choose as needed. So basically an allow list. But this does not clear the URLs (that I allow) of the tracking information, so that is why was using ClearURLs. Plus, I am only blocking 3rd party scripts with Adnauseam, and not blocking any 1st party scripts, which is another reason for me to be using ClearURLs.

Now I have to fix ClearURLs.

As to using google, for example. I choose to use and abuse them for my own needs. I block as much of their tracking as possible. Basically, making the data they collect, not very useful. Waste their time, spin their wheels. As futile as that may be for me. I figured if I decide to do a google search or use some other google service, I allow some of their connections, because well, I’m logged in and they already know it’s me. I just try to break as much of their data as possible.

But if I visit a random site on the internet, I don’t want google to load ANY content on that site. Even if it breaks that site. If a website today uses google scripts/content to the point that the site breaks without it, then goodbye, I’ll just go to the next site. Don’t even get me started on all these sites using CDNs. Another reason to use ClearURLs. I want the content from the CDN, but need to strip the tracking information from the requests.

My OpSec does not require any of this. I’m not Edward Snowden. But just like at home, I close my blinds at night so I can watch TV without my neighbors watching with me. I’m not doing anything, but they can F off. What I’m doing is my business and they can move along.

1 Like

I may request that you open a new thread and explain a bit more about how to improve ClearURLs.

I assume you link to your own .json file or something. I don’t see another way to modify their opinionated settings.

What I’d like to try, is to block all tracking from all URLs and see what breaks. Then go from there. Am I wrong?

1 Like

Something else I do sometimes, if you want to torify your browsing, or entire network (like a VPN, I guess) but you don’t need the level of security of the Tor Browser (because it’s so bulletproof) but still want to be on the Tor network in your default browser.

Like I said before about OpSec. You’ll have to decide your required security level for your own needs.

1 Like

I have my own static filter rules I update and manage for uBlock Origin, which you can see in the Removing URL Parameters thread I linked, so I have no need to consider using ClearURLs. I spent many months refining the eBay allowlist for guest checkout, and provided descriptive functions for each whitelisted URL parameter. TELUS is still a work-in-progress for various reasons.

I only visit a short list of websites on a daily. For those sites, I want to have them setup to strip tracking info, but still work without tinkering. I currently don’t have to tinker, but without ClearURLs, I don’t have a way to strip the tracking from URLs that I do allow.

I will go look at your other thread to get some insights into how to do that.

1 Like