Включение и выключение WiFi кнопкой на роутере с OpenWrt

Операция проводилась на роутере TP-Link TL-WR1043ND с прошивкой OpenWrt Backfire 10.03.1 (r29592) по инструкции с официального сайта.
Подключаемся к роутеру по ssh и создаем директорию
# mkdir -p /etc/hotplug.d/button
переходим в эту директорию
# cd /etc/hotplug.d/button
создаем в ней файл
# touch 00-button
и вписываем туда
# vi 00-button
следующие строки

. /etc/functions.sh
do_button () {
local button
	local action
	local handler
	local min
	local max

	config_get button $1 button
	config_get action $1 action
	config_get handler $1 handler
	config_get min $1 min
	config_get max $1 max
	
	[ "$ACTION" = "$action" -a "$BUTTON" = "$button" -a -n "$handler" ] && {
		[ -z "$min" -o -z "$max" ] && eval $handler 
		[ -n "$min" -a -n "$max" ] && {
			[ $min -le $SEEN -a $max -ge $SEEN ] && eval $handler 
		}
	}
}

config_load system
config_foreach do_button button

в файл
# vi /etc/config/system
дописываем следующие строки

config button
	option 'button'		'BTN_1'
	option 'action'		'pressed'
	option 'handler'	'/usr/bin/wifionoff'

переходим в директорию
# cd /usr/bin
создаем файл
# touch wifionoff
меняем права доступа
# chmod 777 wifionoff
вписываем туда
# vi wifionoff
следующие строки
#!/bin/sh
SW=$(uci -q get wireless.@wifi-device[0].disabled)
[ "$SW" == "1" ] && uci set wireless.@wifi-device[0].disabled=0
[ "$SW" == "1" ] || uci set wireless.@wifi-device[0].disabled=1
wifi

перезагружаем роутер
# reboot

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *