morrownr / USB-WiFi

USB WiFi Adapter Information for Linux
2.65k stars 175 forks source link

Comfast CF-953AX impressions #133

Open bjlockie opened 1 year ago

bjlockie commented 1 year ago

It seems to be a bit faster than the Alfa mt7612. I couldn't get Bluetooth to work. I want to try it on my Raspberry Pi4 next.

Ryzen5 5600 server:

Wifi6 server (192.168.68.72):
$ uname -a
Linux lubuntu 5.19.0-19-generic #19-Ubuntu SMP PREEMPT_DYNAMIC Tue Sep 27 16:03:25 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

$ lsusb
lubuntu@lubuntu:~$ lsusb
Bus 002 Device 024: ID 0e8d:7961 MediaTek Inc. Wireless_Device

$ iwconfig
wlxe0e1a935d087  IEEE 802.11  ESSID:"garlic"  
          Mode:Managed  Frequency:5.24 GHz  Access Point: xxxxxxxxxx   
          Bit Rate=1.2009 Gb/s   Tx-Power=3 dBm   
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:on
          Link Quality=67/70  Signal level=-43 dBm  
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:1   Missed beacon:0

rjl@james-aspirea51555:~$ iperf3 -c 192.168.68.72
Connecting to host 192.168.68.72, port 5201
[  5] local 192.168.68.73 port 56360 connected to 192.168.68.72 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  37.5 MBytes   315 Mbits/sec    2    609 KBytes       
[  5]   1.00-2.00   sec  36.2 MBytes   304 Mbits/sec    0    662 KBytes       
[  5]   2.00-3.00   sec  31.2 MBytes   262 Mbits/sec    1    509 KBytes       
[  5]   3.00-4.00   sec  32.5 MBytes   273 Mbits/sec    0    554 KBytes       
[  5]   4.00-5.00   sec  32.5 MBytes   273 Mbits/sec    0    600 KBytes       
[  5]   5.00-6.00   sec  36.2 MBytes   304 Mbits/sec    0    645 KBytes       
[  5]   6.00-7.00   sec  35.0 MBytes   294 Mbits/sec    1    518 KBytes       
[  5]   7.00-8.00   sec  31.2 MBytes   262 Mbits/sec    2    287 KBytes       
[  5]   8.00-9.00   sec  30.0 MBytes   252 Mbits/sec    1   1.75 MBytes       
[  5]   9.00-10.00  sec  41.2 MBytes   346 Mbits/sec    1   1.39 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   344 MBytes   288 Mbits/sec    8             sender
[  5]   0.00-10.02  sec   342 MBytes   286 Mbits/sec                  receiver

iperf Done.

Wifi5 server (192.168.68.79):
$ uname -a
Linux lubuntu 5.19.0-19-generic #19-Ubuntu SMP PREEMPT_DYNAMIC Tue Sep 27 16:03:25 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

lubuntu@lubuntu:~$ lsusb
Bus 002 Device 023: ID 0e8d:7612 MediaTek Inc. MT7612U 802.11a/b/g/n/ac Wireless Adapter

lubuntu@lubuntu:~$ iwconfig
wlx00c0caaa9c2b  IEEE 802.11  ESSID:"garlic"  
          Mode:Managed  Frequency:5.24 GHz  Access Point: xxxxxxxxxx   
          Bit Rate=866.7 Mb/s   Tx-Power=20 dBm   
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality=65/70  Signal level=-45 dBm  
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0           
          Tx excessive retries:1  Invalid misc:71   Missed beacon:0          

rjl@james-aspirea51555:~$ iperf3 -c 192.168.68.79
Connecting to host 192.168.68.79, port 5201
[  5] local 192.168.68.73 port 53242 connected to 192.168.68.79 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  31.3 MBytes   262 Mbits/sec    0   1.55 MBytes       
[  5]   1.00-2.00   sec  28.8 MBytes   241 Mbits/sec    0   1.59 MBytes       
[  5]   2.00-3.00   sec  31.2 MBytes   262 Mbits/sec    2   1.23 MBytes       
[  5]   3.00-4.00   sec  28.8 MBytes   241 Mbits/sec    0   1.34 MBytes       
[  5]   4.00-5.00   sec  30.0 MBytes   252 Mbits/sec    4    721 KBytes       
[  5]   5.00-6.00   sec  28.8 MBytes   241 Mbits/sec    0    781 KBytes       
[  5]   6.00-7.00   sec  30.0 MBytes   252 Mbits/sec    0    820 KBytes       
[  5]   7.00-8.00   sec  28.8 MBytes   241 Mbits/sec    0    846 KBytes       
[  5]   8.00-9.00   sec  28.8 MBytes   241 Mbits/sec    0    860 KBytes       
[  5]   9.00-10.00  sec  30.0 MBytes   252 Mbits/sec    3    457 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   296 MBytes   249 Mbits/sec    9             sender
[  5]   0.00-10.01  sec   294 MBytes   246 Mbits/sec                  receiver

iperf Done.

NOTE: I couldn't get to work in Windows at all.

whitslack commented 1 year ago

I think you're getting overly hung up on RAM and RasPiOS. As I've said, the same crash occurs on my x86 machine, which has 2 GB of RAM and runs practically the bare kernel. This is not an elusive bug to reproduce. I just think none of the MediaTek devs have tested their driver on a 32-bit kernel. I do have an x86_64 machine on which I could try to reproduce the crash, to test the theory that it's the word size of the kernel that matters to this bug.

morrownr commented 1 year ago

This is not an elusive bug to reproduce.

It is for me.

I do have an x86_64 machine on which I could try to reproduce the crash, to test the theory that it's the word size of the kernel that matters to this bug.

This certainly would help with the investigation.

I just think none of the MediaTek devs have tested their driver on a 32-bit kernel.

My opinion is that this is likely. If we are able to pin down the issue as being 32 bit specific, a bug with details can be reported.

Colargol59 commented 1 year ago

My opinion is that this is likely. If we are able to pin down the issue as being 32 bit specific, a bug with details can be reported.

Got the same issue on a 64-bit kernel. I can reproduce it on four differents machines and two differents distros.

As soon as a client connects, kernel panics with the same error skb_panic mentionned by @whitslack Removing bridge=br0 option from hostapd configuration solves the issue.. at the cost of doing IP routing instead

morrownr commented 1 year ago

@Colargol59

Good input. This makes it appear this is not a 32 bit only issue.

Please post the hostapd.conf you use when you see the issue.

Colargol59 commented 1 year ago

@Colargol59

Good input. This makes it appear this is not a 32 bit only issue.

Please post the hostapd.conf you use when you see the issue.

Sure, I used your hostapd-WiFi6.conf, just changed interface to match my card and country_code to FR. Here is the kernel stack trace :

skb_panic

morrownr commented 1 year ago

I used your hostapd-WiFi6.conf

Probably not a good idea to trust the author. He he.

FYI:

image

$ iperf3 -c 192.168.1.1
Connecting to host 192.168.1.1, port 5201
[  5] local 192.168.1.165 port 57192 connected to 192.168.1.1 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  45.0 MBytes   377 Mbits/sec    0    916 KBytes       
[  5]   1.00-2.00   sec  43.8 MBytes   367 Mbits/sec    0    962 KBytes       
[  5]   2.00-3.00   sec  43.8 MBytes   367 Mbits/sec    0    962 KBytes       
[  5]   3.00-4.00   sec  45.0 MBytes   377 Mbits/sec    0   1011 KBytes       
[  5]   4.00-5.00   sec  46.2 MBytes   388 Mbits/sec    0   1011 KBytes       
[  5]   5.00-6.00   sec  43.8 MBytes   367 Mbits/sec    0   1.04 MBytes       
[  5]   6.00-7.00   sec  45.0 MBytes   378 Mbits/sec    0   1.04 MBytes       
[  5]   7.00-8.00   sec  45.0 MBytes   377 Mbits/sec    0   1.04 MBytes       
[  5]   8.00-9.00   sec  45.0 MBytes   377 Mbits/sec    0   1.04 MBytes       
[  5]   9.00-10.00  sec  43.8 MBytes   367 Mbits/sec    0   1.10 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -

Not the greatest speed but this is on a heavily congested channel.

Thanks for the trace. I will study it. I have no idea why I am not seeing this.

@whitslack

Is this the same stack trace you are getting?

whitslack commented 1 year ago

Is this the same stack trace you are getting?

Yes. mt76_txq_schedule > __mt76_tx_queue_skb > mt76u_tx_queue_skb > mt7921_usb_sdio_tx_prepare_skb > skb_push > skb_panic.

I have no idea why I am not seeing this.

Apologies if I missed your answer to my previous question: is your MT7921AU plugged into a USB3 port? There might be a different code path for data transfers over USB3 versus USB2.

Also, just to verify: you are putting the Wi-Fi interface into a bridge that has an UP Ethernet interface with carrier, right? I'm not sure the bug manifests if the Wi-Fi is the only interface on the bridge.

morrownr commented 1 year ago

is your MT7921AU plugged into a USB3 port?

I've been moving from a USB3 port to a USB2 port and back to see if I can see any difference. The adapter is the only USB device on the Pi.

you are putting the Wi-Fi interface into a bridge that has an UP Ethernet interface with carrier, right?

That is correct. I'm following the Bridged Guide as published with the exception that hostapd.conf is based on the WiFi 6 version that I recently posted.

We'll figure it out.

whitslack commented 1 year ago

There's a promising-looking commit in the kernel mainline: 007ae9b268ba ("wifi: mac80211: Serialize ieee80211_handle_wake_tx_queue()"). It serializes calls to the driver's transmit function since drivers are not required/expected to be reentrant. It's conceivable that multiple concurrent calls into the mt76 driver from the mac80211 code could be what's causing our crash here. I'll test this as soon as the fix lands in a released kernel version (hopefully 6.2.9).

Colargol59 commented 1 year ago

There's a promising-looking commit in the kernel mainline: 007ae9b268ba ("wifi: mac80211: Serialize ieee80211_handle_wake_tx_queue()"). It serializes calls to the driver's transmit function since drivers are not required/expected to be reentrant. It's conceivable that multiple concurrent calls into the mt76 driver from the mac80211 code could be what's causing our crash here. I'll test this as soon as the fix lands in a released kernel version (hopefully 6.2.9).

This patch seems to be easily backported, i'll try on Ubuntu (Kernel 6.1.0-1007.7)

EDIT: Not as easy as I thought, ieee80211_handle_wake_tx_queue in util.c was only added with this huge commit (first set of patches v6.2).

EDIT2: MT7921 driver does not seems to use the new ieee80211_handle_wake_tx_queue for his wake_tx_queue (seen in mediatek/mt76/mt7921/main.c)

black-jmyntrn commented 1 year ago

FWIW... I installed the CF-953AX into a gl.inet BERYL and it's working beautifully! I actually have the BERYL out of the case strapped to a mini PC which has dietpi installed. the mini PC is connected to the LAN on the BERYL and the BERYL is connected via wifi in the 953AX to my Cudy X6.... night and day difference in the performance of the BERYL! Love you @morrownr thanks for the hard work!

https://black.jmyntrn.com/2023/03/08/how-i-made-my-gl-inet-beryl-a-wifi-6-router/

