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

Как я могу это исправить?

0 ответов

Другие вопросы по тегам