Intel AX210 having really slow wifi speed issues (Kubuntu Ryzen 5 7640u)

I’ve been having slow wifi issues with my framework laptop 13 (ryzen 5 7640u) with the ax210 wifi card for a couple of months. I had speeds in the past that were of at least 80mbps in some locations outside of my home, but once I get home, I keep getting speeds that are at best 20mbps and at worst 3mbps.

I don’t really understand what could be causing this issue since I tried a couple of distros to see if any of them could fix the issue. I tried Linux Mint 22.3, LMDE 7, debian 13, pikaos 4, ubuntu 26.04 and now kubuntu 26.04 and I get the same speed issues no matter what.

I also tried changing the power saving settings of iwlwifi with the iwlwifi.conf and that didn’t change anything. Should I just change my wifi card? I still didn’t check if my wifi antennaes where ok or not, so I will check that. I’m currently on kubuntu 26.04 on kernel version 7.0.0-28 with BIOS version 3.20. I also had wifi speed issues on BIOS version 3.18.

The antennas in the fw 13 are relatively bad (compared to pretty much all laptops I have previously had) so it is likely your signal just got slightly worse which pushed your speeds further down than they already were.

It is still probably a good idea to check your antennas are fully plugged in on the card though.

I checked that for the antennaes and they don’t seem to have any visible damage and they are well seated onto my wifi card.

So then I checked if it could be a software bug even if I tried a couple of distros. Turns out, the wifi router we got is not advertising the environment correctly.

BSS [redacted] – associated
last seen: 673.611s [boottime]
TSF: [redacted] usec (5d, 19:29:14)
freq: 5220.0
beacon interval: 100 TUs
capability: ESS Privacy RadioMeasure (0x1011)
signal: -41.00 dBm
last seen: 3260 ms ago
Information elements from Probe Response frame:
SSID: [redacted]
Supported rates: 6.0* 9.0 12.0* 18.0 24.0* 36.0 48.0 54.0
DS Parameter set: channel 44
Country: CA Environment: bogus
Channels [36 - 48] @ 30 dBm
Channels [52 - 64] @ 24 dBm
Channels [100 - 116] @ 24 dBm
Channels [132 - 144] @ 24 dBm
Channels [149 - 165] @ 30 dBm

I redacted some of the info for the scan I did, but I just wanted to show that the channels do exist, but because the environment is not properly set, I think it’s not able to get any of the wifi bands like the 80Mhz and 160Mhz ones.

global
country CA: DFS-FCC
(2400 - 2483 @ 40), (N/A, 36), (N/A)
(5150 - 5250 @ 80), (N/A, 23), (N/A), NO-OUTDOOR, AUTO-BW
(5250 - 5350 @ 80), (N/A, 26), (0 ms), DFS, AUTO-BW
(5470 - 5730 @ 160), (N/A, 26), (0 ms), DFS
(5730 - 5850 @ 80), (N/A, 36), (N/A), AUTO-BW
(5850 - 5895 @ 40), (N/A, 27), (N/A), AUTO-BW
(5925 - 7125 @ 320), (N/A, 12), (N/A), NO-OUTDOOR

