16

I bought a Intel 7260-ac wifi adapter (support 802.11ac) and want to setup it in AP mode (hotspot) in 802.11ac but it failed.

Then I noticed that iw list shows all 5GHz channels as (no IR) as below:

Frequencies:
* 5180 MHz [36] (16.0 dBm) (no IR)
* 5200 MHz [40] (16.0 dBm) (no IR)
* 5220 MHz [44] (16.0 dBm) (no IR)
* 5240 MHz [48] (16.0 dBm) (no IR)
* 5260 MHz [52] (16.0 dBm) (no IR, radar detection)
DFS state: usable (for 1284 sec)
* 5280 MHz [56] (16.0 dBm) (no IR, radar detection)
DFS state: usable (for 1284 sec)
* 5300 MHz [60] (16.0 dBm) (no IR, radar detection)
DFS state: usable (for 1284 sec)
...

I googled about it and found this: http://www.spinics.net/lists/linux-wireless/msg124066.html saying that "The NO-IR flag then means you cannot use modes of operation that require you to initiate radiation first"

Also, I found that it's related to "world regulatory domain" which restrict some usage in some wireless frequencies, and it's different in some country.

So here's my question: is the no IR restriction set by linux kernel or by hardware? If it's by linux kernel, can I just set it to another country which allows it? (Or a custom configuration if no country allows it?) How?

PS: I'm not sure if it's the right place to ask this question but I don't see where else I can go.. Thanks in advance!

4 Answers 4

12

As you correctly noticed, this has to do with the regulatory domain. It is both, set by the hardware (pre-programmed for use in ...) and by the userland (iw / CRDA [Central Regulatory Domain Agent, a udev helper]). The thing is, you can only lessen the spectrum of available channels.

Lookup current RD: iw reg get
set RD: iw reg set <CC> with being the ISO_3166-1_alpha-2 2-character code for the country you want to set.

Explication

Linux allows changing regulatory domains in compliance with regulatory restrictions world wide [...]. In order to achieve this devices always respect their programmed regulatory domain and a country code selection will only enhance regulatory restrictions. [...].

Example

If your device was programmed for operation in the US (which allows operation on channels 1-11 on the 2.4 GHz band) and you visit Japan (which allows operation on channels 1-14) and you change your regulatory domain to JP you will not be able to use channel 12, 13 or 14 (CCK). But if you have a device programmed for operation in Japan and visit the US and you select US as your regulatory domain you will have channel 12-14 disabled.

http://wireless.kernel.org/en/developers/Regulatory/CRDA#Using_iw_to_change_regulatory_domains

1

To bypass regulatory restrictions enforced by your hardware, and according you have good reasons to do that, you can patch your driver. I recently wrote a post about that regarding Atheros chipsets.

3
  • 1
    Any relevant information from that site should be included in the answer, as opposed to linking to it.
    – Jarmund
    Jun 1, 2016 at 8:55
  • 1
    The whole procedure won't properly fit here. Jun 1, 2016 at 12:45
  • @Jarmund so when the original info is fixed or updated, it would have to be edited at two locations instead of one, right? Jan 27, 2019 at 7:53
1

The regulatory domains are set by the kernel, you can use the wireless-regdb and crda packages to edit the regulatory.bin & regulatory.db files and create the approriate .pem files

Before compiling wireless-regdb, you can edit the db.txt file and remove/edit the settings for every regulatory domain. This will allow you to do fun stuff like removing the no IR parameter and changing the max TX power of your desired country (or create a new country with custom settings). This is very useful if you need inject packets on a channel that normally doesn't let you be the first to initiate radiation.

Kali Screenshot: No IR removed & TX set to 33dBm

Tutorial for Kali/Debian: https://miloserdov.org/?p=337

BEWARE: This is most likely illegal to do in your country and should only be done for research, development and/or educational purposes. Follow your local laws please.

I would also suggest that you get your amateur radio license before attempting this, it will give a better understanding of the laws and potential risks of changing these settings.

0

You can disable DFS, if you are using hostapd, edit your hostapd.conf and set:

ieee80211h=0

restart the server and it will work.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .