одновременное выполнение команд в rc.local

Автор Customize, 28 февраля 2019, 10:53:25

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Customize

задача:
для подключения LTE модема при загрузки тушки(одноплатника) выполнить одновременно две команды


sudo mbim-network /dev/cdc-wdm0 start
и
sudo dhclient -v wwan0

добавление в rc.local
sudo mbim-network /dev/cdc-wdm0 start; sudo dhclient -v wwan0

не помогает, а когда проверяю просто в ком. строке, то явно делается по очереди.

з.ы. вообще хорошо бы сделать так чтобы этот пакет команд не только выполнялся одновременно, но и чуть спустя время после загрузки системы, поскольку, я так думаю, модему нужно секунд 10-15 на инициализацию. Вот к примеру umtskeeper хорошо справляется с подключением через Sakis3g т.е. ppp подключение появляется спустя 30-40 секунд после загрузки системы.



endru

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

Customize

Цитата: endru от 28 февраля 2019, 11:03:07
Смотри как настраиваются правила udev, там можно прописать запуск произвольной команды. И лучше указывай полный путь до исполняемых файлов в скриптах, не всегда в окружении системы есть нужные директории окружений.
а для простых смертных нет решения ?
Я тут почитал https://wiki.debian.org/ru/udev и думаю не осилю((

попроще что то -> твоя моя есть?, тогда ждать и потом запускать сразу оба вместе ...

не уж то нельзя как то стартануть какой нидуть скрипт файл из rc.local ?

т.е. в rc local команда запустить test.local и далее ждать 1сек(или около того) потом ->
sudo dhclient -v wwan0, а в test.local прописать команду sudo mbim-network /dev/cdc-wdm0 start

только где должен лежать файл test.local , какие атрибуты должны быть у test.local и как его запустить из rc.local ?

ferum

Надо конструировать юнит где первая команда начинается с ExecPre выставлять таймаут https://www.freedesktop.org/software/systemd/man/systemd.service.html
Сейчас уже забыл но и rc.local в stretch по дефолту выключен.
Русские дебианщики против цифрового слабоумия !

sidbar

Цитата: Customize от 28 февраля 2019, 11:28:31т.е. в rc local команда запустить test.local и далее ждать 1сек(или около того)
Так в чем проблема, что не работает?  Есть команда
sleep 5
Будет ждать заданное количество.
А в rc local попробуй:
/bin/bash /etc/test.local И не забыть сделать chmod +x /etc/test.local
Devuan GNU/Linux 4 Chimaera x86_64

Customize

не получается.

использую & между запуском файла test.local и запуском DHCP. Проверяю из командной строки запуском ./rc.local и вроде как лог идет в перемешку, но увы не получается в 90% случаях. только если из разных  терминалах запускать по очереди

Customize

по какой то причине после взаимодействий вышеуказанными строчками в rc.local(по итогу которые не работают), далее при работе обрывается связь и падает IP с wwan0 приходится заново коннектится и опять через пару минут IP падает.

Если все убрать из rc.local и запускать коннект в ручную , то все ок и коннект держится.

Что делать ?

ferum

Цитата: Customize от 28 февраля 2019, 19:44:30Что делать ?
Писать юнит и поднимать соединение средствами systemd.
Русские дебианщики против цифрового слабоумия !

Customize

#8
методом научного тыка у меня получилось так ->

создал отдельный файл, сделал его запускным sudo chmod + test_lte.run
в файл положил это ->

echo "AT+CRESET;\r" >/dev/ttyUSB3
sleep 30
sudo ifconfig wwan0 down
sudo /usr/bin/mbim-network /dev/cdc-wdm0 start
sudo ifconfig wwan0 up
sudo dhclient -v wwan0


перегружал уже раз 10-ть каждый раз работает и не падает сеть.

svtv1

Цитата: Customize от 01 марта 2019, 10:13:15методом научного тыка
Ещё можно alias, методом научного тыка  :D.
"Если достаточно долго сидеть возле реки - мимо проплывет труп твоего врага"