Using the AX210 with Linux on the Framework Laptop

@Anil_Kulkarni could you double check that your WiFi antennas are connected fully, with the WiFi bracket on top of the card: WiFi Replacement Guide - Framework Guides

@Anil_Kulkarni I do … 5.13.8-arch1-1 is a little bit better but then you loose your bluetooth. There is a new firmware + driver patch on linux next I am trying now. If this doesn’t work I’ll try windows to be sure.

I checked my antenna connection too (that was my first suspicion).

I ended up working around this for now by disabling AX modes for the wifi:

cat /etc/modprobe.d/iwlwifi.conf

options iwlwifi disable_11ax=Y

Hopefully the driver support improves soon :frowning:

2 Likes

Update: Disabling 20/40mhz coexistance on my router seems to have solved the issue without disabling wifi6 on the card. See [SOLVED] AX201 Slow Wi-Fi / Newbie Corner / Arch Linux Forums

2 Likes

I didn’t look at this compatibility thread before ordering my DIY edition, and ordered the vPro version of the AX210. It’s working fine, but I do get a fair bit of standby battery drain (about 2-3% per hour) even after enabling deep sleep and even when turning off the wifi in Ubuntu desktop. Is this likely to be a vPro issue, and if so, is there likely to be a software fix in the future or should I just order a non-vPro replacement card?

3 Likes

It likely depends on Intel’s kernel driver plans, which we don’t have visibility into.

I’m having a very weird issue with my WiFi. I ordered the AX210 from Framework for my Linux build. However, I found that my download speeds were very slow compared to my other laptop running Linux. (4 to 8 times slower) Both laptops have the same upload speed. I spent a lot of time trying various kernels, distros, and parameters for iwlwifi.conf and default-wifi-powersave-on.conf, to no avail. I finally decided that it would be easier to spend $20 on a new wifi module, so I ordered one with the AX200ngw chipset. Same exact speeds. In frustration I switched the AX210 WiFi module with the one working fine in my other laptop, and NOTHING changed! The AX210 had fast downloads in the old laptop, and the formerly fast WiFi module had the exact same slow download speeds in the Framework laptop. Both machines have the same configurations. It seems to me that there’s something going on specific to the Framework laptop. Any ideas?

2 Likes

@FsOver2 Could you post results from a wifi performance tool like wavemon including the detailed Info section (F1), if you want to AB compare between your two systems we might be able to narrow down the differences:
If you want to share your router and approximate distance it could also help.

Also please remove your mac/ssid/router bssid if you are going to post screenshots output for privacy.

@FsOver2 could you also confirm that the WiFi antennas are connected fully, with the silver bracket on top of the card to keep them in place? WiFi Replacement Guide - Framework Guides

@Kieran_Levin,@nrp: OK, one more twist in my WiFi saga. Yesterday, Ubuntu 20.04 on my old laptop, the one running the AX210 fast (I moved it over from my Framework machine. I know, it has the wrong kernel version, but it was working) offered to upgrade the kernel. I did, and now the AX210 stopped working on the old machine under Ubuntu 20.04. I then ran various live distros to get the AX210 to work, and now both machines are experiencing the exact same slow download speeds (the Intel AX210 on the old laptop and the Intel 3165 on the Framework laptop). So now it’s clear it’s machine independent. Not Framework’s fault. I wonder if the AX210 was using the 3165’s firmware on the 5.10 kernel, and that was the magic sauce. Just guessing at this point. :thinking:

I haven’t had access to the WiFi router, but that’s the next place I’ll start poking around.

1 Like

I mentioned this in another thread, but I’ll throw it here too:

I have the AX210 (non-vPro) running elementaryOS 6. I ran into the wifi issue and was able to work around it by installing the latest linux-firmware package from Ubuntu for hirsute without updating the kernel. Currently running on 5.11.0-27.

2 Likes

Just got my framework laptop with the AX210 and my speeds seem limited to 130ish mbps up/down on a gigabit connection. The old 7260 in my old laptop gets around 540down/350up mbps by comparison.

Running a fresh install of arch on the framework laptop and arch on the old laptop as well.

Bluetooth seems to crash immediately upon activation.

If you’re able to, could you test out Ubuntu 21.04 or Fedora 34 with the latest updates? AX210 stability and performance seems to be highly dependent on the specific kernel version you have.

My tests were on kernel 5.13.13-arch1-1; I don’t intend to distro hop unfortunately since arch is what I use on my other linux systems. I imagine waiting for newer linux-firmware or kernel updates to come to arch might be a favorable bet.

Had trouble getting the fingerprint to work on the user level as well, though it was able to register correctly and function for su.

AX210 bluetooth+wifi is working on latest kernel with NixOS:
Linux host 5.13.13 #1-NixOS SMP Thu Aug 26 12:48:43 UTC 2021 x86_64 GNU/Linux

There might be an issue with waking up from suspend. Needs more experimentation…

1 Like

Same issue here. I bought another ax210 from another brand, same issue. Put it on my other computer, same issue. It is definitely not a framework laptop specific problem.

The symptom is very very slow connection with an AX access point (Netgear RAX120 nighthawk).

I am under Arch linux. kernel 5.13.13-arch1 and 5.14.0-next-20210903-1-next-git have the same issue.

This loads correctly the latest firmware from intel (66):

bench ➜  ~  modinfo iwlwifi|grep ucode
firmware:       iwlwifi-100-5.ucode
firmware:       iwlwifi-1000-5.ucode
firmware:       iwlwifi-135-6.ucode
firmware:       iwlwifi-105-6.ucode
firmware:       iwlwifi-2030-6.ucode
firmware:       iwlwifi-2000-6.ucode
firmware:       iwlwifi-5150-2.ucode
firmware:       iwlwifi-5000-5.ucode
firmware:       iwlwifi-6000g2b-6.ucode
firmware:       iwlwifi-6000g2a-6.ucode
firmware:       iwlwifi-6050-5.ucode
firmware:       iwlwifi-6000-6.ucode
firmware:       iwlwifi-7265D-29.ucode
firmware:       iwlwifi-7265-17.ucode
firmware:       iwlwifi-3168-29.ucode
firmware:       iwlwifi-3160-17.ucode
firmware:       iwlwifi-7260-17.ucode
firmware:       iwlwifi-8265-36.ucode
firmware:       iwlwifi-8000C-36.ucode
firmware:       iwlwifi-9260-th-b0-jf-b0-46.ucode
firmware:       iwlwifi-9000-pu-b0-jf-b0-46.ucode
firmware:       iwlwifi-bz-a0-mr-a0-66.ucode
firmware:       iwlwifi-bz-a0-gf4-a0-66.ucode
firmware:       iwlwifi-bz-a0-gf-a0-66.ucode
firmware:       iwlwifi-bz-a0-hr-b0-66.ucode
firmware:       iwlwifi-SoSnj-a0-mr-a0-66.ucode
firmware:       iwlwifi-ma-a0-fm-a0-66.ucode
firmware:       iwlwifi-ma-a0-mr-a0-66.ucode
firmware:       iwlwifi-ma-a0-gf4-a0-66.ucode
firmware:       iwlwifi-ma-a0-gf-a0-66.ucode
firmware:       iwlwifi-ma-a0-hr-b0-66.ucode
firmware:       iwlwifi-SoSnj-a0-jf-b0-66.ucode
firmware:       iwlwifi-SoSnj-a0-hr-b0-66.ucode
firmware:       iwlwifi-SoSnj-a0-gf-a0-66.ucode
firmware:       iwlwifi-SoSnj-a0-gf4-a0-66.ucode
firmware:       iwlwifi-ty-a0-gf-a0-66.ucode
firmware:       iwlwifi-so-a0-gf-a0-66.ucode
firmware:       iwlwifi-so-a0-hr-b0-66.ucode
firmware:       iwlwifi-so-a0-jf-b0-66.ucode
firmware:       iwlwifi-cc-a0-66.ucode
firmware:       iwlwifi-QuQnj-b0-jf-b0-66.ucode
firmware:       iwlwifi-QuZ-a0-jf-b0-66.ucode
firmware:       iwlwifi-QuZ-a0-hr-b0-66.ucode
firmware:       iwlwifi-Qu-b0-jf-b0-66.ucode
firmware:       iwlwifi-Qu-c0-hr-b0-66.ucode
firmware:       iwlwifi-QuQnj-b0-hr-b0-66.ucode
firmware:       iwlwifi-Qu-b0-hr-b0-66.ucode

If you query for the MCS, it looks like it switched to ax correctly:

bench ➜  ~  iw wlan0 link
Connected to 08:36:c9:20:de:7b (on wlan0)
	SSID: sai
	freq: 5765
	RX: 17747584 bytes (23049 packets)
	TX: 2335853 bytes (10953 packets)
	signal: -42 dBm
	rx bitrate: 1200.9 MBit/s 80MHz HE-MCS 11 HE-NSS 2 HE-GI 0 HE-DCM 0
	tx bitrate: 245.0 MBit/s 80MHz HE-MCS 3 HE-NSS 2 HE-GI 2 HE-DCM 0

	bss flags:	short-slot-time
	dtim period:	3
	beacon int:	100