morrownr commented 1 year ago

@black-jmyntrn

I had to take a look. That is cool.

whitslack commented 1 year ago

MT7921 driver does not seems to use the new ieee80211_handle_wake_tx_queue for his wake_tx_queue

@Colargol59: Hopes shattered. Thank you for the research.

black-jmyntrn commented 1 year ago

@black-jmyntrn

I had to take a look. That is cool.

4 day up time I just looked.

morrownr commented 1 year ago

MT7921 driver does not seems to use the new ieee80211_handle_wake_tx_queue for his wake_tx_queue

@Colargol59: Hopes shattered. Thank you for the research.

Gents,

There is this thing called a [PATCH]. Many flow into linux-wireless everyday.

mazzz1y commented 1 year ago

Hi all,

I've been experiencing an intermittent Wi-Fi issue with my Linux laptop, which has an Intel AX201 Wi-Fi card. Sometimes, my laptop can't find a specific Wi-Fi network. Other networks work perfectly, and other devices can connect to the problematic network without any issues. The problem occurs only with this laptop and this particular network.

The network is hosted by a Raspberry Pi, which is configured as a router and uses a CF-953AX Wi-Fi card. Both the server (Raspberry Pi) and client (laptop) are running kernel version 6.1.21. Sometimes the laptop connects to the network immediately, but most of the time, it doesn't.

After waiting for about 1-2 minutes, NetworkManager eventually detects the network and successfully connects to it. Interestingly, if I mark the network as "hidden," the laptop can connect without any issues, which suggests there might be a problem with SSID broadcasting.

I tried replacing the AX201 card with an AX411, but the issue persists. I've also tested both Wi-Fi 5 and Wi-Fi 6 modes with configs from this repo, but neither resolves the problem. I've checked the logs, but I don't see anything related to this issue.

Has anyone experienced a similar issue or have any suggestions on how to fix it?


Sorry if this issue has been discussed before, I couldn't find any related threads

morrownr commented 1 year ago

Hi @mazzz1y

Recommend you start a new issue. It may be overlooked down here at the end of this issue.

@morrownr

bjlockie commented 1 year ago

What band, 2.4 or 5GHz? How far is the router? Are there any walls between? Laptops have really bad antennas. I have an Intel Ice Lake CNVi which is an AX201. It is less than 5 feet away from an AP and it sometimes takes a long time to get more than a 245mbps link speed. Sometimes it goes to 1.2009Gbps right away. I am not impressed with Intel.

bjlockie commented 1 year ago

Try usb wifi in the laptop.

mazzz1y commented 1 year ago

Which band, 2.4 or 5GHz?

5GHz, tried channels 36 and 149, using AC and AX.

How far is the router? Are there any walls between? Laptops have really bad antennas.

1 meter, no difference, 720mbit+ bandwidth when connected. I'm certain it's not a signal problem.

Try a USB Wi-Fi adapter for the laptop.

I tried using a Terow ROW02FD (mt7612u) as a client and it worked perfectly. Before that, I used this mt7612u as an access point and it also worked perfectly. The issue occurs when I switch to a CF-953AX. There seems to be a compatibility issue with the Intel AX201/AX411 and the CF-953AX bundle.

Recommend you start a new issue. It may be overlooked down here at the end of this issue.

Sure, https://github.com/morrownr/USB-WiFi/issues/238

whitslack commented 1 year ago

Sure looks like an mt76 driver bug.

I got tired of waiting for a fix, so I found and fixed the bug myself. (Hooray for open source!) It took me the better part of a day, as I had to teach myself how Linux SKBs work.

You can read my analysis of the bug at the above link, but the high-level explanation is that the MediaTek devs were making an incorrect assumption about the memory buffers that the Linux kernel passes to the driver. Their assumption works out okay when packets originate on the local machine for the mt7921 interface, but it can fail when packets are received on another interface and are forwarded to the mt7921, as the other interface's driver might not have left enough space before the frame data for the mt7921 driver to prepend its control headers. When there isn't enough space, the kernel panics with the message "skb under panic". The solution I implemented — which I think is the correct solution, although we will see when a real kernel dev responds to my patch submission — is to reallocate the buffer (if needed) with adequate space for the mt7921 control headers.

Now I have both my MT7612U and my MT7921AU bridged to my LAN, and I finally have 5-GHz service on my home Wi-Fi network. If only we could get dual-AP support in the MT7921, then I'd be happy as a clam.

morrownr commented 1 year ago

@whitslack

I found and fixed the bug myself.

Yes, I saw your patch come into linux-wireless today. I understand your explanation and now have a better idea of why I was not able to duplicate the problem.

although we will see when a real kernel dev responds to my patch submission

The kernel are not known for being shy so if there is an issue, you will get some feedback. Since you have explained why appears to be a valid issue, if you patch needs to be modified, often you will see either a modified patch with explanation or recommendation for how you can modify the patch and submit a V2. Quick feedback: The title of the patch should have started like:

[PATCH] wifi: mt76: mt7921: bla bla bla

I know, the missing "wifi:" seems to be trivial but it is a little detail that helps keep things sorted out.

If only we could get dual-AP support in the MT7921, then I'd be happy as a clam.

I'm all for you being a like clam. Now that you are a kernel dev, have you thought about taking a look at the appropriate code in the mt7612u driver to see what needs to be changed in the mt7921u driver? Hmmm... add that dual-AP support yourself... go for it... I smell another patch about to be born...

My own pet peeve is the lack of AP mode DFS support. I have a patch to add the support to the mt7612u driver but it has not been accepted. I think it is because Mediatek did not file for approval for DFS support, possibly thinking that it is not needed. I am working slowly in the background to try to get the message to Mediatek management. I'm pretty sure it is not an issue with the code but the expense of the additional testing and certification.

fhteagle commented 1 year ago

New observation: cannot get CF-953AX to attach to USB3 bus on Raspberry pi 4B (w/ raspbian bullseye kernel 6.1.21-v7l+). lsusb -t -v says the CF-953AX will always end up at 480M speed, no matter which USB port I put it into.

Tested on an x86_84 machine, got it to attach at 5000M (USB3) bus rate, so it does not appear to be the card itself.

mazzz1y commented 1 year ago

@fhteagle

can't confirm

$ uname -a
Linux xxx 6.1.54-1-rpi-ARCH #1 SMP PREEMPT Tue Sep 19 11:55:52 MDT 2023 aarch64 GNU/Linux
$ lsusb -t -v
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
    ID 1d6b:0003 Linux Foundation 3.0 root hub
    |__ Port 2: Dev 2, If 0, Class=Wireless, Driver=btusb, 5000M
        ID 0e8d:7961 MediaTek Inc. 
    |__ Port 2: Dev 2, If 1, Class=Wireless, Driver=btusb, 5000M
        ID 0e8d:7961 MediaTek Inc. 
    |__ Port 2: Dev 2, If 2, Class=Wireless, Driver=, 5000M
        ID 0e8d:7961 MediaTek Inc. 
    |__ Port 2: Dev 2, If 3, Class=Vendor Specific Class, Driver=mt7921u, 5000M
        ID 0e8d:7961 MediaTek Inc. 
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/1p, 480M
    ID 1d6b:0002 Linux Foundation 2.0 root hub
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
        ID 2109:3431 VIA Labs, Inc. Hub
fhteagle commented 1 year ago

@mazzz1y Thanks for providing the data point. Might be an armv7l vs aarch64 thing. I plan to upgrade this pi to arch linux arm aarch64 soon, so I can confirm/deny that theory then.

morrownr commented 1 year ago

@fhteagle

I'll paste this standard answer I give Pi users when it could be a power issue:

The usb subsystem on RasPi's is problematic for several reasons. One of the big problems is that the subsystem does not provide spec power. A subsystem with 2 usb2 ports and 2 usb 3 port should be provided with 2 x 500 + 2 x 900 = 2800 mA of power per specification but the RasPi3 and 4 only provide 1200 mA of power leaving the usb subsystem seriously under powered. To get this right, you really have to know the max amount of power each adapter needs so that you do not exceed the limit. Adapters based on mt7612u chipsets pull a maximum of 400 mA. That leaves you with 800 mA for everything else that is plugged into a usb port.

The max power requirement for the mt7921au, which is what your cf-953 ax has, is 100 mA. However I tested it this morning with a meter and I saw power usage of up to 300 mA when using iperf3.

This problem could also be other things including defective product but I have not seen folks reporting defective cf-953ax's but it happens. Are you using an extention cable or powered hub? If so, see what you get without them.

fhteagle commented 1 year ago

Results of testing things more thoroughly:

Both armv7l and aarch64 kernel hosts will put the CF-953AX at 480M usb data rate if I either use a USB extension cable, or _if_the_953_is_not_exactly_seated_right. I've never experienced that before, usually USB either works all the way or it doesn't in my past experience. But in this case, the big fat CF953 body gets pushed by the neighboring ethernet cable or my logitech wireless receiver to be just far enough out of alignment that it gets treated like a USB2/480M device. If it is the only thing in that face of the pi, it usually attaches at 5000M data rate, but maybe 1 in 7 insertions it will choose 480M instead. Weird.

I have multiple powered hubs but every one I have tried seems to leak voltage back to the pi through the USB host port, which makes for nasty instability and transient errors. I even went as far as to put a "power blocker" on the hub->pi host connection, but all three hubs I tried seem to be leaking voltage on the data pins even (pi does not actually turn off/cooling fan keeps spinning when main power input is removed)?!? So now I need to go find and buy a proper powered hub with better voltage isolation. Grr.

Computers: where the "definition of insanity" definitely does not apply......................................................................................................................................................

morrownr commented 1 year ago

Ah. Yes, my answer above could have been much longer. I probably should write what I know about Pi's and USB WiFi adapters down and make it an option on the Main Menu.

every one I have tried seems to leak voltage back to the pi through the USB host port, which makes for nasty instability and transient errors.

Been there, done that and have seen it happen to many users. Powered hubs are good devices (the good quality ones) but using one with a RasPi is problematic. I use right angle usb extenders which work in a stable manner on Pi's with all adapters I have tried:

https://www.amazon.com/dp/B07S6B5X76?th=1

Adding anything else to the usb subsystem may cause problems so I set my AP's up with only the usb adapter first and once I have stable 24/7 operation, I will look at adding other things to usb ports one at a time to see if there is a problem.

There is also a well known problem with the usb 3 hub chipset. It can show up in various ways like just stopping the flow of data. RasPi management has made some really really bad decisions in the selection of the parts they have selected in building the Pi's.

I see the Pi5B was announced. I hope that some fixes are in place. The biggest fix would be all of the problems related to the usb subsystem. I'd also like the option to get a Pi without the onboard wifi as Broadcom never has done Linux support very well.

Both armv7l and aarch64 kernel hosts will put the CF-953AX at 480M usb data rate if I either use a USB extension cable, or _if_the_953_is_not_exactly_seated_right.

I have a cf-951ax which appears to be the same as your 953 but without the external antennas. My review in the Plug and Play list points out that I cannot get it to work at all with extension cables or powered hubs. Period. I also have an Alfa AXML. The Alfa comes with a cable and I have not had any problems like I have with the 951 but then there is a big price difference.

fakemanhk commented 8 months ago

