3G-ключ переключается на модем после загрузки сетевых интерфейсов
У меня Raspberry Pi с подключенным ключом 3G. Я хочу автоматически переключаться в режим модема + загружать интерфейс ppp во время загрузки.
я использую usb_modeswitch
для автоматического переключения в режим модема во время загрузки, и он работает.
И wvdial хорошо управляется, если он запускается как он после загрузки: sudo wvdial ppp0
, Я могу пинговать мир! (ОК, только IP-адреса и домены)
Проблема в том, что сетевые интерфейсы загружаются до переключения модема в процессе загрузки... Как вы можете видеть в syslog
файл (проверить даты и часы):
Feb 11 19:18:07 raspberrypi logger: /etc/ppp/wait-dialup-hardware: ERROR timeout waiting for required device /dev/gsmmodem
Feb 11 19:18:09 raspberrypi logger: usb_modeswitch: switched to 05c6:6000 on 001/005
Я попробовал это решение, чтобы заставить аппаратное обеспечение дозвона. Ожидание /dev/gsmmodem монтируется, но не работает.
мой /etc/network/interfaces
файл:
auto ppp0
iface ppp0 inet wvdial
provider ppp0
pre-up echo "3G dongle starting..."
pre-up /etc/ppp/wait-dialup-hardware gsmmodem 30
post-up echo "3G (ppp0) is online"
мой /etc/ppp/wait-dialup-hardware
файл:
#!/bin/sh
INTERFACE="/dev/$1"
MAX_SECONDS_TIMEOUT=$2
dsec=$(( MAX_SECONDS_TIMEOUT * 10 ))
retry=0
while [ "$retry" -le "$dsec" ]; do
if [ -c ${INTERFACE} ]; then
echo "$0: OK existing required device ${INTERFACE} (in $((retry / 10)).$((100 * (retry % 10) / 10)) seconds)"
logger "$0: OK existing required device ${INTERFACE} (in $((retry / 10)).$((100 * (retry % 10) / 10)) seconds)"
break
else
sleep 0.1
fi
retry=$(( retry + 1))
done
if [ ! -c ${INTERFACE} ]; then
echo "$0: ERROR timeout waiting for required device ${INTERFACE}"
logger "$0: ERROR timeout waiting for required device ${INTERFACE}"
exit 1
fi
Как я могу это исправить?