Настройка wifi клиента в openWrt

Для работы с wifi в openWrt существует скрипт /sbin/wifi. Файл /etc/config/wireless отвечает за конфигурацию wifi.

Создать конфигурационный файл по умолчанию можно, выполнив:

wifi detect > /etc/config/wireless

Он примерно будет иметь следующий вид:

config wifi-device  radio0 
	option type     mac80211 
	option channel  11 
	option hwmode	11g 
	option path	'pci0000:00/0000:00:1c.2/0000:05:00.0' 

	# REMOVE THIS LINE TO ENABLE WIFI: 
	option disabled 1 

config wifi-iface 
	option device   radio0 
	option network  lan 
	option mode     ap 
	option ssid     OpenWrt 
	option encryption none

Изменяем его под свою конфигурацию.
Файл /etc/config/wireless для открытой сети:

config wifi-device  radio0 
	option type     mac80211 
	option channel  'auto' 
	option hwmode	11g 
	option path	'pci0000:00/0000:00:1c.2/0000:05:00.0' 
	option disabled 0 

config wifi-iface 
	option device   radio0 
	option network  wwan 
	option mode     sta 
	option ssid     testwifi
	option encryption none

Файл /etc/config/wireless для шифрованой сети:

config wifi-device 'radio0' 
        option type 'mac80211' 
        option channel '6' 
        option hwmode '11ng' 
        option path 'pci0000:00/0000:00:1c.2/0000:05:00.0' 
        option disabled '0' 

config wifi-iface
        option device 'radio0' 
        option network 'wwan' 
        option mode 'sta' 
        option ssid 'testwifi' 
        option encryption 'psk2' 
        option key '1234567890'

sta — режим клиента; ap — режим точки доступа

Для автоматического получения адреса по dhcp в файле /etc/config/network необходимо создать интерфейс:

config interface wwan 
	option proto 'dhcp'

Выполнить для применения новых настроек:

/etc/init.d/network restart

На этапе конфигурации openWrt нужно отметить wpa-supplicant, иначе wifi не будет подниматься скриптом openWrt /sbin/wifi:

Network:
	<*> wpa-supplicant

Выполнение «wifi down» приводит к отключению wifi и пропаданию интерфейса wlan0.

Выполнение «wifi up» поднимает интерфейс wlan0, и происходит подключение к сети.

При успешном выполнении операции на экране будет примерно следующий лог:

wifi up 
Successfully initialized wpa_supplicant
[   10.975345] iwl3945 0000:05:00.0: loaded firmware version 15.32.2.9 
[   14.670591] wlan0: authenticate with bc:ae:c5:c3:ab:d5 
[   14.673644] wlan0: send auth to bc:ae:c5:c3:ab:d5 (try 1/3) 
[   14.675760] wlan0: authenticated 
[   14.676031] iwl3945 0000:05:00.0: wlan0: disabling HT as WMM/QoS is not supported by the AP 
[   14.676335] iwl3945 0000:05:00.0: wlan0: disabling VHT as WMM/QoS is not supported by the AP 
[   14.680246] wlan0: associate with bc:ae:c5:c3:ab:d5 (try 1/3) 
[   14.682727] wlan0: RX AssocResp from bc:ae:c5:c3:ab:d5 (capab=0x401 status=0 aid=1) 
[   14.684368] wlan0: associated 

Возможно появление ошибки (при отсутствии wpa-supplicant) :

wifi up 
command failed: Device or resource busy (-16) 

Подключиться в ручном режиме к сети можно с помощью команды:

iw dev wlan0 connect -w testwifi