phy#0 (self-managed)
country CA: DFS-UNSET
(2402 - 2437 @ 40), (6, 22), (N/A), AUTO-BW, NO-HT40MINUS, NO-80MHZ, NO-160MHZ
(2422 - 2462 @ 40), (6, 22), (N/A), AUTO-BW, NO-80MHZ, NO-160MHZ
(2447 - 2482 @ 40), (6, 22), (N/A), AUTO-BW, NO-HT40PLUS, NO-80MHZ, NO-160MHZ
(5170 - 5190 @ 160), (6, 22), (N/A), NO-OUTDOOR, AUTO-BW, IR-CONCURRENT, NO-HT40MINUS, NO-320MHZ, PASSIVE-SCAN
(5190 - 5210 @ 160), (6, 22), (N/A), NO-OUTDOOR, AUTO-BW, IR-CONCURRENT, NO-HT40PLUS, NO-320MHZ, PASSIVE-SCAN
(5210 - 5230 @ 160), (6, 22), (N/A), NO-OUTDOOR, AUTO-BW, IR-CONCURRENT, NO-HT40MINUS, NO-320MHZ, PASSIVE-SCAN
(5230 - 5250 @ 160), (6, 22), (N/A), NO-OUTDOOR, AUTO-BW, IR-CONCURRENT, NO-HT40PLUS, NO-320MHZ, PASSIVE-SCAN
(5250 - 5270 @ 160), (6, 22), (0 ms), DFS, AUTO-BW, NO-HT40MINUS, NO-320MHZ, PASSIVE-SCAN
(5270 - 5290 @ 160), (6, 22), (0 ms), DFS, AUTO-BW, NO-HT40PLUS, NO-320MHZ, PASSIVE-SCAN
(5290 - 5310 @ 160), (6, 22), (0 ms), DFS, AUTO-BW, NO-HT40MINUS, NO-320MHZ, PASSIVE-SCAN
(5310 - 5330 @ 160), (6, 22), (0 ms), DFS, AUTO-BW, NO-HT40PLUS, NO-320MHZ, PASSIVE-SCAN
(5490 - 5510 @ 160), (6, 22), (0 ms), DFS, AUTO-BW, NO-HT40MINUS, NO-320MHZ, PASSIVE-SCAN
(5510 - 5530 @ 160), (6, 22), (0 ms), DFS, AUTO-BW, NO-HT40PLUS, NO-320MHZ, PASSIVE-SCAN
(5530 - 5550 @ 160), (6, 22), (0 ms), DFS, AUTO-BW, NO-HT40MINUS, NO-320MHZ, PASSIVE-SCAN
(5550 - 5570 @ 160), (6, 22), (0 ms), DFS, AUTO-BW, NO-HT40PLUS, NO-320MHZ, PASSIVE-SCAN
(5570 - 5590 @ 160), (6, 22), (0 ms), DFS, AUTO-BW, NO-HT40MINUS, NO-320MHZ, PASSIVE-SCAN
(5590 - 5610 @ 160), (6, 22), (0 ms), DFS, AUTO-BW, NO-HT40PLUS, NO-320MHZ, PASSIVE-SCAN
(5610 - 5630 @ 160), (6, 22), (0 ms), DFS, AUTO-BW, NO-HT40MINUS, NO-320MHZ, PASSIVE-SCAN
(5630 - 5650 @ 160), (6, 22), (0 ms), DFS, AUTO-BW, NO-HT40PLUS, NO-320MHZ, PASSIVE-SCAN
(5650 - 5670 @ 80), (6, 22), (0 ms), DFS, AUTO-BW, NO-HT40MINUS, NO-160MHZ, NO-320MHZ, PASSIVE-SCAN
(5670 - 5690 @ 80), (6, 22), (0 ms), DFS, AUTO-BW, NO-HT40PLUS, NO-160MHZ, NO-320MHZ, PASSIVE-SCAN
(5690 - 5710 @ 80), (6, 22), (0 ms), DFS, AUTO-BW, NO-HT40MINUS, NO-160MHZ, NO-320MHZ, PASSIVE-SCAN
(5710 - 5730 @ 80), (6, 22), (0 ms), DFS, AUTO-BW, NO-HT40PLUS, NO-160MHZ, NO-320MHZ, PASSIVE-SCAN
(5735 - 5755 @ 80), (6, 22), (N/A), AUTO-BW, NO-HT40MINUS, NO-160MHZ, NO-320MHZ
(5755 - 5775 @ 80), (6, 22), (N/A), AUTO-BW, NO-HT40PLUS, NO-160MHZ, NO-320MHZ
(5775 - 5795 @ 80), (6, 22), (N/A), AUTO-BW, NO-HT40MINUS, NO-160MHZ, NO-320MHZ
(5795 - 5815 @ 80), (6, 22), (N/A), AUTO-BW, NO-HT40PLUS, NO-160MHZ, NO-320MHZ
(5815 - 5835 @ 40), (6, 22), (N/A), AUTO-BW, NO-HT40MINUS, NO-80MHZ, NO-160MHZ, NO-320MHZ
(5945 - 7065 @ 160), (6, 22), (N/A), NO-OUTDOOR, AUTO-BW, IR-CONCURRENT, NO-320MHZ, PASSIVE-SCAN
(7065 - 7105 @ 40), (6, 22), (N/A), NO-OUTDOOR, AUTO-BW, IR-CONCURRENT, NO-80MHZ, NO-160MHZ, NO-320MHZ, PASSIVE-SCAN
(7105 - 7125 @ 20), (6, 22), (N/A), NO-OUTDOOR, AUTO-BW, IR-CONCURRENT, NO-HT40MINUS, NO-HT40PLUS, NO-80MHZ, NO-160MHZ, NO-320MHZ, PASSIVE-SCAN

