LINUX.ORG.RU
решено ФорумAdmin

Настройка модема e3372 в стик режиме

 , ,


0

2

Debian 11. Поднимаю соединение так

auto wwan0
iface wwan0 inet dhcp
        pre-up /bin/echo -en 'AT^NDISDUP=1,1,"internet"\r\n' > /dev/cdc-wdm0
        post-down /usr/sbin/ifdown wwan0

При загрузке ОС, при рестарте networking все в порядке, соединение устанавливается. Но если переподключить модем физически - соединение не поднимается. Приходится руками рестартить networking. Думал через правило udev вырулить, но по время загрузки системы udev дергает это правило. Как правильно костыль написать?

Во время загрузки udev дергает правило, но networking стартует гораздо позже

Твой вариант, что-то такого вида:

mini-router [/etc/udev/rules.d]$ cat 80-lte.rules
ACTION=="add", SUBSYSTEM=="tty", ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1506", ATTRS{serial}=="0123456789ABCDEF", RUN="/sbin/ifup ppp0"

ACTION=="remove", SUBSYSTEM=="tty", ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1506", ATTRS{serial}=="0123456789ABCDEF", RUN="/sbin/ifdown ppp0"

Это я скопировал правила с домашнего сервера для своего LTE-модема. В RUN можно запихать вызов любого нужного тебе скрипта(или как у меня - унести всю логику в ifupdown, оставив только старт/стоп интерфейса)

Параметры подключаемого устройства можешь выловить через udevadm monitor

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 2)
Ответ на: комментарий от Pinkbyte

На счет того, что udev дергает раньше старта networking не подумал. В ifupdown параметра auto ppp0 нет у тебя? Если есть возможность покажи конфиг

achilles_85
() автор топика
Ответ на: комментарий от achilles_85

Всё что относится к ppp0:

iface ppp0
        ppp-provider micronet
        # ifupdown is fucked up with pppoe, better call post-up script via /etc/                                                                                                             ppp/ip-up.d

auto там нет, потому что за подъем интерфейса отвечает правило udev - как только оно обнаруживает девайс(в том числе и при старте системы) - стреляет ifup ppp0.

Камент - это конкретно про ifupdown в составе Alpine Linux - он у меня фэйлится СРАЗУ всегда при старте ppp-интерфейсов, вне зависимости от успеха/неудачи подключения(поэтому post-up скрипты очевидно не срабатывают, думая что интерфейс не поднялся). В Debian/Ubuntu такого не наблюдал. Дебажить было лениво, поэтому перенес нужные мне скрипты в /etc/ppp/ip-up.d

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 5)
Ответ на: комментарий от Pinkbyte

Не могу приручить этого удава. Видимо он слишком рано хочет поднять интерфейс, т.к. в логе failed with exit code 1.

SUBSYSTEM=="net", ACTION=="add", ENV{INTERFACE}=="wwan0", RUN+="/usr/sbin/ifup wwan0"
Пробовал в RUN писать /usr/bin/sleep 5 && /usr/sbin/ifup wwan0 - итог такой же, ошибка. Я хз что делаю не так

achilles_85
() автор топика
Ответ на: комментарий от achilles_85

Пробовал в RUN писать /usr/bin/sleep 5 && /usr/sbin/ifup wwan0 - итог такой же, ошибка

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

А там уже проверяй состояние интерфейса и жди пока он окончательно не подымется.

Pinkbyte ★★★★★
()
Ответ на: комментарий от achilles_85

У NetworkManager есть nmcli. Кому-то нравится.

Мне - нет, 2 правила для udev мне проще и понятнее. Но тебе может зайти.

Pinkbyte ★★★★★
()
Ответ на: комментарий от Bers666

Знаю что есть cli, но nm мне не нравится. Хочу встроенными средствами вырулить

achilles_85
() автор топика
Ответ на: комментарий от Pinkbyte

уже понял, запустил так

/bin/bash -c 'blablabla'
Но все равно при выполнении ifup wwan0 удав ругается. В итоге сделал так. systemd поднимает модем и dhcp клиент на интерейсе, а вызывает его правило udev.

achilles_85
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.