Jump to content
Калькуляторы

Автовыключение WLAN при отключении LAN

Собственно, интересный вопрос.

Реально ли для ubnt написать скрипт или какую-то настройку, чтобы при пропадании линка на лан-порту (в офисе выключили комп/свитч) выключался и радиоинтерфейс?

При включении лана, собственно, включался назад.

?

Share this post


Link to post
Share on other sites

Что-то типа:

 

#!/bin/ash


STATE=`cat /sys/class/net/eth0/carrier`
if [ $STATE -eq "1" ]; then
`iwconfig ath0 power 0`
else
`iwconfig ath0 power 1`
fi

 

Запускать по крону.

 

За работоспособность не ручаюсь, но как-то так...

Share this post


Link to post
Share on other sites

Что такое Крон догадываюсь, и понимаю, что нужно создать файл в убнт-шке.

Осталось два момента.

1. Собственно где и как создавать файл?

2. Будет ли работать после ребута?

Share this post


Link to post
Share on other sites

раздел, доступный для изменения ФС (где можно сохранять пользовательские данные):

/etc/persistent

ком*** для сохранения изменений ФС:

cfgmtd -p /etc -w

 

Остальное -- гугл, там обыный Linux, из редакторов vi.

 

начать изучение с http://wiki.ubnt.com/Linux_Script_FAQ

 

Запуск крона (в rc.poststart):

#!/bin/sh


#crontab
/bin/crond -b -c /etc/persistent/crontabs -l ${loglevel:-5} -L /dev/null

 

crontabs -- папка, в ней файл, например, ubnt, примерно такого содержания

*/5     *       *       *     * /etc/persistent/pwrmgnt.sh

 

где pwrmgnt.sh -- имя файла вашего скрипта (не забудьте дать права на исполнение).

 

Команда создания папки crontabs:

mkdir crontabs

 

Остальное ГУГЛ!

 

PS:

может в выходные, когда будет доступ к устройству -- допилю скриптик, но не факт, ибо особо не нужен.

Edited by NewUse

Share this post


Link to post
Share on other sites

Суть?! Я всё!!! расписал, а что не написал -- дал ссыль, там даже как сохранять в vi написано....

 

За что не ручаюсь -- так это за сам скрипт, ибо надо тестить, т.к. писал на другом Linux дистрибутиве и с другим драйвером.

Share this post


Link to post
Share on other sites

Сегодня с другом линуксовым админом всё таки довели дело до конца.

Скрипт, кстати, неверный и команда `iwconfig ath0 power 0` не работает.

Тем более, можно обойтись без крона, а это главное упрощение.

Вобщем вот скриптик.

#!/bin/ash


(while true
do
    STATE=`cat /sys/class/net/eth0/carrier`
    if [ $STATE -eq "1" ]; then
    ifconfig ath0 up
    else
         ifconfig ath0 down
    fi

    sleep 10
done) &

единственное, он не захотел работать на точках старых (не М)

после применения они к базе не коннектятся

Share this post


Link to post
Share on other sites

С кроном кошернее, так у Вас скрипт демоном висит(зависнет, вылитет, контроллировать надо), а так крон бы его дёргал, но не суть, 10 сек не мало ли?

 

Я был не уверен, что ifconfig отрубает wifi, проверить -- писал выше -- не было возожности

 

да, я мог ошибится:

`iwconfig ath0 power down` 

 

На старых -- не смотрел,что там к чему, странно, что не работает...

Share this post


Link to post
Share on other sites

Прошу помочь в реализации данной задачи с небольшим дополнением, необходимо написать скрипт, который отключает wifi интерфейс на ubnt в следующих случаях:

1. При отсутствии линка на eth интерфейсе

2. При отсутствии трафика на eth интерфейсе

 

За готовый продукт "под ключ" готов оплатить.

Share this post


Link to post
Share on other sites

Прошу помочь в реализации данной задачи с небольшим дополнением, необходимо написать скрипт, который отключает wifi интерфейс на ubnt в следующих случаях:

1. При отсутствии линка на eth интерфейсе

2. При отсутствии трафика на eth интерфейсе

 

За готовый продукт "под ключ" готов оплатить.

Цена вопроса?

Share this post


Link to post
Share on other sites

2. При отсутствии трафика на eth интерфейсе

плохая идея, вернее, та её реализация, которая очевидна, не даст нормально работать оборудованию.

