Opened 4 years ago

Closed 2 years ago

#16970 closed enhancement (fixed)

Intel WIFI 6 AX200 / ax201 not functioning

Reported by: mbrumbelow Owned by: waddlesplash
Priority: normal Milestone: R1/beta4
Component: Drivers/Network/iaxwifi200 Version: R1/Development
Keywords: Cc:
Blocked By: Blocking: #16937
Platform: All

Description

All of my NUC's have an Intel AX200 WIFI 6 card. Haiku boots up with no problems. When it is time to select the Wi-Fi network in preferences no Wi-Fi icon is displayed up. See attached for Listdev, et al.

It is my understanding that Intel WIFI 6 cards are supported in OpenBSD but not in FreeBSD. A port is in Progress, but the work is not complete. Intel WIFI 6 cards are in most NUC's today (System76 as an example).

Attachments (3)

listdev_image2.jpg (1.8 MB ) - added by mbrumbelow 4 years ago.
Listdev Image
IMG_95432.jpg (2.0 MB ) - added by mbrumbelow 4 years ago.
Device Details
IMG_95471.jpg (1.9 MB ) - added by mbrumbelow 4 years ago.
Machine (NUC) System Details

Change History (18)

by mbrumbelow, 4 years ago

Attachment: listdev_image2.jpg added

Listdev Image

by mbrumbelow, 4 years ago

Attachment: IMG_95432.jpg added

Device Details

by mbrumbelow, 4 years ago

Attachment: IMG_95471.jpg added

Machine (NUC) System Details

comment:1 by mbrumbelow, 4 years ago

Tested on OS Revision: hrev55102

comment:3 by korli, 3 years ago

Component: Network & Internet/WirelessDrivers/Network
Keywords: WiFi Intel removed
Owner: changed from mmlr to nobody
Priority: highnormal
Type: bugenhancement
Version: R1/beta2R1/Development

comment:4 by vectorman, 3 years ago

According to

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=244261#c46

and

https://wiki.freebsd.org/WiFi/Iwlwifi

AX200, AX201 and AX210 devices are now supported by FreeBSD.

comment:5 by waddlesplash, 3 years ago

They are only supported experimentally, with many caveats, and through the "linuxkpi" compatibility layer, not as native FreeBSD drivers, as far as I'm aware.

comment:6 by pulkomandy, 3 years ago

Blocking: 16937 added

comment:7 by pulkomandy, 3 years ago

Summary: Intel WIFI 6 AX200 not functioningIntel WIFI 6 AX200 / ax201 not functioning

comment:8 by pulkomandy, 3 years ago

So, the situation is, as far as I can tell:

  • FreeBSD is experimenting with a Linux compatibility layer for the linux iwlwifi driver (and possibly later on for other wifi drivers as well) (links already posted in comments above). The good news is it will allow them to share drivers with Linux. The bad news is it probably won't work so easily with our own compatibility layer to FreeBSD. Also, that work is not finished and still experimental, and does not support wifi-ac and wifi-n (so it will be slower than it could).
  • On the other hand, OpenBSD has a native driver (https://man.openbsd.org/iwx.4), based on the Linux one as well, but with a lot of changes to adjust it to their API. This one supports Wifi-N and Wifi-AC already, but it will be less easy to synchronize with the Linux driver in the future, so if we use this one, we will depend on OpenBSD to provide us driver updates.

I don't know how easy it is to get the Linux driver running, and how much effort the FreeBSD porting efforts remove from that. I also don't know how easy it is to get an OpenBSD compatibility layer in addition to our FreeBSD compatibility layer.

The Linux driver has its own homepage: https://wireless.wiki.kernel.org/en/users/Drivers/iwlwifi

Firmware is needed, it can be found here: http://firmware.openbsd.org/firmware/7.1/iwx-firmware-20211101.tgz or in the linux-firmare git repository. The license allows redistribution in un-modified forms, that should be fine for us.

comment:9 by waddlesplash, 3 years ago

OpenBSD has been maintaining their WiFi drivers pretty seriously. FreeBSD on the other hand has not in recent years; they do not have any drivers with 802.11AC support, and now OpenBSD has at least 3 that I know of. The OpenBSD drivers tend to be very high-quality and very carefully tested (commits often note precisely what devices something was tested on.) The code is also very readable. On the other hand, Linux drivers are ... well, they're Linux drivers.

The OpenBSD WiFi stack and the FreeBSD one come from a common origin, but have diverged sharply in the last decade or so. Porting drivers between the two is possible but a huge pain. On the other hand, the ioctl surface between the two is not quite so different, and so implementing an "ioctl compatibility layer" to let the OpenBSD WiFi stack handle FreeBSD ioctls may be possible.

Considering I know the most about all the moving parts here and am the maintainer of most of this code in our tree, I probably should be the one to attempt such a thing, or at least get started with it.

comment:10 by pulkomandy, 3 years ago

If I understand the plans on FreeBSD side, the goal is to migrate everything to LinuxKPI and use Linux drivers directly, and deprecate the other drivers.

For us this more or less means FreeBSD isn't really an interesting option anymore, so we have a choice of either OpenBSD or Linux. OpenBSD is a better choice not only because of cleaner code, but also because of licensing, I guess.

Now the question is, how do we migrate? Indeed some compatibility so we don'tneed to replace all our existing drivers at once would be nice

comment:11 by waddlesplash, 3 years ago

Well, the problem is, while OpenBSD supports newer hardware better than FreeBSD (e.g. iwm, iwx, bwfm), they don't support older hardware nearly as well (e.g. rtwn, ath; our drivers from FreeBSD support e.g. 8812/8821AU and AR93xx/94xx device families respectively while the OpenBSD equivalents do not.) Hence we at least for a time need to support both and not just transition (or we spend time upstreaming lots of new code into OpenBSD...)

comment:12 by waddlesplash, 2 years ago

Component: Drivers/NetworkDrivers/Network/iaxwifi200
Owner: changed from nobody to waddlesplash
Platform: x86-64All

Good news: I have a prototype port of this driver which PulkoMandy tested; it successfully scans for networks and even tried to connect before it crashed. I made a number of fixes since then and the new version will probably work, but PulkoMandy hasn't yet been available to debug it with me yet. It will be named "iaxwifi200", so I've added a component for it already.

comment:13 by mbrumbelow, 2 years ago

And this supports Intel WI-FI 6 cards?

comment:14 by waddlesplash, 2 years ago

Yes. More to the point it supports the 8086, 2723 in your listdev screenshot.

comment:15 by waddlesplash, 2 years ago

Milestone: UnscheduledR1/beta4
Resolution: fixed
Status: newclosed

Driver was enabled by default in hrev56171. Any further problems please open a ticket.

Note: See TracTickets for help on using tickets.