It just cannot seem to let any bands except PASSIVE-SCAN. I will see if I can change the wifi router settings or if a reset of the wifi router will fix the issue. Sorry for the long text, I don’t know how to make it a scrollable block.

That’s it for now!

On the note of different distros you tried they seem to all be some flavour of debian so they may have quite similar kernels. If you actually want some diversity testing try something arch based (Cachyos maybe) or fedora or something with a more recent kernel.

What kind of ap are you using (Wifi6/7 or something older)?

Even 20Mhz wide 2.4ghz wifi6 with semi decent reception should be much faster than 20mbit.

I installed fedora 44 on the laptop and I’m still getting the same iw reg problems

BSS [redacted](on wlp1s0)
last seen: 722.745s [boottime]
TSF: [redacted] usec (5d, 23:48:41)
freq: 2412.0
beacon interval: 100 TUs
capability: ESS Privacy ShortSlotTime RadioMeasure (0x1411)
signal: -52.00 dBm
last seen: 6229 ms ago
Information elements from Probe Response frame:
SSID: [redacted]
Supported rates: 6.0* 9.0 12.0* 18.0 24.0* 36.0 48.0 54.0
DS Parameter set: channel 1
Country: CA Environment: bogus
Channels [1 - 11] @ 30 dBm
TPC report: TX power: 22 dBm
ERP: Barker_Preamble_Mode
RSN: * Version: 1
* Group cipher: CCMP
* Pairwise ciphers: CCMP
* Authentication suites: PSK
* Capabilities: 16-PTKSA-RC 1-GTKSA-RC (0x000c)

Now it only sees channels from 1 to 11 Mhz. Everything else seems to be the same as before (Actually, it’s using the 2.4ghz band instead of the 5ghz band). So I think I have an environment issues since it still says bogus. :frowning:

The wifi did marginally get faster for its download speed. 40mbps instead of 20mbps. That is still far from the 500mbps I get on my pixel 8, but an improvement none the less.

For the wifi router, it’s the ISP provided one. It supports Wifi 6 and does support the 5ghz band. I checked on my phone’s network settings. It even says that I have a max of 960 Mbps Download speed.

You might be chasing red herrings here, I just checked my iw reg get also has PASSIVE-SCAN on all the 160 channels and jet I am connected at 160 and get 1.5Gbit iperf3.

After some more testing, when I’m near the router on Fedora 44, I get a max of 60mbps. When I test my phone’s internet speed right next to the router, I get 900mbps. For the red herring, you are probably right if that is true! I really think that the only problem I got is the environment bogus problem at this point. I’m going back to kubuntu since it has a recent enough kernel (version 7.0.0-28) and it has support for all the differents programs I want to use with my laptop. I hope I can find a fix sometime soon :sleepy_face:

EDIT: when I’m in my bedroom, I get 20Mbps again :frowning:

