Страница 1 из 1

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

Добавлено: 18 апр 2022, 10:52
Skylear
Всем привет. Есть рабочий скрипт на 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;
}

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

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

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

Добавлено: 18 апр 2022, 17:25
Skylear
Изображение

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

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

Добавлено: 19 апр 2022, 21:33
Sertik
Ну вот и всё стало понятно. Умные микротиковцы (бубен им в зад) убрали из /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;
}

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

Добавлено: 20 апр 2022, 11:35
Skylear
Изображение
Все равно ругается на строку...
Да и без таблицы роутинга скрипт будет корректно отрабатывать?

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

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

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

: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;
}
Ваши скрины изображений у меня не читаются (вероятно лежат на каких-то не доверенных серверах), а очки я не ношу ...

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

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

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

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

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

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

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

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