[personal profile] alexp
Для прошивки OpenWRT для роутеров существует множество различных пакетов. Больше всего мне нравятся блокировщик рекламы adblock и отключение wi-fi по расписанию Wi-Fi Schedule. К счастью, эти пакеты также предлагают luci пакеты для того, чтобы можно было изменять настройки из панели управления роутера.

Ещё один полезный для меня пакет - wifitoggle, который позволяет включать/выключать Wi-Fi на роутеру по нажатию кнопки на нём. При этом данная кнопка настраивается. Поскольку большинство роутеров идёт с кнопкой WPS, пользоваться которой всё равно не приходится (из-за небезопасности WPS), то проще всего использовать именно эту кнопку.

Установить wifitoggle можно и из панели управления роутера (зайдите на https://openwrt.lan и выберите в меню System -> Software). Также пакет можно установить и в командой строке, тем более что настраивать его придётся там же.
  1. Для начала подключитесь к https://openwrt.lan с логином root и вашем паролем, используя SSH клиент (например, Putty)

  2. Для установки пакета введите команду
    opkg update && opkg install wifitoggle

  3. Посмотреть настройки можно при помощ команды uci show wifitoggle
    uci show wifitoggle

  4. Например, мои настройки выглядят так:
    wifitoggle.@wifitoggle[0]=wifitoggle
    wifitoggle.@wifitoggle[0].button='wps'
    wifitoggle.@wifitoggle[0].persistent='0'
    wifitoggle.@wifitoggle[0].timer='7200'
    wifitoggle.@wifitoggle[0].led_enable_trigger='timer'
    wifitoggle.@wifitoggle[0].led_enable_delayon='500'
    wifitoggle.@wifitoggle[0].led_enable_delayoff='500'
    wifitoggle.@wifitoggle[0].led_disable_default='0'


  5. По умолчанию timer имеет значение 600, что означает, что Wi-Fi автоматически отключится через 600 секунд (10 минут) после нажатия на кнопку WPS. Я изменил значение на 7200 секунд (2 часа) при помощи команды
    uci set wifitoggle.@wifitoggle[0].timer=7200


  6. Также настроил автоматическое выключение Wi-Fi при помощи следующих команд
    uci set wireless.@wifi-device[0].disabled=1
    uci set wifitoggle.@wifitoggle[0].persistent=0


  7. Можно показывать статус работы Wi-Fi при помощи светодиода. Для вывода списка светодиодов можно использовать команду
    ls /sys/class/leds/

    У роутера Linksys EA3500 в списке появляется всего один диод. А вот WNR3500L их гораздо больше. В том числе есть диод для Wi-Fi и для WPS. Я использовал светодиод для WPS, а не Wi-Fi

    uci set wifitoggle.@wifitoggle[0].led_sysfs="название_диода"

    По умолчанию Wi-Fi светодиод на WNR3500L при использовании wifitoggle работал довольно странно. Он переставал постоянно гореть при включенном Wi-Fi, но зато мерцал при передаче данных на подключенное устройство по Wi-Fi.

    С WPS диодом происходила другая странность. Он горел при выключенном Wi-Fi, независимо от значение wifitoggle.@wifitoggle[0].led_disable_default равного 1 или 0 и не горел при включённом. Перезагрузка роутера не помогала. Помогите разобраться.


  8. Не всегда кнопка на роутере называется WPS. Чтобы показать названия кнопок, выполните в командой строке:
    mkdir -p /etc/hotplug.d/button

    cat << "EOF" > /etc/hotplug.d/button/buttons
    logger "the button was ${BUTTON} and the action was ${ACTION}"
    EOF


    Далее нажмите на кнопку на роутере, после чего выполните команду
    logread

    Для кнопки wps у меня получилось
    Thu Feb 20 09:02:07 2020 user.notice root: the button was wps and the action was pressed
    Thu Feb 20 09:02:07 2020 user.notice root: the button was wps and the action was released


    Кстати, openwrt позволяет вешать различные действия на кнопки при коротком и длинном нажатии.
     
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org

April 2025

S M T W T F S
  12345
6789101112
13141516171819
20212223 242526
27282930   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 13th, 2025 05:28 am
Powered by Dreamwidth Studios