That is way too slow for near the ap, pretty sure the torture test I did with an old intel ac card I ran without antennas was faster than that (and it survived somehow).

That is a solid indicator that the ap is running wifi6 with 160mhz channels (theoretically probably possible by really good 80Mhz but 900ish sounds like 160 bottlenecked by gigabit uplink).

Can you show me the output of iw dev wlp1s0 link when near the ap?

So you tried different distros which all behaved the same (not really unexpected, the ax210 has had solid support for ages), one thing to test to completely exclude software would be trying with windows (don’t need to install id, rufus can put windows 2 go on a decently fast usb stick and you can temporarily boot off that to test if that works better).

Do you still have the mediatek card that came with the laptop? Might be worth seeing if that is faster. I am starting to think your ax210 may just be defective. If it is similarly slow on windows and the mediatek is faster either just use that or get a replacement ax210 (fortunately they are pretty cheap)

Ok, that is weird indeed. When I do the iw dev link I get this:
Connected to [redacted] (on wlp1s0)
SSID: [redacted]
freq: 5220.0
RX: 204880429 bytes (138343 packets)
TX: 2136961 bytes (22879 packets)
signal: -36 dBm
rx bitrate: 1200.9 MBit/s 80MHz HE-MCS 11 HE-NSS 2 HE-GI 0 HE-DCM 0
tx bitrate: 1080.6 MBit/s 80MHz HE-MCS 10 HE-NSS 2 HE-GI 0 HE-DCM 0
bss flags: short-slot-time
dtim period: 1
beacon int: 100

So that is definitely weird that I only get 60mbps max instead of the 1 gig. In my bedroom, I should be getting around 300mbps, I’m getting 25mbps instead.

For the mediatek card, I bought all the parts from my laptop refurbished since that was an option when I bought my laptop. I already had an ax210 laying around since I bought two of those to put inside my big tower pc and in my older laptop (which is now in the framework laptop). When you buy refurbished, it doesn’t come with a wifi card, ram and storage. The rest comes with it.

For a replacement part, I think I will just buy a new ax210 non vpro from framework directly since I’m going to replace the battery anyways. Also, I will test with windows 2 go later today since I don’t have a windows computer that I can access at the moment.

That’s it from me!

Very weird, you got amazing signal (-36dbm is pretty damn good) and while it is 80Mhz (decent chance your ap only supports 80, 160Mhz channels is unfortunately not a mandatory wifi6 feature) your connection should be a lot faster than double digit mbit.

How exactly are you testing the speed?

GIF redacted sorry

Here is a really crap-tastic gif of my wifi test :stuck_out_tongue:

That is on fedora 44. I said I would install kubuntu, but I didn’t do it yet, so I will soon!
I do the same thing on my phone, speedtest.net and running the speed test.

Definitely no exageration on the craptastic, also man it is easy to forget how the internet looks without adblock, damn. (also the stuff you previously redacted is visible)

I think you tried enough different distros to exclude that part.

Do you happen to have some other linux machine on the network you could run iperf3 against so we can isolate the internet from the equation?

I actually had a windows pc lying around. I put windows to go on my microsd card and, unfortunately, the results are incredible!

So, that is quite odd… Also, I’m not close to my other big tower pc with linux on it so I can’t really test it out.

I think I need to figure out why I get environment bogus on linux. That might be the issue.

Well that confirms the hw is good, mid 600s to low 700s is about what I got on my old 80mhz only ap so that is good (asuming the slow upload is your internet).

It just gotta be on the same network preferably connected wired with gigabit+, you just need to run iperf3 -s on there and then on your laptop you can run iperf3 -c [ip of your other pc runing -s] to test the speed against that eliminating the internet from the equasion.

Maybe still worth trying something with the very latest kernel and firmware packages, try something arch based like catchy or endeavour or just plain arch.

I installed Arch Linux with the latest updates and I still get 60mbps :frowning:

