iwlwifi: AX203 Wifi Unstable and 96% Slower vs Windows 11

Hi there,

I've got a new laptop, and I am dual booting FreeBSD 14.2 with Windows 11, but unfortunately I am having some trouble with the AX203 wifi card under FreeBSD.

On Windows 11, I get 532 Mbps download, and 480 Mbps upload. However, FreeBSD only gives me 17.60 Mbps download, and 4.23 Mbps upload. These speeds are taken from speedtest.net, in Firefox in both operating systems. I have also tested with net/py-speedtest-cli, which gives me similar results.

This is the relevant part of my /etc/rc.conf:

Code:
wlans_iwlwifi0="wlan0"
ifconfig_wlan0="WPA  inet 192.168.0.80 netmask 0xffffff00"
defaultrouter="192.168.0.1"

If I add the following line to /etc/rc.conf, I only get 4.57 Mbps up, and 2,68 Mbps down!

Code:
create_args_wlan0="country RO regdomain ETSI" 4.57 2.69

My /etc/wpa_supplicant.conf looks like this:

Code:
ctrl_interface=/var/run/wpa_supplicant
eapol_version=2
ap_scan=1
fast_reauth=1

network={
        ssid="mywifi"
        scan_ssid=1
        psk="mywifipassword"
        priority=5
}
network={
        priority=0
        key_mgmt=NONE
}

I've attached the relevant parts of the dmesg output. I am wondering if I need an updated firmware version, but I am not sure where to get iwlwifi-so-a0-hr-b0-83.ucode from.

Any help would be appreciated - I really don't understand what is happening! 🤯
 

Attachments

Thanks for your reply.

FreeBSD drivers currently do not support most really advanced 802.11 modes.

What do you mean by really advanced modes? My 10-year old laptop that uses the ath driver and has 109 Mbps down / 91 Mbps up on the same desk as the new laptop. Perhaps there are some configuration options for the iwlwifi driver that could fix my issue?

You could look into using net/wifibox for better speeds.

Thanks, but running a Linux VM just to get a decent wifi speed seems crazy to me. AFAIK the iwlwifi driver is ported from Linux. Could the issue be with the framework used to do this?
 
Perhaps there are some configuration options for the iwlwifi driver that could fix my issue?
[...]
AFAIK the iwlwifi driver is ported from Linux. Could the issue be with the framework used to do this?
iwlwifi(4):
While iwlwifi supports 802.11a/b/g/n/ac/ax modes, the compatibility code currently only supports 802.11a/b/g modes. Support for 802.11n/ac/ax is yet to come. 802.11ax and 6Ghz support are planned.
 
eseipi thank you - it’s good to know those modes are yet to come, but even g supports 54 Mbps, and I am getting much slower speeds sat directly in front of the router. It also doesn’t explain why my upload speed is around a quarter of my download speed.

Is this happening because the driver isn’t mature yet, or are there any settings I can try to see if I can improve this?

What I really need to know is if I should buy a USB wifi dongle while I wait for the driver to improve.
 
What I really need to know is if I should buy a USB wifi dongle while I wait for the driver to improve.

That doesn't help. Same problem, entire framework layers for faster wifi are missing. No card or their drivers can do anything about it.

You should get a wifi client hardware piece, aka an ethernet to wifi bridge.
 
it’s good to know those modes are yet to come, but even g supports 54 Mbps, and I am getting much slower speeds sat directly in front of the router.
It's also worth mentioning that 54 Mbps is just the maximum link rate. For example, according to Wikipedia:
In practice, access points may not have an ideal implementation and may therefore not be able to achieve even 31.4 Mbit/s throughput with 1500 byte packets. 1500 bytes is the usual limit for packets on the Internet and therefore a relevant size to benchmark against. Smaller packets give even lower theoretical throughput, down to 3 Mbit/s using 54 Mbit/s rate and 64 byte packets. Also, the available throughput is shared between all stations transmitting, including the AP so both downstream and upstream traffic is limited to a shared total of 31.4 Mbit/s using 1500 byte packets and 54 Mbit/s rate.

FWIW, I get about the same 20 Mbps of throughput as you, but it's very rare when I find myself limited by this fact. I'm not saying that these speeds ought to be enough for anybody, of course.
 
The issue is that entire layers of the faster wifi stacks are missing. It isn't just a driver (which we take from Linux), it is a huge framework that we cannot take from Linux.

Thanks, I understand this now regarding Linux wifi drivers.

That doesn't help. Same problem, entire framework layers for faster wifi are missing. No card or their drivers can do anything about it.

I'm getting far higher speeds from the ath driver on my other laptop. Surely if I can find a USB wifi dongle with an Atheros chipset it will improve things? I'm not talking about the speeds that Windows is capable of, just something around 100 Mbps up and down as opposed to 20.
 
FWIW, I get about the same 20 Mbps of throughput as you, but it's very rare when I find myself limited by this fact. I'm not saying that these speeds ought to be enough for anybody, of course.

Yes you are right, but the new laptop takes a long time just to download updates and to render web pages. I wonder if the issue isn't about speed, but is about something else.
 
Thanks to everyone for their input on this. I have had time to have a play around with the different options.

I tried a couple of USB wifi dongles with Realtek chipsets, and had similar stability issues to the Intel one. I have come to the conclusion that I was just very lucky with the wifi card in my old laptop.

Regarding wifibox, it is a very clever solution, but it doesn't sit right with me running another OS in a VM just to get wifi working. If I do that, I may as well just run Alpine Linux or another Linux OS, and the whole point is that I want to run FreeBSD, not something Linux-based.

Throughout this, I have realised that I almost exclusively use my new laptop on the coffee table in my living room while I'm watching TV, and my coffee table has ethernet as I often test and repair hardware here. So it seems logical to invest in a USB to ethernet dongle for this machine.

I will test the iwlwifi driver from time to time to see how it is improving, and maybe one day I will also be able to use my laptop in the dining room! ;)
 
There's lots of work going on with this right now. It's worth perusing Feb, Mar and Apr archives of the freebsd-wireless list —here's one pertinent post, for example.

Yesterday I did a fresh 14.2 install on a Framework laptop, then built the upcoming 14.3 kernel (clone the source, git switch stable/14, make buildkernel/make installkernel) and managed to see over 200mbps on my 5ghz wifi network.

Next month 14.3 should drop, and it'll be there without any compilation faff. If you can't wait 4 or 5 weeks though, I found the 14.3 kernel build relatively simple and easy (and I would describe myself as 'a retired engineer' — given that I've spent the last 10 years in product roles :))
 
Thanks mopbsd - I'm looking forward to trying it again when 14.3 comes out! To be honest, although I orginally thought my issue was speed-related, it isn't because 17.60 Mbps/4.23 Mbps is perfectly usable. The problem is that the machine connects at a random speed, sometimes 0.03Mbps up and down, sometimes much higher, and intermittently stops working. Then the only thing I can do is keep rebooting until the speed is reasonable, and hope it doesn't disconnect for a while.

Thanks for the link to the post; it certainly looks promising! 😃
 
I am hoping that 14.3 means I'll be able to take one FreeBSD box off ethernet cable. It's a Beelink SER9 which has, according to pciconf and AX200. Not much longer to wait
 
I am hoping that 14.3 means I'll be able to take one FreeBSD box off ethernet cable. It's a Beelink SER9 which has, according to pciconf and AX200. Not much longer to wait
I am optimistic that'll be the case :)
 

Attachments

  • speedy.png
    speedy.png
    94.7 KB · Views: 93
mopbsd I've just upgraded to 14.3-RELEASE, and I can't yet comment on stability. However, iperf3 reports 13.4 Mbits/sec up and down, which is the same as with my USB wifi dongle plugged in.

Here is the relevant part of my dmesg:

Code:
Intel(R) Wireless WiFi based driver for FreeBSD
iwlwifi0: <iwlwifi> mem 0x6001144000-0x6001147fff at device 20.3 on pci0
iwlwifi0: Detected crf-id 0x1300504, cnv-id 0x80400 wfpm id 0x80000030
iwlwifi0: PCI dev 51f0/0274, rev=0x370, rfid=0x10a100
iwlwifi0: Detected Intel(R) Wi-Fi 6 AX203
iwlwifi0: successfully loaded firmware image 'iwlwifi-so-a0-hr-b0-89.ucode'
iwlwifi0: TLV_FW_FSEQ_VERSION: FSEQ Version: 0.0.2.42
iwl-debug-yoyo.bin: could not load binary firmware /boot/firmware/iwl-debug-yoyo.bin either
iwl-debug-yoyo.bin: could not load binary firmware /boot/firmware/iwl-debug-yoyo.bin either
iwl-debug-yoyo_bin: could not load binary firmware /boot/firmware/iwl-debug-yoyo_bin either
iwl_debug_yoyo_bin: could not load binary firmware /boot/firmware/iwl_debug_yoyo_bin either
iwlwifi0: loaded firmware version 89.6b44fa0b.0 so-a0-hr-b0-89.ucode op_mode iwlmvm
iwlwifi0: WFPM_UMAC_PD_NOTIFICATION: 0x20
iwlwifi0: WFPM_LMAC2_PD_NOTIFICATION: 0x1f
iwlwifi0: WFPM_AUTH_KEY_0: 0x90
iwlwifi0: CNVI_SCU_SEQ_DATA_DW9: 0x10
iwlwifi0: RFIm is deactivated, reason = 4
iwlwifi0: Detected RF HR B3, rfid=0x10a100
iwlwifi0: base HW address: [removed]

Any idea why I am not getting the speeds you are?
 
mopbsd just a quick update that, unfortunately, it is just as unstable on 14.3 as it was on 14.2, so I'm back to using my Ralink USB dongle for now.

Oh well, maybe I'll have better luck in a future release!
 
It still has an antenna connected to it.

It works fine in Windows where I get around 532 Mbps upload and download, and it's completely stable, so I don't understand how it could be a hardware issue.

In FreeBSD, not only is the speed around 13.4 Mbps up and down (which is fine for me), but it intermittently stops and starts working, and this is the problem.
 
As a workaround, for desktop wifi, perhaps consider an ethernet <-> wifi converter.

Amusingly, not a completely different solution to a Linux in a VM approach. The converter runs a small embedded Linux and a decent chipset (arguably more effective than most small-formfactor USB dongles).

I have tested this specific hardware and it works very well. Though ironically I am also happy with slow 802.11g speeds because UK internet is still so crap and is the bottleneck.
 
kpedersen that would be good workaround for a desktop machine (although with desktops you can generally just add a wifi card), but this is a modern laptop, and manufacturers seem to be really stingy with things like ethernet. I did try a USB 2.0 to ethernet dongle as there is ethernet nearby, but it wasn't stable. I was considering buying a USB 3.x version, but most of the time manufacturers don't tell you what chipset they use, they are also around 4 or 5 times more expensive, and there is no guarantee it would be any more stable than the old one.

I was hoping that the new release would improve the built in wifi for me. It hasn't, but I'll keep checking back every release to see if anything has changed. In the meantime I am happy with my cheap Ralink wifi dongle. This machine is mostly used for web browsing as well as some mild CAD usage, so I don't need anything over 13Mbps up and down.

I am originally from the UK, and am all too familiar with the crappy internet speeds there. Since I moved to Romania 10 years ago I've been lucky to have 1Gbps up and down for a very reasonable price. A lot of this has to do with Romanians not caring if fibre cables are strewn across their streets (they eventually hide them next time they dig up the road), and British people caring a lot more about the aesthetics of their towns and cities.
 
Back
Top