加载网络接口后,3G加密狗切换到调制解调器

时间:2017-02-13 10:25:25

标签: linux networking ppp pppd usb-modeswitch

我有一个连接了3G Dongle的Raspberry Pi。我想在调制解调器模式下自动切换+在启动期间加载ppp接口

我使用usb_modeswitch在启动过程中自动切换调制解调器模式,并且可以正常工作。

如果wvdial在启动后像sudo wvdial ppp0那样启动,那么wvdial管理得很好。我可以ping世界! (好的只是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

我已经尝试this solution强制等待拨号硬件。等待/ 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 个答案:

没有答案