Intel Wi-Fi 6 AX210/AX211/AX411 160MHz not working

I am experimenting with Haiku nightly hrev56932 on a Lenovo Thinkpad X1 Extreme (Gen 4). It comes with an Intel Wi-Fi 6 AX210/AX211/AX411 160MHz card.

Once Haiku has booted, it shows /dev/net/iaxwifi200/0: No link in the network preferences. This gives me some hope that it is at least finding the right family of Network Cards.

From the Terminal, running ifconfig /dev/net/iaxwifi200/0 scan gives the result:
ifconfig: Scan on “/dev/net/iaxwifi200/0” failed: Operation not supported

If I take a peek in /var/log/syslog then I see this message:
KERN: openbsd wlan_control: 9234, 103 (not supported)

I note that this card is supported under FreeBSD 13.1-STABLE (as long as you don’t try and change its Regulatory Domain setting). According to the OpenBSD drivers man page it has been supported in OpenBSD since version 6.7 - iwx(4) - OpenBSD manual pages.

Do I understand correctly, that the Haiku iaxwifi200 driver is based on the OpenBSD driver?

If so, is there a step that I am missing? The OpenBSD man page for ixw states:
“These firmware files are not free because Intel refuses to grant distribution rights without contractual obligations. As a result, even though OpenBSD includes the driver, the firmware files cannot be included and users have to download these files on their own.”

I have followed the information here https://www.haiku-os.org/files/download-data-for-wlan-firmwares.txt and then run install-wifi-firmwares.sh. However, I think this is not installing the correct firmware for this card.

I have also located what I think is the correct firmware for Linux from this page - Linux* Support for Intel® Wireless Adapters which leads me to: https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/iwlwifi-ty-a0-gf-a0-77.ucode

For OpenBSD 7.3. I have found the latest firmware here - http://firmware.openbsd.org/firmware/7.3/iwx-firmware-20230306.tgz

I can confirm that running OpenBSD 7.3 and adding the OpenBSD firmware does correctly bring up the AX 210, allows me to connect to either of my Wifi hotspots at home, DHCP works fine, and it allows me to send and receive traffic across the Web.
Perhaps the AX210 drivers in Haiku are based on older OpenBSD versions and just need an update (wishful thinking perhaps)?

…but I am not sure what to do with those files with regards to Haiku.

If it is helpful, I also did a Hardware Probe (hw-probe) of the machine from FreeBSD which is available here - HW probe of Lenovo ThinkPad X1 Extreme ... #d19db2828c

So my questions please:

  1. Is the AX 210 supported in Haiku hrev56932?
  2. If so, how do I get it working?

Thanks and kind regards. Adam.

1 Like

In Haiku you don’t need to manually install firmwares. We have ignored Intel’s warning and so far they have not complained about it.

The driver partially works for me: I cun connect to many networks, except the one I have at home which somehow doesn’t want to work. I do not know why yet.

Should we make the warning on the “install wifi firmware” page still bigger and more blinking? I don’t know what to do at this point. We have reworded it several times, put it at the start of the article in a big red box, but people will still try that page on hardware that is not in need of it.

If the page is no longer relevant, perhaps it should be hidden or deleted?

Maybe move the link on the firmware instructions to under some hardware that needs it ? Or maybe, if nothing needs that download of firmware, bury the instructions somewhere where people just looking for setup instructions would not find it ?

( it seems to me this sounded a little bit harsh, but I could not find a better way to phrase it. Like, if people should not be doing that, how about put the instructions in some place where normally they wouldn´t find them ? )

It is relevant for the affected hardware, but not for any modern cards. That older hardware is still supported by Haiku, so removing or hiding the page is not the right thing to do.

Really, what we need is more feedback in Haiku UI. The Network or Devices preferences should show a little “checklist”: driver OK, firmware OK, network enumeration OK, association with AP OK, password authentication Ok‚ etc. Rigqt now it’s difficult to see how far things went.

8 Likes

Yepp, that’s it for booting too … but it is not specific for Haiku only.

Simple feedback about reached states are missing generally for many apps / solutions. Of course logs contains all the infos, sometimes more than an average user can read to ‘grock’ easily where is the stucking stuff.

Good to know that I don’t need to manually load the firmware.

So how do I get it working?

I think the “scan” command is not supported on OpenBSD-based drivers at the moment. You can try “list” which will display already-completed scan results, or just use Network preferences in the GUI.

There are a variety of different Intel firmware licenses. Some do permit redistribution, and Linux bundles these (while the BSDs usually do not); we package those and ship them with builds. Some very old firmwares have stricter terms, and we don’t ship those by default.

2 Likes

I have no idea, but WLAN works for me:

I made some adjustments in hrev56940 that should make ifconfig ... scan behave identically to ifconfig ... list on OpenBSD drivers, so the confusing error message should now be gone regardless.

2 Likes

I just tried hrev56953, the scan command now returns a different error. Also this revision seems to PANIC if I try and shutdown after I have run those net commands. See attached screenshots.




The KDL might be a bit of a fluke caused by the driver getting into an invalid state.

Can you please open a ticket and attach a syslog?

@waddlesplash Is there any documentation about how to do this please? Sorry I used to use BeOS many years ago and I have probably forgotten more than I remember about that, also I am relatively new to Haiku.

@waddlesplash Can I also ask what steps I should take next to work towards getting my Wifi card working? As I understand it, it is suggested that this card should be supported by Haiku. What can I try next and/or what information can I provide next to assist in debugging?

Check here and follow links for more… It should answer few questions.

Thanks @Starcrasher so, do I just need to attach the photo from above to a new ticket? @waddlesplash mentioned a syslog but I am not clear where that comes from in KDL?

See the dev as a detective and the bug as a murder. The screenshot of the KDL is like a picture that shows that the victim has a bullet hole in the chest. You can say that a gun has been used but it won’t give you the one who took the shot. To understand what really happened, the detective needs more information on the context and will look for a CCTV that caught the scene. That’s exactly the role of the syslog. It can give the dev intel about your hardware, the version of Haiku that you’re running, and what happened right before you entered KDL. With a bit of luck and perspicacity, you can catch your bug…
So yes, open a ticket and provide all the info that you can give. In addition, put also a link to this thread. And, don’t worry, if a similar ticket already exists, the triage team will find it.

4 Likes

/boot/system/var/log is the directory you can find syslog

~> ls -l /boot/system/var/log/
total 860
-rw-r–r-- 1 user root 109 máj. 3 22:44 es1370.log
-rw-r–r-- 1 user root 211656 ápr. 29 21:41 previous_syslog
-rw-r–r-- 1 user root 111978 máj. 4 12:36 syslog
-rw-r–r-- 1 user root 524335 máj. 4 11:06 syslog.old
~>

Supportable… on Haiku…

Basic info to include in the bug ticket:

  • Host machine (make/model)
  • Wifi device (make/model)
  • Output of ‘uname -a’ in terminal
  • Output from ‘listdev’ in terminal
  • Output from ‘listimage|grep "dev/net’ in terminal
  • Output from ‘listusb’ in terminal
  • Copy of /var/log/syslog
  • Screenshot of any “KDL” condition (use commands in debug console)

Currently nightly is: hrev56966

1 Like

I just tried this again after almost a year using Haiku hrev57708 but unfortunately I am getting the same results and errors as last year (hrev56932). I will try and find the time to report more detailed information soon…