Как получить текущий канал карты WiFi от оболочки?

Я хочу 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.

0
задан 1 December 2016 в 08:12

0 ответов

Другие вопросы по тегам:

Похожие вопросы: