On Tue, 2019-02-12 at 12:33 +0530, Krishna Chaitanya wrote: > On Tue, Feb 12, 2019 at 3:41 AM James Prestwood > <james.prestwood@xxxxxxxxxxxxxxx> wrote: > > > > On Fri, 2019-02-08 at 12:08 -0800, James Prestwood wrote: > > > Hi, > > > > > > I am trying to create a VHT capable radio with mac80211_hwsim, to > > > be > > > used with hostapd. I have tried a few configs in > > > tests/hwsim/test_ap_vht.py but all that I have tried result in > > > hostapd > > > complaining about the channel e.g. > > > > > > Channel 36 (primary) not allowed for AP mode, flags: 0x853 NO-IR > > > wln2: IEEE 802.11 Configured channel (36) not found from the > > > channel > > > list of current mode (2) IEEE 802.11a > > > wln2: IEEE 802.11 Hardware does not support configured channel > > > > > > I have tried a few channels, none of which work. This makes me > > > think > > > it > > > has to do with how I am creating the radio with mac80211_hwsim. > > > I'm > > > just creating an essentially 'default' radio (no special > > > attributes). > > > I've looked through the hwsim driver code and it appears that all > > > radios created set some VHT capability bits (the for loop > > > iterating > > > over NUM_NL80211_BANDS) so any hwsim radio should support VHT > > > (right?). > > > None of the HWSIM_ATTR's seem to point anything related to VHT > > > either. > > > > > > Here is (one of) the config I've tried: > > > > > > ssid=testSSID > > > country_code=DE > > > hw_mode=a > > > channel=36 > > > ieee80211n=1 > > > ieee80211ac=1 > > > vht_oper_chwidth=0 > > > vht_oper_centr_freq_seg0_idx=0 > > > supported_rates=60 120 240 360 480 540 > > > require_vht=1 > > > > > > Thanks, > > > James > > > > I still have not resolved this, though I have a bit more info that > > hopefully someone can make use of. (Thanks to Johannes) I believe > > this > > issue has to do with the regulatory domain. In my VM, if I run "iw > > reg > > get" I see that my country is set to '00'. This country code seems > > to > > restrict the VHT channels. I tried changing this with "iw reg set > > US", > > but this does not actually result in the country changing (also a > > common-ish problem I have found online). I have noticed a few > > things > > after looking closer at the logs: > > > > Kernel Boot: > > [ 0.393391] cfg80211: Loading compiled-in X.509 certificates for > > regulatory database > > [ 0.394742] cfg80211: Loaded X.509 cert 'sforshee: > > 00b28ddf47aef9cea7' > > [ 0.395648] platform regulatory.0: Direct firmware load for > > regulatory.db failed with error -2 > > [ 0.396819] cfg80211: failed to load regulatory.db > > > > Without this database we cannot configure reg domains. Can you try > copyng regulatory.db from > https://mirrors.edge.kernel.org/pub/software/network/wireless-regdb/ > in to /lib/firmware/? > > Then you should see the above failure should be resolved. Ok, so one of the issue was that my kernel has only builtin modules, and the filesystem with /lib/firmware was not mounted until after kernel boot. I built in both regulatory.db and regulatory.db.p7s into the kernel and now I see it actually tried to load them. Unfortunately its getting missing/invalid signature: [0.377072] cfg80211: Loading compiled-in X.509 certificates for regulatory database [ 0.378458] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7' [ 0.379777] PKCS#7 signature not signed with a trusted key [ 0.380524] cfg80211: loaded regulatory.db is malformed or signature is missing/invalid This is a test machine, so I really don't care about ensuring my regulatory.db is signed. I tried disabling this with CONFIG_CFG80211_REQUIRE_SIGNED_REGDB=n but when I rebuild this option gets overwritten and it changes back to being enabled. There must be a conflicting option. Optimally it would be nice to just disable this verification completely, but if that's not possible I assume I need to add the key that signed the regulatory.db into the kernel? If so can that also be built into the kernel? Thanks, James > > > > I also see hostapd trying to change the country code (since I set > > it in > > the config): > > Previous country code 00, new country code US > > Continue interface setup after channel list update > > > > But soon after: > > Channel list update timeout - try to continue anyway > > > > So it appears to be either cfg80211 or mac80211_hwsim that is > > restricting the channels hostapd is allowed to use. I see in > > mac80211_hwsim there is an attribute HWSIM_ATTR_REG_HINT_ALPHA2. > > I have tried using that, setting to "US", but this does not result > > in > > the VM's country code changing (either from boot or after iw reg > > set > > US). > > > > I have tried also running the hostapd hwsim tests directly > > following: > > https://w1.fi/cgit/hostap/plain/tests/hwsim/vm/example-vm-setup.txt > > > > But after ./vm-run.sh all I get is wpa_supplicant usage prints (as > > if > > it was being started with invalid arguments or something) and: > > Failed to connect to wpa_supplicant global interface: /tmp/wpas- > > wlan0 error: No such file or directory > > > > Should it be this hard to use VHT in hostapd? > > > > Thanks, > > James > > > > > > > > > > _______________________________________________ > > Hostap mailing list > > Hostap@xxxxxxxxxxxxxxxxxxx > > http://lists.infradead.org/mailman/listinfo/hostap > > > _______________________________________________ Hostap mailing list Hostap@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/hostap