HT40 not working at 2.4GHz

Hi,

I am trying to get HT40 @2.4GHz to work on an ar71xx platform and no matter what I try it always seems to limit to HT20. The exact same configs on an older build (early 2017) works perfectly but any later version, right up to current trunk does not work. FYI this is being used in the middle of nowhere with no other wifi signals detected (no other networks in range).

/etc/config/wireless

config wifi-device radio0
         option type     mac80211
         option channel  2
         option hwmode   11g
         option path     'platform/ar933x_wmac'
         option noscan   '1'
         option ht_coex  '1'
         option htmode   HT40
         option country  NZ

config wifi-iface
         option device   radio0
         option network  mesh
         option mode     adhoc
         option ifname   adhoc0
         option ssid     'OpenWRTMesh'
         option encryption psk2
         option key      'OpenWRTMesh'
         option bssid    '10:11:12:13:14:15'
         option mcast_rate '9000'
         option disabled '0'

iw adhoc0 info (from 2017 build)

Interface adhoc0
        ifindex 7
        wdev 0x2
        addr xx:xx:xx:xx:xx:xx
        ssid OpenWRTMesh
        type IBSS
        wiphy 0
        channel 2 (2417 MHz), width: 40 MHz, center1: 2427 MHz
        txpower 24.00 dBm

iw adhoc0 info (from any recent version)

Interface adhoc0
        ifindex 23
        wdev 0xb
        addr xx:xx:xx:xx:xx:xx
        ssid OpenWRTMesh
        type IBSS
        wiphy 0
        channel 2 (2417 MHz), width: 20 MHz, center1: 2417 MHz
        txpower 24.00 dBm

Does anyone know what I need to change for newer builds? Or if there has been a bug or restriction built in to recent versions?

Also worth mentioning that I have confirmed that the 40MHz network is working in the 2017 build correctly and throughput tests also back it up. The same/opposite can be said for the recent builds, confirmed that it is only 20MHz and throughput is in line.

It seems dropped noscan option. I think you can't force 40 MHz now.

Ref: https://openwrt.org/docs/guide-user/network/wifi/basic

Do you know when this change was made? Or whether it can be undone for situations where no risk of contaminating the 2.4G spectrum?

I've never got the device to show 40 Mhz unless I was actually passing traffic at the time.

  • Are you testing while idle or when there's traffic?
  • Are you in an neighborhood with a congested 2.4 GHz band?
  • Did you enable the "Force 40MHz mode" option to see if the 40 MHz beacon is being sent on air?

noscan is illegal in newer WiFi chips (it's called jamming and interference). If you don't see the option, it's likely a new WiFi chip.

Might also be that mac80211 refuses HT40 in IBSS mode. Could be that one of the updates made the regdomain enforcement more strict, preventing the use of HT40.

What does iw list (note the space) report?

2 Likes
  • Are you testing while idle or when there's traffic?
    = Both, always 20MHz
  • Are you in an neighborhood with a congested 2.4 GHz band?
    = No, absolutely no other wifi networks (very remote)
  • Did you enable the "Force 40MHz mode" option to see if the 40 MHz beacon is being sent on air?
    = Where is this option?

Thanks

Same problem when interface is an AP or a STA (to a 40MHz AP from 2017 build). Connects, but only at HT20. Whereas exact same config on 2017 build connects at 40MHz and data throughput speed confirms

Recent builds switched to the -CT firmware for ath10k. If that is involved, you might try the non-CT driver and firmware.

Purely ath9k, thanks though

I had a similar problem with enabling HT40 on ar71 in IBSS WPA2 mode.

I solved it by switching to Kernel 4.19.66 with latest snapshots using ath79 target by setting up an 802.11s mesh interface @HT20, then adding a vif AP @HT20. That comes up normally. If i then set the AP to HT40, the mesh interface will follow suit, and also come up with HT40. This sometimes even works automtically after reboot.

But performance is unfortunately limited to 6-9MiB/s on 11s on ath79 currently.

Have you tried setting an interface combination including an AP@HT40?

Just confirming that I have the same problem on 4.19.66 with ath79 - no 40MHz. I don't think it's the kernel, I tried 4.19.67 to 68. What is the best way to diagnose this?