My speedtest is saturating my 1Gbps line on ethernet but on the ax210:

bench ➜  ~  speedtest
Retrieving speedtest.net configuration...
Testing from Verizon Fios (96.236.147.18)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by LightSpeed Technologies (Canton, OH) [126.39 km]: 38.09 ms
Testing download speed................................................................................
Download: 5.67 Mbit/s
Testing upload speed......................................................................................................
Upload: 6.19 Mbit/s

I’ll continue to investigate and report here if I can find something.

Edit: not really a solution but if you disable ax, it goes back to some reasonable speed on ac:
in /etc/moprobe.d/iwlwifi.conf

options iwlwifi disable_11ax=Y
bench ➜  modprobe.d  iw wlan0 link        
Connected to 08:36:c9:20:de:7b (on wlan0)
	SSID: sai
	freq: 5765
	RX: 1293711948 bytes (959862 packets)
	TX: 809732022 bytes (104472 packets)
	signal: -42 dBm
	rx bitrate: 866.7 MBit/s VHT-MCS 9 80MHz short GI VHT-NSS 2
	tx bitrate: 866.7 MBit/s VHT-MCS 9 80MHz short GI VHT-NSS 2

	bss flags:	short-slot-time
	dtim period:	3
	beacon int:	100
bench ➜  modprobe.d  speedtest
Retrieving speedtest.net configuration...
Testing from Verizon Fios (96.236.147.18)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by Suddenlink Communications LLC (Parkersburg, WV) [189.55 km]: 33.639 ms
Testing download speed................................................................................
Download: 271.07 Mbit/s
Testing upload speed......................................................................................................
Upload: 184.70 Mbit/s

I made it work. The narrow issue is the compatibility on the 80Mhz channels. If you switch the AX120 to 160Mhz, it is way better.

pal ➜  modprobe.d  iw dev wlan0 link 
Connected to 08:36:c9:20:de:7b (on wlan0)
        SSID: sai
        freq: 5180
        RX: 457977610 bytes (635468 packets)
        TX: 3132888673 bytes (96299 packets)
        signal: -43 dBm
        rx bitrate: 2161.3 MBit/s 160MHz HE-MCS 10 HE-NSS 2 HE-GI 0 HE-DCM 0
        tx bitrate: 1225.1 MBit/s 160MHz HE-MCS 7 HE-NSS 2 HE-GI 2 HE-DCM 0

        bss flags:      short-slot-time
        dtim period:    3
        beacon int:     100

Now my iperf numbers are reasonable:

pal ➜  modprobe.d  iperf -c 192.168.1.139
------------------------------------------------------------
Client connecting to 192.168.1.139, TCP port 5001
TCP window size:  910 KByte (default)
------------------------------------------------------------
[  3] local 192.168.1.99 port 51108 connected with 192.168.1.139 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  1.07 GBytes   919 Mbits/sec

I hope it helps!

OK, some more information on my networking speeds. I would have posted this earlier, but my HP laptop, running Ubuntu 20.04, upgraded the kernel and it broke the driver for the AX210 WiFi module that I had moved from the Framework laptop. After following a link on one of the other posts, (networking - Intel Wifi 6 AX210 - WiFi not working after Update - Ask Ubuntu) , I was able to get both laptops running for a side-by-side comparison. I also got my wireless router nailed down, and was finally able to compare apples-to-apples. Here are my screen grabs from wavemon…


Despite having slightly better SNR, the framework laptop is slower than the HP laptop with the swapped out AX210 WiFi module. So the issue isn’t the AX210. The best I can guess is that I broke one of the WiFi antennas when I originally installed the AX210 in the Framework laptop when I first received it. I’m making this assumption because the NSS (Number of Spatial Streams) always shows up as being “1” on the Framework laptop. However, on the HP laptop that I swapped WiFi modules with, the NSS always registers 2. My next step is to open up the laptop and see if this is indeed the case. I haven’t found any postings on the web to suggests this is a driver issue.

@Guillaume_Binet: How did you force it to use the 160 Mhz channel?

@Anil_Kulkarni
Click on Wireless on the left menu then on the 5GHz section select Mode: "Up to 4803 Mbps (160Mhz) (11ax, HT160, 1024-QAM).