Share this post


Link to post
Share on other sites

2. При отсутствии трафика на eth интерфейсе

плохая идея, вернее, та её реализация, которая очевидна, не даст нормально работать оборудованию.

+1.

Share this post


Link to post
Share on other sites

2. При отсутствии трафика на eth интерфейсе

плохая идея, вернее, та её реализация, которая очевидна, не даст нормально работать оборудованию.

+1.

 

Вообще идея такая, есть пару секторов с рокет м2. На каждом секторе по 25-30 чел и соответственно траф плохо бегает. Если учесть что из общего числа 50 чел пользуются инетом только чел 20, то было бы неплохо выключить wifi интерфейс у остальных. В итоге имеем 10 чел на одну базу и шустрый инет. Когда чел с отключенным wifi интерфейсом захочет войти в сеть, то он предварительно перезагрузит устройство.

Если у Вас есть другое предложение то давайте в студию, а цена вопроса данного несложного скрипта 50$.

Edited by pred1981

Share this post


Link to post
Share on other sites

Каким образом отключать wifi?

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

Share this post


Link to post
Share on other sites

Уменьшение количества устройств на БС, уменьшение работающих устройств рядом.

Разве это не приводит к улучшению работы остальных?

Особенно первое.

Хотя у меня сейчас тут на базе NSM5 15 устройств и работает неплохо.

 

P.S. Это спрашивал только что Космичь вроде, а я пока писал сообщение, он своё уже удалил 0_о

Edited by Trueno

Share this post


Link to post
Share on other sites

Хотя у меня сейчас тут на базе NSM5 15 устройств и работает неплохо.

Ну так ж если настроить, то ничего удивительного :)

Share this post


Link to post
Share on other sites

Каким образом отключать wifi?

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

 

В данный момент я отключаю ручками "ifconfig wifi0 down", но хочется скрипт который запускается каждый час и проверяет траф прошедший через интерфейс, если в течении часа траф мизерный (служебный траф все равно будет) то выкл wifi0. Также скрипт проверяет линк на порту и выключает wifi0 при отстутствии линка на eth0.

Share this post


Link to post
Share on other sites

Всё таки интересно, ребята, а почему же старые устройства при использовании моего скрипта "ломаются"?

А именно, после перезагрузки на базу не возвращается.

Дело, точнее, было даже так.

После ребута точка вернулась на базу, повисела там секунд 10-20 и отпала.

После чего не ребуты, ни чего не помогало вернуть её к жизни.

 

Заодно другой вопрос - сотрется ли скрипт при обновлении проши?

Share this post


Link to post
Share on other sites

Заодно другой вопрос - сотрется ли скрипт при обновлении проши?

Нужно зажать ресет, подать питание, дождаться когда зажгутся и погаснут все диоды одновременно, тогда и залить по тфтп прошивку...

Share this post


Link to post
Share on other sites

Я имел в виду обновление прошивки в нормально работающих устройствах.

Сейчас весь парк на 5.5

При обновлении, к примеру, на скоро выходящую 5.5.4, пропадут ли мои скрипты там, где они нужны?

Share this post


Link to post
Share on other sites

При обновлении, к примеру, на скоро выходящую 5.5.4, пропадут ли мои скрипты там, где они нужны?

Не пропадут, только, вот 5.5.4 совсем не скоро выйдет, зная ЮБНТ...

Share this post


Link to post
Share on other sites

Если у Вас есть другое предложение то давайте в студию, а цена вопроса данного несложного скрипта 50$.

Я спросил из любопытсва.

 

Силами самого девайса такое не реализуемо как рабочее решение, вылезет куча граблей которые устранять устанете, про ресурс девайса я и не говорю. Нужен комп который будет все это мониторить, и отключать девайсы. С компом это уже ходит за рамки скрипта.

Share this post


Link to post
Share on other sites

Если у Вас есть другое предложение то давайте в студию, а цена вопроса данного несложного скрипта 50$.

Я спросил из любопытсва.

 

Силами самого девайса такое не реализуемо как рабочее решение, вылезет куча граблей которые устранять устанете, про ресурс девайса я и не говорю. Нужен комп который будет все это мониторить, и отключать девайсы. С компом это уже ходит за рамки скрипта.

 

Дело в том что на данный момент уже имеется комп с AirControl для того чтобы выполнять групповые операции обновления, очистки от вируса скайнет и тд .

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.