Перезапуск USB-модема ROS7

Обсуждение ПО и его настройки
Ответить
Skylear
Сообщения: 118
Зарегистрирован: 06 авг 2017, 17:50

Всем привет. Есть рабочий скрипт на ROS6 для перезапуска модема при его подвисании, так вот данный скрипт не работает на ROS7. Маршрутизация отредактирована на ROS7, скорее всего проблема в теле самого скрипта. Вот он:

Код: Выделить всё

:local addr [:toarray "8.8.8.8,8.8.4.4,77.88.8.8,77.88.8.1,77.88.8.88,77.88.8.2"];
:local InternetIsset false;
:foreach ipp in $addr do={
    :if ($InternetIsset=false) do={
        :if ([/ping address=$ipp routing-table="onlyLTE" count=3] = 0) do={
            /log warning message="LTE Internet fail for address $ipp";
        } else={
            /log warning message="LTE Internet for success $ipp";
            :set InternetIsset true;
        }
    }
}
:if ($InternetIsset=false) do={
    /log warning message="USB Power Reset Action";
    /system routerboard usb power-reset duration=15;
}


Sertik
Сообщения: 1598
Зарегистрирован: 15 сен 2017, 09:03

Запустите его в Терминале ROS7, предварительно заключив в локальную область {} и посмотрите где ошибка будет выскакивать.


фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
Skylear
Сообщения: 118
Зарегистрирован: 06 авг 2017, 17:50

Изображение

пробовал писать /routing/table - тоже не нравится


Sertik
Сообщения: 1598
Зарегистрирован: 15 сен 2017, 09:03

Ну вот и всё стало понятно. Умные микротиковцы (бубен им в зад) убрали из /tool ping опцию routing-table ...
Так что и Вы убирайте это из Вашего скрипта и всё заработает (я проверил).

Код: Выделить всё

:local addr [:toarray "8.8.8.8,8.8.4.4,77.88.8.8,77.88.8.1,77.88.8.88,77.88.8.2"];
:local InternetIsset false;
:foreach ipp in $addr do={
    :if ($InternetIsset=false) do={
        :if ([/ping address=$ipp count=3] = 0) do={
            /log warning message="LTE Internet fail for address $ipp";
        } else={
            /log warning message="LTE Internet for success $ipp";
            :set InternetIsset true;
        }
    }
}
:if ($InternetIsset=false) do={
    /log warning message="USB Power Reset Action";
    /system routerboard usb power-reset duration=15;
}


фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
Skylear
Сообщения: 118
Зарегистрирован: 06 авг 2017, 17:50

Изображение
Все равно ругается на строку...
Да и без таблицы роутинга скрипт будет корректно отрабатывать?


Sertik
Сообщения: 1598
Зарегистрирован: 15 сен 2017, 09:03

Будет работать корректно, надо указать интерфейс для пинга на всякий, тогда пинговать будет только через модем:

Код: Выделить всё

:local addr [:toarray "8.8.8.8,8.8.4.4,77.88.8.8,77.88.8.1,77.88.8.88,77.88.8.2"];
:local InternetIsset false;
:foreach ipp in $addr do={
    :if ($InternetIsset=false) do={
        :if ([/ping address=$ipp interface=lte1 count=3] = 0) do={
            /log warning message="LTE Internet fail for address $ipp";
        } else={
            /log warning message="LTE Internet for success $ipp";
            :set InternetIsset true;
        }
    }
}
:if ($InternetIsset=false) do={
    /log warning message="USB Power Reset Action";
    /system routerboard usb power-reset duration=15;
}
Ваши скрины изображений у меня не читаются (вероятно лежат на каких-то не доверенных серверах), а очки я не ношу ...


фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
Skylear
Сообщения: 118
Зарегистрирован: 06 авг 2017, 17:50

ругается что в этот что в прошлый раз на строку

Код: Выделить всё

:set InternetIsset true;
а скрины прикрепил стандартный средством этого форума)


xan
Сообщения: 9
Зарегистрирован: 13 дек 2020, 23:58

Skylear писал(а): 20 апр 2022, 19:58 ругается что в этот что в прошлый раз на строку

Код: Выделить всё

:set InternetIsset true;
Решили проблему скрипта на ROS 7 ?


Ответить