Настройка 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