Sorry for digging up this old one, are you able to have higher TX power on this dongle? It looks like always stuck at 3dBm, with speed test I never get more than 200Mbps which is terribly slow (even slower than my Asus USB-AC51, how's that possible??)

black-jmyntrn commented 8 months ago

Sorry for digging up this old one, are you able to have higher TX power on this dongle? It looks like always stuck at 3dBm, with speed test I never get more than 200Mbps which is terribly slow (even slower than my Asus USB-AC51, how's that possible??)

if not mistaken that's what it says but its not running at 3dBm, my mind says something about the driver or kernal but requires something major to fix so they left it as is

fakemanhk commented 8 months ago

if not mistaken that's what it says but its not running at 3dBm, my mind says something about the driver or kernal but requires something major to fix so they left it as is

So you mean this is just a "display issue"?

But the terribly low speed is also an issue, a 802.11ac 1x1 adaptor is almost the same speed as this 2x2 802.11ax....I can't believe it.

morrownr commented 8 months ago

Hi @fakemanhk

So you mean this is just a "display issue"?

That is correct. A friend told me yesterday that code had gone in to correct it but he didn't have a link readily available.

But the terribly low speed is also an issue...

Let's investigate.

Confirm that your adapter is the CF-953AX?

Can you give us Link Quality and Signal Level numbers? You can install the following app:

wavemon

Are you running a WiFi 6 capable router/AP?

@morrownr

fakemanhk commented 8 months ago

Confirm that your adapter is the CF-953AX?

Can you give us Link Quality and Signal Level numbers? You can install the following app:

wavemon

Are you running a WiFi 6 capable router/AP?

Yes, confirmed it's CF-953AX, it's also recognized by OpenWrt.

I am using it as AP under OpenWrt 23.05.2, with a Chromebook that has WiFi 6E support (I have plenty of WiFi 6 routers at home and confirmed that can do 2x2 160MHz), from OpenWrt it observes my Chromebook is connecting with HE-MCS10 or HE-MCS11 (which is very good signal).

Or this is expected when running in AP mode?

morrownr commented 8 months ago

I am using it as AP under OpenWrt 23.05.2

Opps... my bad.

confirmed that can do 2x2 160MHz),

The mt7921au chipset inside the CF-953AX can only do 80 MHz channel width. The soon to be upon us mt7925 will do 160 Mhz channel width.

connecting with HE-MCS10 or HE-MCS11

Not bad.

Or this is expected when running in AP mode?

I have ran a lot of usb adapters in AP mode over the last few years. My observations:

I just switched over to an AP running a mt7921au chipset, like yours, and I see a steady 300 Mbps using iperf3. Can this AP do better than 300 Mbps? Yes, but I don't get much out of testing unless I torcher the equipment. wavemon is showing a signal strength of -62 which is not that good but considering there are two walls and 20+ feet of distance, it not a bad signal. I was also using an AC1200 adapter so no WiFi 6.

@morrownr

fakemanhk commented 8 months ago

The mt7921au chipset inside the CF-953AX can only do 80 MHz channel width. The soon to be upon us mt7925 will do 160 Mhz channel width.

To clarify I mean my client laptop has 2x2 160MHz support, so PHY link rate when connecting to CF953AX AP was HE-MCS10 (1080Mbps) or HE-MCS11 (1201Mbps)

I have ran a lot of usb adapters in AP mode over the last few years. My observations:

  • There is more variability in performance that we might like. Adapters with high quality amps and antennas generally do the best.You find this in more expensive adapters.
  • That is not to say that lower cost adapters cannot work very well given the use case.

I understand this, but when I tried using the Asus USB-AC51 (which is just 1x1 802.11ac) as AP, it gave me almost 200Mbps, then I would think such a big CF953AX with explicit antenna can only do 300Mbps is really disappointing.

whitslack commented 8 months ago

@fakemanhk: I hate to ask an obvious question, but are you certain that your CF-953AX is negotiating at USB SuperSpeed (5 Gbps)? Your results hint that you might only be getting a high-speed (480 Mbps) USB link.

Another obvious question: are you certain that the channel is clear where you're doing your testing? It's entirely possible to have an excellent signal strength and a very fast link rate but nevertheless be hamstrung by collisions with other Wi-Fi networks operating on the same frequency.

fakemanhk commented 8 months ago

I read through some previous replies, found that someone mentioned about not seating properly would result in falling back to USB2, on Pi4 it does happen because it's too big, I bought an angled adaptor and now it confirms running at USB3 mode (5000M), however it's even worse! Now it works as AP but when I run speed test the wireless will just die.

I thought it was old firmware? Mine is 20230526130958, using your guideline on updating firmware will cause system unable to boot when CF953AX is present, apparently this doesn't work with OpenWrt 23.05.2? Below are the log when WiFi crashes on my RPi4:

Sat Jan 20 03:19:52 2024 kern.warn kernel: [  101.379694] xhci_hcd 0000:01:00.0: WARN: TRB error for slot 2 ep 7 on endpoint
Sat Jan 20 03:19:52 2024 kern.err kernel: [  101.386998] mt7921u 2-1:1.3: tx urb failed: -84
Sat Jan 20 03:19:52 2024 kern.warn kernel: [  101.391591] xhci_hcd 0000:01:00.0: WARN waiting for error on ep to be cleared
Sat Jan 20 03:19:52 2024 kern.err kernel: [  101.398742] mt7921u 2-1:1.3: tx urb submit failed:-22
Sat Jan 20 03:20:33 2024 daemon.info hostapd: phy0-ap0: STA e0:d0:45:xx:xx:xx IEEE 802.11: authenticated
Sat Jan 20 03:20:35 2024 daemon.info hostapd: phy0-ap0: STA e0:d0:45:xx:xx:xx IEEE 802.11: associated (aid 1)
Sat Jan 20 03:20:36 2024 daemon.info hostapd: phy0-ap0: STA e0:d0:45:xx:xx:xx IEEE 802.11: authenticated
Sat Jan 20 03:20:36 2024 daemon.notice hostapd: ieee802_11_send_sa_query_req: send failed
Sat Jan 20 03:20:36 2024 daemon.notice hostapd: ieee802_11_send_sa_query_req: send failed
Sat Jan 20 03:20:36 2024 daemon.notice hostapd: ieee802_11_send_sa_query_req: send failed
Sat Jan 20 03:20:37 2024 daemon.notice hostapd: ieee802_11_send_sa_query_req: send failed
Sat Jan 20 03:20:37 2024 daemon.notice hostapd: ieee802_11_send_sa_query_req: send failed
fakemanhk commented 8 months ago

Now I have a wild guess about the issue.....CF-953AX doesn't work well with Raspberry Pi USB controller (at least on my 2 x Pi4B), everytime using it and putting traffic on it, it will crash almost immediately.

Now I grabbed a NanoPi R4S, which has USB3 ports as well and not blocking anything when plugged in, also using OpenWrt 23.05.2, I can get quite a steady speed between 500-660Mbps without crashing, even I walked to the next room I also get 300-500Mbps speed.

However when I enabled packet steering on R4S, it crashed again (but I saw a transient speed bump to 800Mbps!)

Fri Jan 19 21:26:52 2024 kern.err kernel: [ 9372.587055] mt7921u 6-1:1.3: Message 00020002 (seq 12) timeout
Fri Jan 19 21:26:52 2024 kern.err kernel: [ 9372.837239] mt7921u 6-1:1.3: timed out waiting for pending tx
Fri Jan 19 21:26:52 2024 kern.warn kernel: [ 9372.890314] ------------[ cut here ]------------
Fri Jan 19 21:26:52 2024 kern.warn kernel: [ 9372.890783] WARNING: CPU: 1 PID: 2820 at kernel/kthread.c:600 0xffff8000080606b8
Fri Jan 19 21:26:52 2024 kern.warn kernel: [ 9372.891478] Modules linked in: pppoe ppp_async nft_fib_inet nf_flow_table_ipv6 nf_flow_table_ipv4 nf_flow_table_inet mt7921u mt7921_common mt76x0u mt76x0_common pppox ppp_generic nft_reject_ipv6 nft_reject_ipv4 nft_reject_inet nft_reject nft_redir nft_quota nft_objref nft_numgen nft_nat nft_masq nft_log nft_limit nft_hash nft_flow_offload nft_fib_ipv6 nft_fib_ipv4 nft_fib nft_ct nft_counter nft_chain_nat nf_tables nf_nat nf_flow_table nf_conntrack mt792x_usb mt792x_lib mt76x2u mt76x2_common mt76x02_usb mt76x02_lib mt76_usb mt76_connac_lib mt76 mac80211 lzo cfg80211 slhc r8169 nfnetlink nf_reject_ipv6 nf_reject_ipv4 nf_log_syslog nf_defrag_ipv6 nf_defrag_ipv4 lzo_rle lzo_decompress lzo_compress crc_ccitt compat sha512_generic seqiv jitterentropy_rng drbg hmac cmac crypto_acompress gpio_button_hotplug
Fri Jan 19 21:26:52 2024 kern.warn kernel: [ 9372.898292] CPU: 1 PID: 2820 Comm: kworker/u12:4 Not tainted 5.15.137 #0
Fri Jan 19 21:26:52 2024 kern.warn kernel: [ 9372.898917] Hardware name: FriendlyElec NanoPi R4S (DT)
Fri Jan 19 21:26:52 2024 kern.warn kernel: [ 9372.899404] Workqueue: mt76 0xffff800000b8e460 [mt7921_common@000000003c8cdeaf+0xc000]
Fri Jan 19 21:26:52 2024 kern.warn kernel: [ 9372.900155] pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
Fri Jan 19 21:26:52 2024 kern.warn kernel: [ 9372.900804] pc : 0xffff8000080606b8
Fri Jan 19 21:26:52 2024 kern.warn kernel: [ 9372.901136] lr : 0xffff800000a5dea8 [mt76_usb@0000000071ae7858+0x5000]
Fri Jan 19 21:26:52 2024 kern.warn kernel: [ 9372.901757] sp : ffff80000c823c60
Fri Jan 19 21:26:52 2024 kern.warn kernel: [ 9372.902071] x29: ffff80000c823c60 x28: 0000000000000000 x27: 00000000fffffef7
Fri Jan 19 21:26:52 2024 kern.warn kernel: [ 9372.902747] x26: ffff0000028d7d80 x25: 0000000000000100 x24: ffff000004512088
Fri Jan 19 21:26:52 2024 kern.warn kernel: [ 9372.903422] x23: ffff000004512068 x22: ffff000004517440 x21: ffff000004514840
Fri Jan 19 21:26:52 2024 kern.warn kernel: [ 9372.904097] x20: ffff000004416800 x19: ffff000002bc0000 x18: 0000000000000005
Fri Jan 19 21:26:52 2024 kern.warn kernel: [ 9372.904773] x17: 000000040044ffff x16: 00400032b5503510 x15: 0000000000000000
Fri Jan 19 21:26:52 2024 kern.warn kernel: [ 9372.905446] x14: ffff0000006a0c40 x13: ffff8000eec56000 x12: 0000000034d4d91d
Fri Jan 19 21:26:52 2024 kern.warn kernel: [ 9372.906121] x11: 0000000000000000 x10: 0000000000000910 x9 : ffff80000c823b90
Fri Jan 19 21:26:52 2024 kern.warn kernel: [ 9372.906794] x8 : ffff000002a3eb70 x7 : 0000000000000001 x6 : ffff800008e586e8
Fri Jan 19 21:26:52 2024 kern.warn kernel: [ 9372.907467] x5 : ffff800008e586e8 x4 : 0000000000000000 x3 : 0000000000002800
Fri Jan 19 21:26:52 2024 kern.warn kernel: [ 9372.908141] x2 : 0000000000000000 x1 : 0000000000001fe0 x0 : 0000000000000004
Fri Jan 19 21:26:52 2024 kern.warn kernel: [ 9372.908816] Call trace:
Fri Jan 19 21:26:52 2024 kern.warn kernel: [ 9372.909052]  0xffff8000080606b8
Fri Jan 19 21:26:52 2024 kern.warn kernel: [ 9372.909354]  0xffff800000a5dea8 [mt76_usb@0000000071ae7858+0x5000]
Fri Jan 19 21:26:52 2024 kern.warn kernel: [ 9372.909940]  0xffff800000b9c53c [mt7921u@00000000180fdd8c+0x3000]
Fri Jan 19 21:26:52 2024 kern.warn kernel: [ 9372.910510]  0xffff800000b8e4f4 [mt7921_common@000000003c8cdeaf+0xc000]
Fri Jan 19 21:26:52 2024 kern.warn kernel: [ 9372.911127]  0xffff8000080591c4
Fri Jan 19 21:26:52 2024 kern.warn kernel: [ 9372.911427]  0xffff8000080593b0
Fri Jan 19 21:26:52 2024 kern.warn kernel: [ 9372.911726]  0xffff800008060d10
Fri Jan 19 21:26:52 2024 kern.warn kernel: [ 9372.912027]  0xffff800008015aec
Fri Jan 19 21:26:52 2024 kern.warn kernel: [ 9372.912328] ---[ end trace 174452a1b8ad06e9 ]---
Fri Jan 19 21:26:52 2024 kern.info kernel: [ 9373.058011] mt7921u 6-1:1.3: HW/SW Version: 0x8a108a10, Build Time: 20230526130917a
Fri Jan 19 21:26:52 2024 kern.info kernel: [ 9373.058011]
Fri Jan 19 21:26:52 2024 kern.info kernel: [ 9373.069956] mt7921u 6-1:1.3: WM Firmware Version: ____010000, Build Time: 20230526130958
fakemanhk commented 8 months ago

Not sure if Chrome OS has some issues here, when I put my Android phone and do test (it supports WiFi 6E) there is no issue, but using Chrome OS laptop with much higher transmission rate (> 700Mbps) this dongle will just hang (maybe using phones I cannot hit this speed)

Edit: It only crashes when I do Waveform Bufferfloat test with ChromeOS?? I used Android without problem, and ChromeOS testing with FAST.com and/or Ookla speedtest all OK, I hit max. 710Mbps which I believe very nice! But with RPi 4B + OpenWrt it will crash any way.

morrownr commented 8 months ago

@fakemanhk

If I am reading the last few messages correctly, you seem to have things working well with OpenWRT but not with the RasPiOS? Is this correct?

@morrownr

Badger101 commented 4 months ago

@morrownr

My own pet peeve is the lack of AP mode DFS support. I have a patch to add the support to the mt7612u driver but it has not been accepted. I think it is because Mediatek did not file for approval for DFS support, possibly thinking that it is not needed. I am working slowly in the background to try to get the message to Mediatek management. I'm pretty sure it is not an issue with the code but the expense of the additional testing and certification.

Did you ever get an answer if Mediatek will support DFS in AP mode for the CF-953AX? I've just come across this issue and it looks like you can only use a few channels above, or below the radar channels with this adapter - I'd like to able to set it to one of the radar channels.

Thanks for your work!

morrownr commented 4 months ago

@Badger101

Did you ever get an answer if Mediatek will support DFS in AP mode for the CF-953AX?

No

I've just come across this issue and it looks like you can only use a few channels above, or below the radar channels with this adapter - I'd like to able to set it to one of the radar channels.

Your adapter should work fine with DFS channels in managed (client) mode as long as there is no system problem regarding country code. Do you know what channels you should be able to use? It depends on country.

fakemanhk commented 4 months ago

@fakemanhk

If I am reading the last few messages correctly, you seem to have things working well with OpenWRT but not with the RasPiOS? Is this correct?

@morrownr

On Raspberry Pi I was also using OpenWrt to test, haven't tried with RPi OS yet. But my wild guess is, issue with RPi 4B was caused by the USB controller, not sure if kernel 6.6 (RPi just released official 6.6 LTS support on it not long ago) has improved or not, at least with kernel 6.1 I am still observing frequent crashes.

Badger101 commented 4 months ago

Your adapter should work fine with DFS channels in managed (client) mode as long as there is no system problem regarding country code. Do you know what channels you should be able to use? It depends on country.

Yes, it does work in client mode, it would just be nice to able to utilise the DFS channels in AP mode also because no-one uses them here (no issues with RADAR, etc).

iw reg get
global
country DE: DFS-ETSI
    (2400 - 2483 @ 40), (N/A, 20), (N/A)
    (5150 - 5250 @ 80), (N/A, 23), (N/A), NO-OUTDOOR, AUTO-BW
    (5250 - 5350 @ 80), (N/A, 20), (0 ms), NO-OUTDOOR, DFS, AUTO-BW
    (5470 - 5725 @ 160), (N/A, 26), (0 ms), DFS
    (5725 - 5875 @ 80), (N/A, 13), (N/A)
    (5945 - 6425 @ 160), (N/A, 23), (N/A), NO-OUTDOOR
    (57000 - 66000 @ 2160), (N/A, 40), (N/A)
iw list
Wiphy phy3
    wiphy index: 3
    max # scan SSIDs: 4
    max scan IEs length: 482 bytes
    max # sched scan SSIDs: 10
    max # match sets: 16
    Retry short limit: 7
    Retry long limit: 4
    Coverage class: 0 (up to 0m)
    Device supports AP-side u-APSD.
    Device supports T-DLS.
    Supported Ciphers:
        * WEP40 (00-0f-ac:1)
        * WEP104 (00-0f-ac:5)
        * TKIP (00-0f-ac:2)
        * CCMP-128 (00-0f-ac:4)
        * CCMP-256 (00-0f-ac:10)
        * GCMP-128 (00-0f-ac:8)
        * GCMP-256 (00-0f-ac:9)
        * CMAC (00-0f-ac:6)
        * CMAC-256 (00-0f-ac:13)
        * GMAC-128 (00-0f-ac:11)
        * GMAC-256 (00-0f-ac:12)
    Available Antennas: TX 0x3 RX 0x3
    Configured Antennas: TX 0x3 RX 0x3
    Supported interface modes:
         * managed
         * AP
         * AP/VLAN
         * monitor
         * P2P-client
         * P2P-GO
    Band 1:
        Capabilities: 0x9ff
            RX LDPC
            HT20/HT40
            SM Power Save disabled
            RX Greenfield
            RX HT20 SGI
            RX HT40 SGI
            TX STBC
            RX STBC 1-stream
            Max AMSDU length: 7935 bytes
            No DSSS/CCK HT40
        Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
        Minimum RX AMPDU time spacing: No restriction (0x00)
        HT TX/RX MCS rate indexes supported: 0-15
        HE Iftypes: managed
            HE MAC Capabilities (0x08011a000040):
                +HTC HE Supported
                Trigger Frame MAC Padding Duration: 2
                OM Control
                Maximum A-MPDU Length Exponent: 3
                A-MSDU in A-MPDU
            HE PHY Capabilities: (0x2270ce120dc0b306423f00):
                HE40/2.4GHz
                242 tone RUs/2.4GHz
                Device Class: 1
                LDPC Coding in Payload
                HE SU PPDU with 1x HE-LTF and 0.8us GI
                NDP with 4x HE-LTF and 3.2us GI
                STBC Tx <= 80MHz
                STBC Rx <= 80MHz
                Full Bandwidth UL MU-MIMO
                Partial Bandwidth UL MU-MIMO
                DCM Max Constellation: 2
                DCM Max Constellation Rx: 2
                SU Beamformee
                Beamformee STS <= 80Mhz: 3
                Ng = 16 SU Feedback
                Ng = 16 MU Feedback
                Codebook Size SU Feedback
                Codebook Size MU Feedback
                Triggered CQI Feedback
                Partial Bandwidth Extended Range
                PPE Threshold Present
                Power Boost Factor ar
                HE SU PPDU & HE PPDU 4x HE-LTF 0.8us GI
                20MHz in 40MHz HE PPDU 2.4GHz
                DCM Max BW: 1
                Longer Than 16HE SIG-B OFDM Symbols
                Non-Triggered CQI Feedback
                TX 1024-QAM
                RX 1024-QAM
                RX Full BW SU Using HE MU PPDU with Compression SIGB
                RX Full BW SU Using HE MU PPDU with Non-Compression SIGB
            HE RX MCS and NSS set <= 80 MHz
                1 streams: MCS 0-11
                2 streams: MCS 0-11
                3 streams: not supported
                4 streams: not supported
                5 streams: not supported
                6 streams: not supported
                7 streams: not supported
                8 streams: not supported
            HE TX MCS and NSS set <= 80 MHz
                1 streams: MCS 0-11
                2 streams: MCS 0-11
                3 streams: not supported
                4 streams: not supported
                5 streams: not supported
                6 streams: not supported
                7 streams: not supported
                8 streams: not supported
            PPE Threshold 0x39 0x1c 0xc7 0x71 0x1c 0x07 
        HE Iftypes: AP
            HE MAC Capabilities (0x00011a081044):
                +HTC HE Supported
                BSR
                OM Control
                Maximum A-MPDU Length Exponent: 3
                BQR
                A-MSDU in A-MPDU
                OM Control UL MU Data Disable RX
            HE PHY Capabilities: (0x0220ce120000a000000c00):
                HE40/2.4GHz
                LDPC Coding in Payload
                NDP with 4x HE-LTF and 3.2us GI
                STBC Tx <= 80MHz
                STBC Rx <= 80MHz
                Full Bandwidth UL MU-MIMO
                Partial Bandwidth UL MU-MIMO
                DCM Max Constellation: 2
                DCM Max Constellation Rx: 2
                Partial Bandwidth Extended Range
                PPE Threshold Present
                TX 1024-QAM
                RX 1024-QAM
            HE RX MCS and NSS set <= 80 MHz
                1 streams: MCS 0-11
                2 streams: MCS 0-11
                3 streams: not supported
                4 streams: not supported
                5 streams: not supported
                6 streams: not supported
                7 streams: not supported
                8 streams: not supported
            HE TX MCS and NSS set <= 80 MHz
                1 streams: MCS 0-11
                2 streams: MCS 0-11
                3 streams: not supported
                4 streams: not supported
                5 streams: not supported
                6 streams: not supported
                7 streams: not supported
                8 streams: not supported
            PPE Threshold 0x39 0x1c 0xc7 0x71 0x1c 0x07 
        Bitrates (non-HT):
            * 1.0 Mbps (short preamble supported)
            * 2.0 Mbps (short preamble supported)
            * 5.5 Mbps (short preamble supported)
            * 11.0 Mbps (short preamble supported)
            * 6.0 Mbps
            * 9.0 Mbps
            * 12.0 Mbps
            * 18.0 Mbps
            * 24.0 Mbps
            * 36.0 Mbps
            * 48.0 Mbps
            * 54.0 Mbps
        Frequencies:
            * 2412 MHz [1] (20.0 dBm)
            * 2417 MHz [2] (20.0 dBm)
            * 2422 MHz [3] (20.0 dBm)
            * 2427 MHz [4] (20.0 dBm)
            * 2432 MHz [5] (20.0 dBm)
            * 2437 MHz [6] (20.0 dBm)
            * 2442 MHz [7] (20.0 dBm)
            * 2447 MHz [8] (20.0 dBm)
            * 2452 MHz [9] (20.0 dBm)
            * 2457 MHz [10] (20.0 dBm)
            * 2462 MHz [11] (20.0 dBm)
            * 2467 MHz [12] (20.0 dBm)
            * 2472 MHz [13] (20.0 dBm)
            * 2484 MHz [14] (disabled)
    Band 2:
        Capabilities: 0x9ff
            RX LDPC
            HT20/HT40
            SM Power Save disabled
            RX Greenfield
            RX HT20 SGI
            RX HT40 SGI
            TX STBC
            RX STBC 1-stream
            Max AMSDU length: 7935 bytes
            No DSSS/CCK HT40
        Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
        Minimum RX AMPDU time spacing: No restriction (0x00)
        HT TX/RX MCS rate indexes supported: 0-15
        VHT Capabilities (0x339071b2):
            Max MPDU length: 11454
            Supported Channel Width: neither 160 nor 80+80
            RX LDPC
            short GI (80 MHz)
            TX STBC
            SU Beamformee
            MU Beamformee
            RX antenna pattern consistency
            TX antenna pattern consistency
        VHT RX MCS set:
            1 streams: MCS 0-9
            2 streams: MCS 0-9
            3 streams: not supported
            4 streams: not supported
            5 streams: not supported
            6 streams: not supported
            7 streams: not supported
            8 streams: not supported
        VHT RX highest supported: 0 Mbps
        VHT TX MCS set:
            1 streams: MCS 0-9
            2 streams: MCS 0-9
            3 streams: not supported
            4 streams: not supported
            5 streams: not supported
            6 streams: not supported
            7 streams: not supported
            8 streams: not supported
        VHT TX highest supported: 0 Mbps
        HE Iftypes: managed
            HE MAC Capabilities (0x08011a000040):
                +HTC HE Supported
                Trigger Frame MAC Padding Duration: 2
                OM Control
                Maximum A-MPDU Length Exponent: 3
                A-MSDU in A-MPDU
            HE PHY Capabilities: (0x4470ce120dc0b306423f00):
                HE40/HE80/5GHz
                242 tone RUs/5GHz
                Device Class: 1
                LDPC Coding in Payload
                HE SU PPDU with 1x HE-LTF and 0.8us GI
                NDP with 4x HE-LTF and 3.2us GI
                STBC Tx <= 80MHz
                STBC Rx <= 80MHz
                Full Bandwidth UL MU-MIMO
                Partial Bandwidth UL MU-MIMO
                DCM Max Constellation: 2
                DCM Max Constellation Rx: 2
                SU Beamformee
                Beamformee STS <= 80Mhz: 3
                Ng = 16 SU Feedback
                Ng = 16 MU Feedback
                Codebook Size SU Feedback
                Codebook Size MU Feedback
                Triggered CQI Feedback
                Partial Bandwidth Extended Range
                PPE Threshold Present
                Power Boost Factor ar
                HE SU PPDU & HE PPDU 4x HE-LTF 0.8us GI
                20MHz in 40MHz HE PPDU 2.4GHz
                DCM Max BW: 1
                Longer Than 16HE SIG-B OFDM Symbols
                Non-Triggered CQI Feedback
                TX 1024-QAM
                RX 1024-QAM
                RX Full BW SU Using HE MU PPDU with Compression SIGB
                RX Full BW SU Using HE MU PPDU with Non-Compression SIGB
            HE RX MCS and NSS set <= 80 MHz
                1 streams: MCS 0-11
                2 streams: MCS 0-11
                3 streams: not supported
                4 streams: not supported
                5 streams: not supported
                6 streams: not supported
                7 streams: not supported
                8 streams: not supported
            HE TX MCS and NSS set <= 80 MHz
                1 streams: MCS 0-11
                2 streams: MCS 0-11
                3 streams: not supported
                4 streams: not supported
                5 streams: not supported
                6 streams: not supported
                7 streams: not supported
                8 streams: not supported
            PPE Threshold 0x39 0x1c 0xc7 0x71 0x1c 0x07 
        HE Iftypes: AP
            HE MAC Capabilities (0x00011a081044):
                +HTC HE Supported
                BSR
                OM Control
                Maximum A-MPDU Length Exponent: 3
                BQR
                A-MSDU in A-MPDU
                OM Control UL MU Data Disable RX
            HE PHY Capabilities: (0x0420ce120000a000000c00):
                HE40/HE80/5GHz
                LDPC Coding in Payload
                NDP with 4x HE-LTF and 3.2us GI
                STBC Tx <= 80MHz
                STBC Rx <= 80MHz
                Full Bandwidth UL MU-MIMO
                Partial Bandwidth UL MU-MIMO
                DCM Max Constellation: 2
                DCM Max Constellation Rx: 2
                Partial Bandwidth Extended Range
                PPE Threshold Present
                TX 1024-QAM
                RX 1024-QAM
            HE RX MCS and NSS set <= 80 MHz
                1 streams: MCS 0-11
                2 streams: MCS 0-11
                3 streams: not supported
                4 streams: not supported
                5 streams: not supported
                6 streams: not supported
                7 streams: not supported
                8 streams: not supported
            HE TX MCS and NSS set <= 80 MHz
                1 streams: MCS 0-11
                2 streams: MCS 0-11
                3 streams: not supported
                4 streams: not supported
                5 streams: not supported
                6 streams: not supported
                7 streams: not supported
                8 streams: not supported
            PPE Threshold 0x39 0x1c 0xc7 0x71 0x1c 0x07 
        Bitrates (non-HT):
            * 6.0 Mbps
            * 9.0 Mbps
            * 12.0 Mbps
            * 18.0 Mbps
            * 24.0 Mbps
            * 36.0 Mbps
            * 48.0 Mbps
            * 54.0 Mbps
        Frequencies:
            * 5180 MHz [36] (23.0 dBm)
            * 5200 MHz [40] (23.0 dBm)
            * 5220 MHz [44] (23.0 dBm)
            * 5240 MHz [48] (23.0 dBm)
            * 5260 MHz [52] (20.0 dBm) (radar detection)
            * 5280 MHz [56] (20.0 dBm) (radar detection)
            * 5300 MHz [60] (20.0 dBm) (radar detection)
            * 5320 MHz [64] (20.0 dBm) (radar detection)
            * 5500 MHz [100] (26.0 dBm) (radar detection)
            * 5520 MHz [104] (26.0 dBm) (radar detection)
            * 5540 MHz [108] (26.0 dBm) (radar detection)
            * 5560 MHz [112] (26.0 dBm) (radar detection)
            * 5580 MHz [116] (26.0 dBm) (radar detection)
            * 5600 MHz [120] (26.0 dBm) (radar detection)
            * 5620 MHz [124] (26.0 dBm) (radar detection)
            * 5640 MHz [128] (26.0 dBm) (radar detection)
            * 5660 MHz [132] (26.0 dBm) (radar detection)
            * 5680 MHz [136] (26.0 dBm) (radar detection)
            * 5700 MHz [140] (26.0 dBm) (radar detection)
            * 5720 MHz [144] (13.0 dBm) (radar detection)
            * 5745 MHz [149] (13.0 dBm)
            * 5765 MHz [153] (13.0 dBm)
            * 5785 MHz [157] (13.0 dBm)
            * 5805 MHz [161] (13.0 dBm)
            * 5825 MHz [165] (13.0 dBm)
            * 5845 MHz [169] (13.0 dBm)
            * 5865 MHz [173] (13.0 dBm)
            * 5885 MHz [177] (disabled)
    Band 4:
        HE Iftypes: managed
            HE MAC Capabilities (0x08011a000040):
                +HTC HE Supported
                Trigger Frame MAC Padding Duration: 2
                OM Control
                Maximum A-MPDU Length Exponent: 3
                A-MSDU in A-MPDU
            HE PHY Capabilities: (0x4470ce120dc0b306423f00):
                HE40/HE80/5GHz
                242 tone RUs/5GHz
                Device Class: 1
                LDPC Coding in Payload
                HE SU PPDU with 1x HE-LTF and 0.8us GI
                NDP with 4x HE-LTF and 3.2us GI
                STBC Tx <= 80MHz
                STBC Rx <= 80MHz
                Full Bandwidth UL MU-MIMO
                Partial Bandwidth UL MU-MIMO
                DCM Max Constellation: 2
                DCM Max Constellation Rx: 2
                SU Beamformee
                Beamformee STS <= 80Mhz: 3
                Ng = 16 SU Feedback
                Ng = 16 MU Feedback
                Codebook Size SU Feedback
                Codebook Size MU Feedback
                Triggered CQI Feedback
                Partial Bandwidth Extended Range
                PPE Threshold Present
                Power Boost Factor ar
                HE SU PPDU & HE PPDU 4x HE-LTF 0.8us GI
                20MHz in 40MHz HE PPDU 2.4GHz
                DCM Max BW: 1
                Longer Than 16HE SIG-B OFDM Symbols
                Non-Triggered CQI Feedback
                TX 1024-QAM
                RX 1024-QAM
                RX Full BW SU Using HE MU PPDU with Compression SIGB
                RX Full BW SU Using HE MU PPDU with Non-Compression SIGB
            HE RX MCS and NSS set <= 80 MHz
                1 streams: MCS 0-11
                2 streams: MCS 0-11
                3 streams: not supported
                4 streams: not supported
                5 streams: not supported
                6 streams: not supported
                7 streams: not supported
                8 streams: not supported
            HE TX MCS and NSS set <= 80 MHz
                1 streams: MCS 0-11
                2 streams: MCS 0-11
                3 streams: not supported
                4 streams: not supported
                5 streams: not supported
                6 streams: not supported
                7 streams: not supported
                8 streams: not supported
            PPE Threshold 0x39 0x1c 0xc7 0x71 0x1c 0x07 
        HE Iftypes: AP
            HE MAC Capabilities (0x00011a081044):
                +HTC HE Supported
                BSR
                OM Control
                Maximum A-MPDU Length Exponent: 3
                BQR
                A-MSDU in A-MPDU
                OM Control UL MU Data Disable RX
            HE PHY Capabilities: (0x0420ce120000a000000c00):
                HE40/HE80/5GHz
                LDPC Coding in Payload
                NDP with 4x HE-LTF and 3.2us GI
                STBC Tx <= 80MHz
                STBC Rx <= 80MHz
                Full Bandwidth UL MU-MIMO
                Partial Bandwidth UL MU-MIMO
                DCM Max Constellation: 2
                DCM Max Constellation Rx: 2
                Partial Bandwidth Extended Range
                PPE Threshold Present
                TX 1024-QAM
                RX 1024-QAM
            HE RX MCS and NSS set <= 80 MHz
                1 streams: MCS 0-11
                2 streams: MCS 0-11
                3 streams: not supported
                4 streams: not supported
                5 streams: not supported
                6 streams: not supported
                7 streams: not supported
                8 streams: not supported
            HE TX MCS and NSS set <= 80 MHz
                1 streams: MCS 0-11
                2 streams: MCS 0-11
                3 streams: not supported
                4 streams: not supported
                5 streams: not supported
                6 streams: not supported
                7 streams: not supported
                8 streams: not supported
            PPE Threshold 0x39 0x1c 0xc7 0x71 0x1c 0x07 
        Bitrates (non-HT):
            * 6.0 Mbps
            * 9.0 Mbps
            * 12.0 Mbps
            * 18.0 Mbps
            * 24.0 Mbps
            * 36.0 Mbps
            * 48.0 Mbps
            * 54.0 Mbps
        Frequencies:
            * 5955 MHz [1] (23.0 dBm)
            * 5975 MHz [5] (23.0 dBm)
            * 5995 MHz [9] (23.0 dBm)
            * 6015 MHz [13] (23.0 dBm)
            * 6035 MHz [17] (23.0 dBm)
            * 6055 MHz [21] (23.0 dBm)
            * 6075 MHz [25] (23.0 dBm)
            * 6095 MHz [29] (23.0 dBm)
            * 6115 MHz [33] (23.0 dBm)
            * 6135 MHz [37] (23.0 dBm)
            * 6155 MHz [41] (23.0 dBm)
            * 6175 MHz [45] (23.0 dBm)
            * 6195 MHz [49] (23.0 dBm)
            * 6215 MHz [53] (23.0 dBm)
            * 6235 MHz [57] (23.0 dBm)
            * 6255 MHz [61] (23.0 dBm)
            * 6275 MHz [65] (23.0 dBm)
            * 6295 MHz [69] (23.0 dBm)
            * 6315 MHz [73] (23.0 dBm)
            * 6335 MHz [77] (23.0 dBm)
            * 6355 MHz [81] (23.0 dBm)
            * 6375 MHz [85] (23.0 dBm)
            * 6395 MHz [89] (23.0 dBm)
            * 6415 MHz [93] (23.0 dBm)
            * 6435 MHz [97] (disabled)
            * 6455 MHz [101] (disabled)
            * 6475 MHz [105] (disabled)
            * 6495 MHz [109] (disabled)
            * 6515 MHz [113] (disabled)
            * 6535 MHz [117] (disabled)
            * 6555 MHz [121] (disabled)
            * 6575 MHz [125] (disabled)
            * 6595 MHz [129] (disabled)
            * 6615 MHz [133] (disabled)
            * 6635 MHz [137] (disabled)
            * 6655 MHz [141] (disabled)
            * 6675 MHz [145] (disabled)
            * 6695 MHz [149] (disabled)
            * 6715 MHz [153] (disabled)
            * 6735 MHz [157] (disabled)
            * 6755 MHz [161] (disabled)
            * 6775 MHz [165] (disabled)
            * 6795 MHz [169] (disabled)
            * 6815 MHz [173] (disabled)
            * 6835 MHz [177] (disabled)
            * 6855 MHz [181] (disabled)
            * 6875 MHz [185] (disabled)
            * 6895 MHz [189] (disabled)
            * 6915 MHz [193] (disabled)
            * 6935 MHz [197] (disabled)
            * 6955 MHz [201] (disabled)
            * 6975 MHz [205] (disabled)
            * 6995 MHz [209] (disabled)
            * 7015 MHz [213] (disabled)
            * 7035 MHz [217] (disabled)
            * 7055 MHz [221] (disabled)
            * 7075 MHz [225] (disabled)
            * 7095 MHz [229] (disabled)
            * 7115 MHz [233] (disabled)
    Supported commands:
         * new_interface
         * set_interface
         * new_key
         * start_ap
         * new_station
         * new_mpath
         * set_mesh_config
         * set_bss
         * authenticate
         * associate
         * deauthenticate
         * disassociate
         * join_ibss
         * join_mesh
         * remain_on_channel
         * set_tx_bitrate_mask
         * frame
         * frame_wait_cancel
         * set_wiphy_netns
         * set_channel
         * tdls_mgmt
         * tdls_oper
         * start_sched_scan
         * probe_client
         * set_noack_map
         * register_beacons
         * start_p2p_device
         * set_mcast_rate
         * connect
         * disconnect
         * channel_switch
         * set_qos_map
         * set_multicast_to_unicast
         * set_sar_specs
    WoWLAN support:
         * wake up on disconnect
         * wake up on magic packet
         * wake up on pattern match, up to 1 patterns of 1-128 bytes,
           maximum packet offset 0 bytes
         * can do GTK rekeying
         * wake up on network detection, up to 10 match sets
    software interface modes (can always be added):
         * AP/VLAN
         * monitor
    valid interface combinations:
         * #{ managed, P2P-client } <= 2, #{ AP, P2P-GO } <= 1,
           total <= 2, #channels <= 2
    HT Capability overrides:
         * MCS: ff ff ff ff ff ff ff ff ff ff
         * maximum A-MSDU length
         * supported channel width
         * short GI for 40 MHz
         * max A-MPDU length exponent
         * min MPDU start spacing
    Device supports TX status socket option.
    Device supports HT-IBSS.
    Device supports SAE with AUTHENTICATE command
    Device supports scan flush.
    Device supports per-vif TX power setting
    Driver supports full state transitions for AP/GO clients
    Driver supports a userspace MPM
    Device supports active monitor (which will ACK incoming frames)
    Driver/device bandwidth changes during BSS lifetime (AP/GO mode)
    Device supports configuring vdev MAC-addr on create.
    Device supports randomizing MAC-addr in scans.
    Device supports randomizing MAC-addr in sched scans.
    max # scan plans: 1
    max scan plan interval: 65535
    max scan plan iterations: 0
    Supported TX frame types:
         * IBSS: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
         * managed: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
         * AP: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
         * AP/VLAN: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
         * mesh point: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
         * P2P-client: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
         * P2P-GO: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
         * P2P-device: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
    Supported RX frame types:
         * IBSS: 0x40 0xb0 0xc0 0xd0
         * managed: 0x40 0xb0 0xd0
         * AP: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
         * AP/VLAN: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
         * mesh point: 0xb0 0xc0 0xd0
         * P2P-client: 0x40 0xd0
         * P2P-GO: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
         * P2P-device: 0x40 0xd0
    Supported extended features:
        * [ RRM ]: RRM
        * [ SET_SCAN_DWELL ]: scan dwell setting
        * [ BEACON_RATE_LEGACY ]: legacy beacon rate setting
        * [ BEACON_RATE_HT ]: HT beacon rate setting
        * [ BEACON_RATE_VHT ]: VHT beacon rate setting
        * [ FILS_STA ]: STA FILS (Fast Initial Link Setup)
        * [ CQM_RSSI_LIST ]: multiple CQM_RSSI_THOLD records
        * [ CONTROL_PORT_OVER_NL80211 ]: control port over nl80211
        * [ ACK_SIGNAL_SUPPORT ]: ack signal level support
        * [ TXQS ]: FQ-CoDel-enabled intermediate TXQs
        * [ AIRTIME_FAIRNESS ]: airtime fairness scheduling
        * [ AQL ]: Airtime Queue Limits (AQL)
        * [ CAN_REPLACE_PTK0 ]: can safely replace PTK 0 when rekeying
        * [ CONTROL_PORT_NO_PREAUTH ]: disable pre-auth over nl80211 control port support
        * [ SCAN_FREQ_KHZ ]: scan on kHz frequency support
        * [ CONTROL_PORT_OVER_NL80211_TX_STATUS ]: tx status for nl80211 control port support
Wiphy phy2
    wiphy index: 2
    max # scan SSIDs: 4
    max scan IEs length: 482 bytes
    max # sched scan SSIDs: 10
    max # match sets: 16
    Retry short limit: 7
    Retry long limit: 4
    Coverage class: 0 (up to 0m)
    Device supports AP-side u-APSD.
    Device supports T-DLS.
    Supported Ciphers:
        * WEP40 (00-0f-ac:1)
        * WEP104 (00-0f-ac:5)
        * TKIP (00-0f-ac:2)
        * CCMP-128 (00-0f-ac:4)
        * CCMP-256 (00-0f-ac:10)
        * GCMP-128 (00-0f-ac:8)
        * GCMP-256 (00-0f-ac:9)
        * CMAC (00-0f-ac:6)
        * CMAC-256 (00-0f-ac:13)
        * GMAC-128 (00-0f-ac:11)
        * GMAC-256 (00-0f-ac:12)
    Available Antennas: TX 0x3 RX 0x3
    Configured Antennas: TX 0x3 RX 0x3
    Supported interface modes:
         * managed
         * AP
         * AP/VLAN
         * monitor
         * P2P-client
         * P2P-GO
    Band 1:
        Capabilities: 0x9ff
            RX LDPC
            HT20/HT40
            SM Power Save disabled
            RX Greenfield
            RX HT20 SGI
            RX HT40 SGI
            TX STBC
            RX STBC 1-stream
            Max AMSDU length: 7935 bytes
            No DSSS/CCK HT40
        Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
        Minimum RX AMPDU time spacing: No restriction (0x00)
        HT TX/RX MCS rate indexes supported: 0-15
        HE Iftypes: managed
            HE MAC Capabilities (0x08011a000040):
                +HTC HE Supported
                Trigger Frame MAC Padding Duration: 2
                OM Control
                Maximum A-MPDU Length Exponent: 3
                A-MSDU in A-MPDU
            HE PHY Capabilities: (0x2270ce120dc0b306423f00):
                HE40/2.4GHz
                242 tone RUs/2.4GHz
                Device Class: 1
                LDPC Coding in Payload
                HE SU PPDU with 1x HE-LTF and 0.8us GI
                NDP with 4x HE-LTF and 3.2us GI
                STBC Tx <= 80MHz
                STBC Rx <= 80MHz
                Full Bandwidth UL MU-MIMO
                Partial Bandwidth UL MU-MIMO
                DCM Max Constellation: 2
                DCM Max Constellation Rx: 2
                SU Beamformee
                Beamformee STS <= 80Mhz: 3
                Ng = 16 SU Feedback
                Ng = 16 MU Feedback
                Codebook Size SU Feedback
                Codebook Size MU Feedback
                Triggered CQI Feedback
                Partial Bandwidth Extended Range
                PPE Threshold Present
                Power Boost Factor ar
                HE SU PPDU & HE PPDU 4x HE-LTF 0.8us GI
                20MHz in 40MHz HE PPDU 2.4GHz
                DCM Max BW: 1
                Longer Than 16HE SIG-B OFDM Symbols
                Non-Triggered CQI Feedback
                TX 1024-QAM
                RX 1024-QAM
                RX Full BW SU Using HE MU PPDU with Compression SIGB
                RX Full BW SU Using HE MU PPDU with Non-Compression SIGB
            HE RX MCS and NSS set <= 80 MHz
                1 streams: MCS 0-11
                2 streams: MCS 0-11
                3 streams: not supported
                4 streams: not supported
                5 streams: not supported
                6 streams: not supported
                7 streams: not supported
                8 streams: not supported
            HE TX MCS and NSS set <= 80 MHz
                1 streams: MCS 0-11
                2 streams: MCS 0-11
                3 streams: not supported
                4 streams: not supported
                5 streams: not supported
                6 streams: not supported
                7 streams: not supported
                8 streams: not supported
            PPE Threshold 0x39 0x1c 0xc7 0x71 0x1c 0x07 
        HE Iftypes: AP
            HE MAC Capabilities (0x00011a081044):
                +HTC HE Supported
                BSR
                OM Control
                Maximum A-MPDU Length Exponent: 3
                BQR
                A-MSDU in A-MPDU
                OM Control UL MU Data Disable RX
            HE PHY Capabilities: (0x0220ce120000a000000c00):
                HE40/2.4GHz
                LDPC Coding in Payload
                NDP with 4x HE-LTF and 3.2us GI
                STBC Tx <= 80MHz
                STBC Rx <= 80MHz
                Full Bandwidth UL MU-MIMO
                Partial Bandwidth UL MU-MIMO
                DCM Max Constellation: 2
                DCM Max Constellation Rx: 2
                Partial Bandwidth Extended Range
                PPE Threshold Present
                TX 1024-QAM
                RX 1024-QAM
            HE RX MCS and NSS set <= 80 MHz
                1 streams: MCS 0-11
                2 streams: MCS 0-11
                3 streams: not supported
                4 streams: not supported
                5 streams: not supported
                6 streams: not supported
                7 streams: not supported
                8 streams: not supported
            HE TX MCS and NSS set <= 80 MHz
                1 streams: MCS 0-11
                2 streams: MCS 0-11
                3 streams: not supported
                4 streams: not supported
                5 streams: not supported
                6 streams: not supported
                7 streams: not supported
                8 streams: not supported
            PPE Threshold 0x39 0x1c 0xc7 0x71 0x1c 0x07 
        Bitrates (non-HT):
            * 1.0 Mbps (short preamble supported)
            * 2.0 Mbps (short preamble supported)
            * 5.5 Mbps (short preamble supported)
            * 11.0 Mbps (short preamble supported)
            * 6.0 Mbps
            * 9.0 Mbps
            * 12.0 Mbps
            * 18.0 Mbps
            * 24.0 Mbps
            * 36.0 Mbps
            * 48.0 Mbps
            * 54.0 Mbps
        Frequencies:
            * 2412 MHz [1] (20.0 dBm)
            * 2417 MHz [2] (20.0 dBm)
            * 2422 MHz [3] (20.0 dBm)
            * 2427 MHz [4] (20.0 dBm)
            * 2432 MHz [5] (20.0 dBm)
            * 2437 MHz [6] (20.0 dBm)
            * 2442 MHz [7] (20.0 dBm)
            * 2447 MHz [8] (20.0 dBm)
            * 2452 MHz [9] (20.0 dBm)
            * 2457 MHz [10] (20.0 dBm)
            * 2462 MHz [11] (20.0 dBm)
            * 2467 MHz [12] (20.0 dBm)
            * 2472 MHz [13] (20.0 dBm)
            * 2484 MHz [14] (disabled)
    Band 2:
        Capabilities: 0x9ff
            RX LDPC
            HT20/HT40
            SM Power Save disabled
            RX Greenfield
            RX HT20 SGI
            RX HT40 SGI
            TX STBC
            RX STBC 1-stream
            Max AMSDU length: 7935 bytes
            No DSSS/CCK HT40
        Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
        Minimum RX AMPDU time spacing: No restriction (0x00)
        HT TX/RX MCS rate indexes supported: 0-15
        VHT Capabilities (0x339071b2):
            Max MPDU length: 11454
            Supported Channel Width: neither 160 nor 80+80
            RX LDPC
            short GI (80 MHz)
            TX STBC
            SU Beamformee
            MU Beamformee
            RX antenna pattern consistency
            TX antenna pattern consistency
        VHT RX MCS set:
            1 streams: MCS 0-9
            2 streams: MCS 0-9
            3 streams: not supported
            4 streams: not supported
            5 streams: not supported
            6 streams: not supported
            7 streams: not supported
            8 streams: not supported
        VHT RX highest supported: 0 Mbps
        VHT TX MCS set:
            1 streams: MCS 0-9
            2 streams: MCS 0-9
            3 streams: not supported
            4 streams: not supported
            5 streams: not supported
            6 streams: not supported
            7 streams: not supported
            8 streams: not supported
        VHT TX highest supported: 0 Mbps
        HE Iftypes: managed
            HE MAC Capabilities (0x08011a000040):
                +HTC HE Supported
                Trigger Frame MAC Padding Duration: 2
                OM Control
                Maximum A-MPDU Length Exponent: 3
                A-MSDU in A-MPDU
            HE PHY Capabilities: (0x4470ce120dc0b306423f00):
                HE40/HE80/5GHz
                242 tone RUs/5GHz
                Device Class: 1
                LDPC Coding in Payload
                HE SU PPDU with 1x HE-LTF and 0.8us GI
                NDP with 4x HE-LTF and 3.2us GI
                STBC Tx <= 80MHz
                STBC Rx <= 80MHz
                Full Bandwidth UL MU-MIMO
                Partial Bandwidth UL MU-MIMO
                DCM Max Constellation: 2
                DCM Max Constellation Rx: 2
                SU Beamformee
                Beamformee STS <= 80Mhz: 3
                Ng = 16 SU Feedback
                Ng = 16 MU Feedback
                Codebook Size SU Feedback
                Codebook Size MU Feedback
                Triggered CQI Feedback
                Partial Bandwidth Extended Range
                PPE Threshold Present
                Power Boost Factor ar
                HE SU PPDU & HE PPDU 4x HE-LTF 0.8us GI
                20MHz in 40MHz HE PPDU 2.4GHz
                DCM Max BW: 1
                Longer Than 16HE SIG-B OFDM Symbols
                Non-Triggered CQI Feedback
                TX 1024-QAM
                RX 1024-QAM
                RX Full BW SU Using HE MU PPDU with Compression SIGB
                RX Full BW SU Using HE MU PPDU with Non-Compression SIGB
            HE RX MCS and NSS set <= 80 MHz
                1 streams: MCS 0-11
                2 streams: MCS 0-11
                3 streams: not supported
                4 streams: not supported
                5 streams: not supported
                6 streams: not supported
                7 streams: not supported
                8 streams: not supported
            HE TX MCS and NSS set <= 80 MHz
                1 streams: MCS 0-11
                2 streams: MCS 0-11
                3 streams: not supported
                4 streams: not supported
                5 streams: not supported
                6 streams: not supported
                7 streams: not supported
                8 streams: not supported
            PPE Threshold 0x39 0x1c 0xc7 0x71 0x1c 0x07 
        HE Iftypes: AP
            HE MAC Capabilities (0x00011a081044):
                +HTC HE Supported
                BSR
                OM Control
                Maximum A-MPDU Length Exponent: 3
                BQR
                A-MSDU in A-MPDU
                OM Control UL MU Data Disable RX
            HE PHY Capabilities: (0x0420ce120000a000000c00):
                HE40/HE80/5GHz
                LDPC Coding in Payload
                NDP with 4x HE-LTF and 3.2us GI
                STBC Tx <= 80MHz
                STBC Rx <= 80MHz
                Full Bandwidth UL MU-MIMO
                Partial Bandwidth UL MU-MIMO
                DCM Max Constellation: 2
                DCM Max Constellation Rx: 2
                Partial Bandwidth Extended Range
                PPE Threshold Present
                TX 1024-QAM
                RX 1024-QAM
            HE RX MCS and NSS set <= 80 MHz
                1 streams: MCS 0-11
                2 streams: MCS 0-11
                3 streams: not supported
                4 streams: not supported
                5 streams: not supported
                6 streams: not supported
                7 streams: not supported
                8 streams: not supported
            HE TX MCS and NSS set <= 80 MHz
                1 streams: MCS 0-11
                2 streams: MCS 0-11
                3 streams: not supported
                4 streams: not supported
                5 streams: not supported
                6 streams: not supported
                7 streams: not supported
                8 streams: not supported
            PPE Threshold 0x39 0x1c 0xc7 0x71 0x1c 0x07 
        Bitrates (non-HT):
            * 6.0 Mbps
            * 9.0 Mbps
            * 12.0 Mbps
            * 18.0 Mbps
            * 24.0 Mbps
            * 36.0 Mbps
            * 48.0 Mbps
            * 54.0 Mbps
        Frequencies:
            * 5180 MHz [36] (23.0 dBm)
            * 5200 MHz [40] (23.0 dBm)
            * 5220 MHz [44] (23.0 dBm)
            * 5240 MHz [48] (23.0 dBm)
            * 5260 MHz [52] (20.0 dBm) (radar detection)
            * 5280 MHz [56] (20.0 dBm) (radar detection)
            * 5300 MHz [60] (20.0 dBm) (radar detection)
            * 5320 MHz [64] (20.0 dBm) (radar detection)
            * 5500 MHz [100] (26.0 dBm) (radar detection)
            * 5520 MHz [104] (26.0 dBm) (radar detection)
            * 5540 MHz [108] (26.0 dBm) (radar detection)
            * 5560 MHz [112] (26.0 dBm) (radar detection)
            * 5580 MHz [116] (26.0 dBm) (radar detection)
            * 5600 MHz [120] (26.0 dBm) (radar detection)
            * 5620 MHz [124] (26.0 dBm) (radar detection)
            * 5640 MHz [128] (26.0 dBm) (radar detection)
            * 5660 MHz [132] (26.0 dBm) (radar detection)
            * 5680 MHz [136] (26.0 dBm) (radar detection)
            * 5700 MHz [140] (26.0 dBm) (radar detection)
            * 5720 MHz [144] (13.0 dBm) (radar detection)
            * 5745 MHz [149] (13.0 dBm)
            * 5765 MHz [153] (13.0 dBm)
            * 5785 MHz [157] (13.0 dBm)
            * 5805 MHz [161] (13.0 dBm)
            * 5825 MHz [165] (13.0 dBm)
            * 5845 MHz [169] (13.0 dBm)
            * 5865 MHz [173] (13.0 dBm)
            * 5885 MHz [177] (disabled)
    Band 4:
        HE Iftypes: managed
            HE MAC Capabilities (0x08011a000040):
                +HTC HE Supported
                Trigger Frame MAC Padding Duration: 2
                OM Control
                Maximum A-MPDU Length Exponent: 3
                A-MSDU in A-MPDU
            HE PHY Capabilities: (0x4470ce120dc0b306423f00):
                HE40/HE80/5GHz
                242 tone RUs/5GHz
                Device Class: 1
                LDPC Coding in Payload
                HE SU PPDU with 1x HE-LTF and 0.8us GI
                NDP with 4x HE-LTF and 3.2us GI
                STBC Tx <= 80MHz
                STBC Rx <= 80MHz
                Full Bandwidth UL MU-MIMO
                Partial Bandwidth UL MU-MIMO
                DCM Max Constellation: 2
                DCM Max Constellation Rx: 2
                SU Beamformee
                Beamformee STS <= 80Mhz: 3
                Ng = 16 SU Feedback
                Ng = 16 MU Feedback
                Codebook Size SU Feedback
                Codebook Size MU Feedback
                Triggered CQI Feedback
                Partial Bandwidth Extended Range
                PPE Threshold Present
                Power Boost Factor ar
                HE SU PPDU & HE PPDU 4x HE-LTF 0.8us GI
                20MHz in 40MHz HE PPDU 2.4GHz
                DCM Max BW: 1
                Longer Than 16HE SIG-B OFDM Symbols
                Non-Triggered CQI Feedback
                TX 1024-QAM
                RX 1024-QAM
                RX Full BW SU Using HE MU PPDU with Compression SIGB
                RX Full BW SU Using HE MU PPDU with Non-Compression SIGB
            HE RX MCS and NSS set <= 80 MHz
                1 streams: MCS 0-11
                2 streams: MCS 0-11
                3 streams: not supported
                4 streams: not supported
                5 streams: not supported
                6 streams: not supported
                7 streams: not supported
                8 streams: not supported
            HE TX MCS and NSS set <= 80 MHz
                1 streams: MCS 0-11
                2 streams: MCS 0-11
                3 streams: not supported
                4 streams: not supported
                5 streams: not supported
                6 streams: not supported
                7 streams: not supported
                8 streams: not supported
            PPE Threshold 0x39 0x1c 0xc7 0x71 0x1c 0x07 
        HE Iftypes: AP
            HE MAC Capabilities (0x00011a081044):
                +HTC HE Supported
                BSR
                OM Control
                Maximum A-MPDU Length Exponent: 3
                BQR
                A-MSDU in A-MPDU
                OM Control UL MU Data Disable RX
            HE PHY Capabilities: (0x0420ce120000a000000c00):
                HE40/HE80/5GHz
                LDPC Coding in Payload
                NDP with 4x HE-LTF and 3.2us GI
                STBC Tx <= 80MHz
                STBC Rx <= 80MHz
                Full Bandwidth UL MU-MIMO
                Partial Bandwidth UL MU-MIMO
                DCM Max Constellation: 2
                DCM Max Constellation Rx: 2
                Partial Bandwidth Extended Range
                PPE Threshold Present
                TX 1024-QAM
                RX 1024-QAM
            HE RX MCS and NSS set <= 80 MHz
                1 streams: MCS 0-11
                2 streams: MCS 0-11
                3 streams: not supported
                4 streams: not supported
                5 streams: not supported
                6 streams: not supported
                7 streams: not supported
                8 streams: not supported
            HE TX MCS and NSS set <= 80 MHz
                1 streams: MCS 0-11
                2 streams: MCS 0-11
                3 streams: not supported
                4 streams: not supported
                5 streams: not supported
                6 streams: not supported
                7 streams: not supported
                8 streams: not supported
            PPE Threshold 0x39 0x1c 0xc7 0x71 0x1c 0x07 
        Bitrates (non-HT):
            * 6.0 Mbps
            * 9.0 Mbps
            * 12.0 Mbps
            * 18.0 Mbps
            * 24.0 Mbps
            * 36.0 Mbps
            * 48.0 Mbps
            * 54.0 Mbps
        Frequencies:
            * 5955 MHz [1] (23.0 dBm)
            * 5975 MHz [5] (23.0 dBm)
            * 5995 MHz [9] (23.0 dBm)
            * 6015 MHz [13] (23.0 dBm)
            * 6035 MHz [17] (23.0 dBm)
            * 6055 MHz [21] (23.0 dBm)
            * 6075 MHz [25] (23.0 dBm)
            * 6095 MHz [29] (23.0 dBm)
            * 6115 MHz [33] (23.0 dBm)
            * 6135 MHz [37] (23.0 dBm)
            * 6155 MHz [41] (23.0 dBm)
            * 6175 MHz [45] (23.0 dBm)
            * 6195 MHz [49] (23.0 dBm)
            * 6215 MHz [53] (23.0 dBm)
            * 6235 MHz [57] (23.0 dBm)
            * 6255 MHz [61] (23.0 dBm)
            * 6275 MHz [65] (23.0 dBm)
            * 6295 MHz [69] (23.0 dBm)
            * 6315 MHz [73] (23.0 dBm)
            * 6335 MHz [77] (23.0 dBm)
            * 6355 MHz [81] (23.0 dBm)
            * 6375 MHz [85] (23.0 dBm)
            * 6395 MHz [89] (23.0 dBm)
            * 6415 MHz [93] (23.0 dBm)
            * 6435 MHz [97] (disabled)
            * 6455 MHz [101] (disabled)
            * 6475 MHz [105] (disabled)
            * 6495 MHz [109] (disabled)
            * 6515 MHz [113] (disabled)
            * 6535 MHz [117] (disabled)
            * 6555 MHz [121] (disabled)
            * 6575 MHz [125] (disabled)
            * 6595 MHz [129] (disabled)
            * 6615 MHz [133] (disabled)
            * 6635 MHz [137] (disabled)
            * 6655 MHz [141] (disabled)
            * 6675 MHz [145] (disabled)
            * 6695 MHz [149] (disabled)
            * 6715 MHz [153] (disabled)
            * 6735 MHz [157] (disabled)
            * 6755 MHz [161] (disabled)
            * 6775 MHz [165] (disabled)
            * 6795 MHz [169] (disabled)
            * 6815 MHz [173] (disabled)
            * 6835 MHz [177] (disabled)
            * 6855 MHz [181] (disabled)
            * 6875 MHz [185] (disabled)
            * 6895 MHz [189] (disabled)
            * 6915 MHz [193] (disabled)
            * 6935 MHz [197] (disabled)
            * 6955 MHz [201] (disabled)
            * 6975 MHz [205] (disabled)
            * 6995 MHz [209] (disabled)
            * 7015 MHz [213] (disabled)
            * 7035 MHz [217] (disabled)
            * 7055 MHz [221] (disabled)
            * 7075 MHz [225] (disabled)
            * 7095 MHz [229] (disabled)
            * 7115 MHz [233] (disabled)
    Supported commands:
         * new_interface
         * set_interface
         * new_key
         * start_ap
         * new_station
         * new_mpath
         * set_mesh_config
         * set_bss
         * authenticate
         * associate
         * deauthenticate
         * disassociate
         * join_ibss
         * join_mesh
         * remain_on_channel
         * set_tx_bitrate_mask
         * frame
         * frame_wait_cancel
         * set_wiphy_netns
         * set_channel
         * tdls_mgmt
         * tdls_oper
         * start_sched_scan
         * probe_client
         * set_noack_map
         * register_beacons
         * start_p2p_device
         * set_mcast_rate
         * connect
         * disconnect
         * channel_switch
         * set_qos_map
         * set_multicast_to_unicast
         * set_sar_specs
    WoWLAN support:
         * wake up on disconnect
         * wake up on magic packet
         * wake up on pattern match, up to 1 patterns of 1-128 bytes,
           maximum packet offset 0 bytes
         * can do GTK rekeying
         * wake up on network detection, up to 10 match sets
    software interface modes (can always be added):
         * AP/VLAN
         * monitor
    valid interface combinations:
         * #{ managed, P2P-client } <= 2, #{ AP, P2P-GO } <= 1,
           total <= 2, #channels <= 2
    HT Capability overrides:
         * MCS: ff ff ff ff ff ff ff ff ff ff
         * maximum A-MSDU length
         * supported channel width
         * short GI for 40 MHz
         * max A-MPDU length exponent
         * min MPDU start spacing
    Device supports TX status socket option.
    Device supports HT-IBSS.
    Device supports SAE with AUTHENTICATE command
    Device supports scan flush.
    Device supports per-vif TX power setting
    Driver supports full state transitions for AP/GO clients
    Driver supports a userspace MPM
    Device supports active monitor (which will ACK incoming frames)
    Driver/device bandwidth changes during BSS lifetime (AP/GO mode)
    Device supports configuring vdev MAC-addr on create.
    Device supports randomizing MAC-addr in scans.
    Device supports randomizing MAC-addr in sched scans.
    max # scan plans: 1
    max scan plan interval: 65535
    max scan plan iterations: 0
    Supported TX frame types:
         * IBSS: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
         * managed: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
         * AP: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
         * AP/VLAN: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
         * mesh point: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
         * P2P-client: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
         * P2P-GO: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
         * P2P-device: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
    Supported RX frame types:
         * IBSS: 0x40 0xb0 0xc0 0xd0
         * managed: 0x40 0xb0 0xd0
         * AP: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
         * AP/VLAN: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
         * mesh point: 0xb0 0xc0 0xd0
         * P2P-client: 0x40 0xd0
         * P2P-GO: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
         * P2P-device: 0x40 0xd0
    Supported extended features:
        * [ RRM ]: RRM
        * [ SET_SCAN_DWELL ]: scan dwell setting
        * [ BEACON_RATE_LEGACY ]: legacy beacon rate setting
        * [ BEACON_RATE_HT ]: HT beacon rate setting
        * [ BEACON_RATE_VHT ]: VHT beacon rate setting
        * [ FILS_STA ]: STA FILS (Fast Initial Link Setup)
        * [ CQM_RSSI_LIST ]: multiple CQM_RSSI_THOLD records
        * [ CONTROL_PORT_OVER_NL80211 ]: control port over nl80211
        * [ ACK_SIGNAL_SUPPORT ]: ack signal level support
        * [ TXQS ]: FQ-CoDel-enabled intermediate TXQs
        * [ AIRTIME_FAIRNESS ]: airtime fairness scheduling
        * [ AQL ]: Airtime Queue Limits (AQL)
        * [ CAN_REPLACE_PTK0 ]: can safely replace PTK 0 when rekeying
        * [ CONTROL_PORT_NO_PREAUTH ]: disable pre-auth over nl80211 control port support
        * [ SCAN_FREQ_KHZ ]: scan on kHz frequency support
        * [ CONTROL_PORT_OVER_NL80211_TX_STATUS ]: tx status for nl80211 control port support
morrownr commented 4 months ago

@Badger101

it would just be nice to able to utilise the DFS channels in AP mode...

I agree. I think AP mode DFS support requires an additional FCC certification so Mediatek management would need to supporting this. You could try contacting Mediatek via their main web site to make the request:

https://www.mediatek.com/

At the bottom of the page is a Contact Us link. It is important to be specific such as:

I am requesting that you support DFS channels on AP mode for your USB WiFi chipsets such as the mt7610u, mt7612u, mt7921u and mt7925/27u chipsets.

Maybe I should post a dedicated issue with this suggestion for people to see. It does no good for us to ask the driver developers as they cannot add the support if the company management does not approve of it.

Badger101 commented 4 months ago

You could try contacting Mediatek via their main web site to make the request

Done!

Maybe I should post a dedicated issue with this suggestion for people to see.

Sounds like a good idea, if a chipset supports AP mode (which it does) I think it should also support the DFS channels in that mode.

It does no good for us to ask the driver developers as they cannot add the support if the company management does not approve of it.

Agreed ☺️