Re: VHT mac80211_hwsim + hostapd

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux