Search Linux Wireless

cfg80211 'iw reg set' no longer works after trying to set invalid

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

 



cfg80211 'iw reg set' no longer works after trying to set invalid country
code

You can change the wireless region by using 'iw set reg'. Normally you can
switch back and forth just fine...

# iw reg set US
# iw reg get | grep country
country US:
# iw reg set JP
# iw reg get | grep country
country JP:
# iw reg set US
# iw reg get | grep country
country US:


However, if we try to use an invalid country code, such as XX:
# iw reg set XX
# iw reg get | grep country
country US:
... it doesn't take. Okay, no big deal. Let's try setting it back to JP:
# iw reg set JP
# iw reg get | grep country
country US:

We're now stuck at the country code we were at before we put the invalid one
in.

In dmesg, this exchange looks like:
# dmesg | grep cfg80211
cfg80211: Calling CRDA to update world regulatory domain
cfg80211: World regulatory domain updated:
cfg80211: Calling CRDA for country: US
cfg80211: Regulatory domain changed to country: US
cfg80211: Calling CRDA for country: JP
cfg80211: Regulatory domain changed to country: JP
cfg80211: Calling CRDA for country: US
cfg80211: Regulatory domain changed to country: US
cfg80211: Calling CRDA for country: XX
... and we're stuck there.

What looks to be happening is that the kernel uses udev to call /sbin/crda
with a new COUNTRY= setting, but /sbin/crda bails out with -1 because of 'No
country match in regulatory database', and never sends a netlink message
back to the kernel to give it the regulatory information for that country.
The kernel then seems to be stuck waiting for a message that will never
come.

The only way I can figure to unstick it is to reboot.
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


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