Can not use some wifi channels

I'm trying to use the channel 144 for wifi. I get the following error in the log file when I try to use it:

Sat Feb 25 21:50:38 2017 daemon.notice hostapd: Channel 144 (secondary) not allowed for AP mode
Sat Feb 25 21:50:38 2017 daemon.warn hostapd: wlan0: IEEE 802.11 Configured channel (140) not found from the channel list of current mode (2) IEEE 802.11a
Sat Feb 25 21:50:38 2017 daemon.warn hostapd: wlan0: IEEE 802.11 Hardware does not support configured channel
Sat Feb 25 21:50:38 2017 daemon.err hostapd: Could not select hw_mode and channel. (-3)

iw list phy0 shows the following information for channel 140:

* 5700 MHz [140] 
	  Maximum TX power: 27.0 dBm
	  Radar detection
	  Channel widths: 20MHz HT40- VHT80 VHT160
	  DFS state: usable (for 223 sec)
	  DFS CAC time: 60000 ms

I've set country to GB for the wireless device in /etc/config/wireless. All other channels which show as available in iw phy0 channels seem to work.

Any help is appreciated.

Check "iw list" for the allowed channels, sometimes hardware (and its firmware) do indeed prohibit to use some frequencies.

and iw list won't show you hardware/eeprom limited channels.

iw list shows this for channel 140: * 5700 MHz [140] (27.0 dBm) (radar detection). This is the same as for the channels which work.

Is there a way to get a list of these channels?

It seems in the UK (and EU generally) you can't use channels 142 and 144. You might be getting the error (this is only speculation) if you're trying to use HT40+, HT80, or HT160 on channel 140.

You may try HT40- on channel 140.

This Wikipedia article is pretty extensive. Check it out.

I would've thought that those channels would just not show up on iw phy0 channels if they weren't valid for my country. In Channel widths, VHT80 (the htmode) that I am using is there.

The wireless card has a global design, so the low-level iw tool shows all its capabilities.

It's up to the software, in this case hostapd, to manage the capabilities in line with rules.

This is good news if you're ever travelling, or move :wink:

The iw command seems to adjust output depending on which country I am set to. I'm just wondering why it doesn't indicate that 140 isn't available (like it does with other un-available channels) if it can't be used. Would there be a way to get a definitive list of available channels?