- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi
Could you let me know how to enable AX210 6GHz channels ?
Recently, I installed AX210 in my Ubuntu 20.04(Kernel 5.11.0-27 generric).
It works properly with 2GHz and 5GHz, but 6GHz channels are disabled.
Checking “iw list”, all 6GHz channels are disabled.
I tried to change regulatory domain to US with “iw reg set US”, but phy#0 still shows country code KR with all 6GHz frequencies disabled.
Thank you in advance.
Regards,
Sol
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You can´t
The regulatory database is embeeded in the AX210s Firmware. So called "Device Managed".. Your country is automatically selected by the firmware, it will use the country indicated in beacon packets of received wifis to determine the current country most of the time.
Intel has to release a fimware update with a new regulatory database in order to enable 6Ghz in the countries where this is allowed now.
Regulatory bodies enforce this behaviour, as they specify that the user should be unable to change TX Power and bands by themselfs.. Intel implements this by doing all of this in Firmware.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Has there ever been firmware updates for WiFi cards or networking cards in general? I had never seen Intel or any other of their competitors ever post firmware updates ever since I had used networking products since the 1980s.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
...S
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Interesting, so basically in Windows, it would mean it's done in ProSet drivers? I had never successfully used wireless on FreeBSD or Linux so not sure how that works as my internet uses static IPs since my machine is the server so only wired would work as the WiFi would be using NAT. Is the firmware actually flashed to the card or does it load each time like mentioned below for Linux?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
/lib/firmware is updated by the package linux-firmware in Ubuntu.
Currently as far as I know 6Ghz is only enabled in US
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Linux is not that up to date for WiFi like Windows is. I have an AX210 and a suitable access point and it works fine. I am using Windows 11.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Any update on this topic? I still wait for a iwlwifi firmware file we can use in Germany for 6Ghz channels. Is there any page to get release notes for iwlwifi firmware? I haven't seen any indication for this country code issue in the GIT commit messages so far...
As soon as there is a iwlwifi firmware file (and a kernel who is able to play with this file) it would be interessting to know...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
In the meantime they enable 6GHz (lower bands) in Europe or at least in germany.. It´s enabled by this commit: https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/commit/?id=23e0197e9e6fe9ca0d2ead3a3df3c41df97ad16b
This as 7 days ago!
It only works as a client, but not in AP-Mode, as "NO-IR" is set for all channels in the 6GHz Band.
But at least it works! You still need a 6GHz AP all of them are currently very expensive.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This is great news! I wasn't able to find the specific information about the region table update on the -68 version mentioned in the commit message. This seems to be quite an important update though. However, I have the -68 ucode in my installation, but my 5.16 kernel (mainline) don't want to use it. But this is something I can surely handle. Thank you very much for sharing this information!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
More and more 6 GHz access points are now available. Prices are still comparatively high.
Cable co boxes can be bridged so that a customer WiFi box can be used with more capabilities.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi again,
today I tried an Ubuntu Jammy (LTS pre-release) with a 5.16.1 Kernel (main) and copied the -68.ucode manually to /lib/firmware. However, the system is still using -67 version. The dmesg output shows the max. version supported is -67 still. Any ideas what's missing here? Is the check of the ucode version part of the iwlwifi module itself (not related to the kernel)? Is there a workaround / force routine I could use? Any recommendation is appreciated.
EDIT: I think I see the answer. The iwlwifi module needs to updated. Found the source on kernel/git/iwlwifi/iwlwifi-next.git - iwlwifi next tree - for next kernel version
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Try copying the .pnvm file as well..
For me dmesg looks like this:
[ 29.031215] iwlwifi 0000:04:00.0: enabling device (0000 -> 0002) [ 29.036978] iwlwifi 0000:04:00.0: api flags index 2 larger than supported by driver [ 29.036999] iwlwifi 0000:04:00.0: TLV_FW_FSEQ_VERSION: FSEQ Version: 0.63.2.1 [ 29.037582] iwlwifi 0000:04:00.0: loaded firmware version 66.55c64978.0 ty-a0-gf-a0-66.ucode op_mode iwlmvm [ 29.129368] iwlwifi 0000:04:00.0: Detected Intel(R) Wi-Fi 6 AX210 160MHz, REV=0x420 [ 29.297547] iwlwifi 0000:04:00.0: loaded PNVM version 0xdda57f4f [ 29.313000] iwlwifi 0000:04:00.0: Detected RF GF, rfid=0x10d000 [ 29.380657] iwlwifi 0000:04:00.0: base HW address: 4c:77:cb:ed:ab:11 [ 29.396323] iwlwifi 0000:04:00.0 wlp4s0: renamed from wlan0 [ 39.188087] iwlwifi 0000:04:00.0: Unhandled alg: 0x3f0707
And 6 GHz is enabled ("iw reg get")
phy#0 (self-managed)
country DE: 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, PASSIVE-SCAN
(5190 - 5210 @ 160), (6, 22), (N/A), NO-OUTDOOR, AUTO-BW, IR-CONCURRENT, NO-HT40PLUS, PASSIVE-SCAN
(5210 - 5230 @ 160), (6, 22), (N/A), NO-OUTDOOR, AUTO-BW, IR-CONCURRENT, NO-HT40MINUS, PASSIVE-SCAN
(5230 - 5250 @ 160), (6, 22), (N/A), NO-OUTDOOR, AUTO-BW, IR-CONCURRENT, NO-HT40PLUS, PASSIVE-SCAN
(5250 - 5270 @ 160), (6, 22), (0 ms), DFS, AUTO-BW, NO-HT40MINUS, PASSIVE-SCAN
(5270 - 5290 @ 160), (6, 22), (0 ms), DFS, AUTO-BW, NO-HT40PLUS, PASSIVE-SCAN
(5290 - 5310 @ 160), (6, 22), (0 ms), DFS, AUTO-BW, NO-HT40MINUS, PASSIVE-SCAN
(5310 - 5330 @ 160), (6, 22), (0 ms), DFS, AUTO-BW, NO-HT40PLUS, PASSIVE-SCAN
(5490 - 5510 @ 220), (6, 22), (0 ms), DFS, AUTO-BW, NO-HT40MINUS, PASSIVE-SCAN
(5510 - 5530 @ 220), (6, 22), (0 ms), DFS, AUTO-BW, NO-HT40PLUS, PASSIVE-SCAN
(5530 - 5550 @ 220), (6, 22), (0 ms), DFS, AUTO-BW, NO-HT40MINUS, PASSIVE-SCAN
(5550 - 5570 @ 220), (6, 22), (0 ms), DFS, AUTO-BW, NO-HT40PLUS, PASSIVE-SCAN
(5570 - 5590 @ 220), (6, 22), (0 ms), DFS, AUTO-BW, NO-HT40MINUS, PASSIVE-SCAN
(5590 - 5610 @ 220), (6, 22), (0 ms), DFS, AUTO-BW, NO-HT40PLUS, PASSIVE-SCAN
(5610 - 5630 @ 220), (6, 22), (0 ms), DFS, AUTO-BW, NO-HT40MINUS, PASSIVE-SCAN
(5630 - 5650 @ 220), (6, 22), (0 ms), DFS, AUTO-BW, NO-HT40PLUS, PASSIVE-SCAN
(5650 - 5670 @ 80), (6, 22), (0 ms), DFS, AUTO-BW, NO-HT40MINUS, NO-160MHZ, PASSIVE-SCAN
(5670 - 5690 @ 80), (6, 22), (0 ms), DFS, AUTO-BW, NO-HT40PLUS, NO-160MHZ, PASSIVE-SCAN
(5690 - 5710 @ 80), (6, 22), (0 ms), DFS, AUTO-BW, NO-HT40MINUS, NO-160MHZ, PASSIVE-SCAN
(5735 - 5755 @ 80), (6, 22), (N/A), AUTO-BW, NO-HT40MINUS, NO-160MHZ
(5755 - 5775 @ 80), (6, 22), (N/A), AUTO-BW, NO-HT40PLUS, NO-160MHZ
(5775 - 5795 @ 80), (6, 22), (N/A), AUTO-BW, NO-HT40MINUS, NO-160MHZ
(5795 - 5815 @ 80), (6, 22), (N/A), AUTO-BW, NO-HT40PLUS, NO-160MHZ
(5815 - 5835 @ 40), (6, 22), (N/A), AUTO-BW, NO-HT40MINUS, NO-80MHZ, NO-160MHZ
(5945 - 5965 @ 480), (6, 22), (N/A), NO-OUTDOOR, AUTO-BW, IR-CONCURRENT, NO-HT40PLUS, PASSIVE-SCAN
(5965 - 5985 @ 480), (6, 22), (N/A), NO-OUTDOOR, AUTO-BW, IR-CONCURRENT, NO-HT40MINUS, PASSIVE-SCAN
(5985 - 6005 @ 480), (6, 22), (N/A), NO-OUTDOOR, AUTO-BW, IR-CONCURRENT, NO-HT40PLUS, PASSIVE-SCAN
(6005 - 6025 @ 480), (6, 22), (N/A), NO-OUTDOOR, AUTO-BW, IR-CONCURRENT, NO-HT40MINUS, PASSIVE-SCAN
(6025 - 6045 @ 480), (6, 22), (N/A), NO-OUTDOOR, AUTO-BW, IR-CONCURRENT, NO-HT40PLUS, PASSIVE-SCAN
(6045 - 6065 @ 480), (6, 22), (N/A), NO-OUTDOOR, AUTO-BW, IR-CONCURRENT, NO-HT40MINUS, PASSIVE-SCAN
(6065 - 6085 @ 480), (6, 22), (N/A), NO-OUTDOOR, AUTO-BW, IR-CONCURRENT, NO-HT40PLUS, PASSIVE-SCAN
(6085 - 6105 @ 480), (6, 22), (N/A), NO-OUTDOOR, AUTO-BW, IR-CONCURRENT, NO-HT40MINUS, PASSIVE-SCAN
(6105 - 6125 @ 480), (6, 22), (N/A), NO-OUTDOOR, AUTO-BW, IR-CONCURRENT, NO-HT40PLUS, PASSIVE-SCAN
(6125 - 6145 @ 480), (6, 22), (N/A), NO-OUTDOOR, AUTO-BW, IR-CONCURRENT, NO-HT40MINUS, PASSIVE-SCAN
(6145 - 6165 @ 480), (6, 22), (N/A), NO-OUTDOOR, AUTO-BW, IR-CONCURRENT, NO-HT40PLUS, PASSIVE-SCAN
(6165 - 6185 @ 480), (6, 22), (N/A), NO-OUTDOOR, AUTO-BW, IR-CONCURRENT, NO-HT40MINUS, PASSIVE-SCAN
(6185 - 6205 @ 480), (6, 22), (N/A), NO-OUTDOOR, AUTO-BW, IR-CONCURRENT, NO-HT40PLUS, PASSIVE-SCAN
(6205 - 6225 @ 480), (6, 22), (N/A), NO-OUTDOOR, AUTO-BW, IR-CONCURRENT, NO-HT40MINUS, PASSIVE-SCAN
(6225 - 6245 @ 480), (6, 22), (N/A), NO-OUTDOOR, AUTO-BW, IR-CONCURRENT, NO-HT40PLUS, PASSIVE-SCAN
(6245 - 6265 @ 480), (6, 22), (N/A), NO-OUTDOOR, AUTO-BW, IR-CONCURRENT, NO-HT40MINUS, PASSIVE-SCAN
(6265 - 6285 @ 480), (6, 22), (N/A), NO-OUTDOOR, AUTO-BW, IR-CONCURRENT, NO-HT40PLUS, PASSIVE-SCAN
(6285 - 6305 @ 480), (6, 22), (N/A), NO-OUTDOOR, AUTO-BW, IR-CONCURRENT, NO-HT40MINUS, PASSIVE-SCAN
(6305 - 6325 @ 480), (6, 22), (N/A), NO-OUTDOOR, AUTO-BW, IR-CONCURRENT, NO-HT40PLUS, PASSIVE-SCAN
(6325 - 6345 @ 480), (6, 22), (N/A), NO-OUTDOOR, AUTO-BW, IR-CONCURRENT, NO-HT40MINUS, PASSIVE-SCAN
(6345 - 6365 @ 480), (6, 22), (N/A), NO-OUTDOOR, AUTO-BW, IR-CONCURRENT, NO-HT40PLUS, PASSIVE-SCAN
(6365 - 6385 @ 480), (6, 22), (N/A), NO-OUTDOOR, AUTO-BW, IR-CONCURRENT, NO-HT40MINUS, PASSIVE-SCAN
(6385 - 6405 @ 480), (6, 22), (N/A), NO-OUTDOOR, AUTO-BW, IR-CONCURRENT, NO-HT40PLUS, PASSIVE-SCAN
(6405 - 6425 @ 480), (6, 22), (N/A), NO-OUTDOOR, AUTO-BW, IR-CONCURRENT, NO-HT40MINUS, PASSIVE-SCAN
I believe the "nvm" is the configuration area.. I read the driver source code and there are multiple sources for the "nvm"/"pnvm". As far as i understand it.
- One is preloaded on the chip?!
- It could be set by the BIOS / UEFI by the "platform manufacturer", guess this is used, if someone certifies a whole laptop as a manufacturer or a device with WiFi (you see certification marking for wifi on some business laptops)
- If could be set by the driver from the PNVM file
In the certification documentation (FCC) intel lists the frequencies of the card as "set in factory in NVM, unchachable by user", but this does not seem to be the case IMHO..
Not sure if the regdb is embeeded in the PNVM or if it is in the ucode, but i suspect the PNVM.. There is some code in the driver to split the .pnvm file into different "sections" but the payload of this section is binary and there is no code in the driver to parse it.. There is code which reads and parses the reg info from the card firmware once it´s running, the format is pretty tightly packed, with single bits defining modes and enabled channels and so on..
Comparing different versions of the PNVM file with a hex editor at least shows some bit changes in a larger region which is suspect to be the firmware embeeded regdb, but we will probably never know.. The payload is parsed by the firmware running on the wifi chip, which we don´t have the sourceode for nor is it easy to disassemble.. As they probably use some esotheric intel only in-house microarchitecture for the firmware..
I wrote a parser for the PNVM file which is able to extract the different binary sections from it, but from there on i am clueless.. If i would be able to understand the format we could have a parse which translates it into human readable regdb, so we can see what intel is doing.
I suspect changing it won´t be possible as it is probably signed.. Furthermore there might be some block-based cipher applied to it.. Probably uses big-endian or something like that as well... Did not want to spent the effort to investigate further in the end.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page