I will test out iperf3 tomorrow with the other windows computer to see if the router is the problem or not. I think after testing all the different flavors of linux, I can safely say that it’s not the kernel that is the problem.

P.S. I do agree, the amount of ads you get without any type of ad blocking is insane. I forgot how bad it was until these quick os tests lol.

EDIT: I’m still getting environment bogus and getting cut down to the 1 to 11mhz channel:
BSS [redacted] (on wlan0)
last seen: 955.826s [boottime]
TSF: [redacted] usec (7d, 08:10:07)
freq: 2412.0
beacon interval: 100 TUs
capability: ESS Privacy ShortSlotTime RadioMeasure (0x1411)
signal: -43.00 dBm
last seen: 6072 ms ago
Information elements from Probe Response frame:
SSID: [redacted]
Supported rates: 6.0* 9.0 12.0* 18.0 24.0* 36.0 48.0 54.0
DS Parameter set: channel 1
Country: CA Environment: bogus
Channels [1 - 11] @ 30 dBm
TPC report: TX power: 22 dBm

I get consistent 1.2Gbit from mt7921 in my fw13 7840u ; they are 9$ from aliexpress so it’s a cheap swap. You didn’t mention what the Access point is; the model is important it could possibly have a radio from a Dozen or so different vendors/revisions and there are known issues with AP’s misbehaving - even things like time synchronization/timezone often get overlooked. Based on your results so far I would wager it’s a combination of regulatory power mismatch set on the AP and the upto date regulatory settings in crda/Linux throttling or restricting things based on bogus AP broadcasted data. For reference I get 120-200mbps with wifi6 on 2.4ghz channels with pretty much any vendor radio to my well tuned OpenWRT AP’s (with a range of Mediatek and Qualcom RF in them). If you’re getting less than 70mbps then you’re either in an incredibly densely populated area (check using wifi analyzer from f-droid/play store) or something is broken on the AP side. Some other things to do - make sure you seperate your 2.4ghz and 5ghz ESSID’s - turn off any sort of ‘smart connect’ and use the regional channels available graph (wikipedia has a good table) to make sure you stick the control channel on a Legal usable band for each of them in your jurisdiction. Also disable any sort of ‘Auto’ channel selection.

I do have a technicolor XB7 CGM4331COM which is the ISP provided Wifi router. I live in an area that is the opposite of very dense, so that is absolutely not the issue. For example, literally all the others computers that I could test in our home gets at least 400mbps download speeds. I also checked on my pixel 8 with an app called wifianalyzer (available on f-droid), and Our wifi seems to be on it’s own channel compared to all the different wifi routers near me. So I think the router is to blame at this point tbh.

Yeah, it’s not the newness of the firmware too then.

Still not sure that’s it since you are connecting to 80Mhz 5Gbit just fine and get good reported link rates.

The phone gets 600ish mbit and so does the laptop with the ax210 on windows which is in the expected range for 80Mhz wifi6.

To be fair it may still be misconfigured/buggy and sending something that trips up the driver or the firmware on linux but purely performance wise it may be innocent (assuming it isn’t just throttling it on the network level kause it tetects stinky linux XD).

Anything interresting in dmesg when connecting or running your speedtest?

Ok, now I actually installed the latest kernel, version 7.2.0-rc4 just to make sure it’s as up-to-date as possible. iw is at version 6.17-1.1 which is the latest version cachy is giving me. I tried to download the latest iw version on the git repository, but I get error 403 forbidden when I try to do so.

Still have 60mbps down:

So now I think there is no way in hell this wasn’t tested with the latest software available. I could try with actual arch linux just to be 100% sure, but I think that is as up-to-date that I can possibly be.

I should be able to test iperf3 today :folded_hands: . If that gives me the expected speed, then the router is definitely the problem.

I don’t think there is much point to that, you tried very new kernel with very new linux-firmware.

Was there anything interesting in dmesg when connecting or running the test?