Я хочу promatically установить канал карты WiFI со сценарием оболочки. В настоящее время у меня есть следующий сценарий:
/etc/network/interfaces
# tell wlan0 will be controlled manually
iface wlan0 inet manual
setup.sh
iw dev wlan0 interface add mon0 type monitor
# wait until mon0 is successfully created
ip link show mon0 2>/dev/null 1>/dev/null
while [ $? -ne 0 ]
do
ip link show mon0 2>/dev/null 1>/dev/null
done
ifconfig mon0 up
# wait until mon0 is activated
ifconfig mon0 2>/dev/null 1>/dev/null
while [ $? -ne 0 ]
do
ifconfig mon0 2>/dev/null 1>/dev/null
done
iw mon0 set channel 1 HT20
И затем, я могу установить канал карты WiFI путем ввода [sudo] ./setup.sh
Однако интересно, существует ли способ ожидать, пока карта WiFi на самом деле не устанавливает свой канал на 1 последней командой iw mon0 set channel ...
.
т.е. в псевдокоде
iw mon0 set channel 1 HT20
channel = get_wifi_current_channel
while [ "$channel"-ne 1 ]
do
;
done
и я ищу надлежащий get_wifi_current_channel
Одна вещь, которую я нашел, iwconfig mon0
:
$ iwconfig mon0
mon0 IEEE 802.11bgn Mode:Monitor Frequency:2.412 GHz Tx-Power=15 dBm
...
Если нет ничего для get_wifi_current_channel
, Я могу сделать сценарий или программу, управляющую выводом iwconfig mon0
.