openwrt使用3G拔号的实践笔记

参照文档:

https://soha.moe/post/make-4g-wifi-ap-with-openwrt.html

步骤:

1、安装必要的包:

opkg update
opkg install chat comgt kmod-usb-serial kmod-usb-core kmod-usb2 libusb-1.0 luci-proto-3g usbutils libpthread librt zlib usbreset usb-modeswitch

2、查看设备:

lsusb
lsusb -t

lsusb主要作用是查看:venid和proid (下面以华为的3G手指为例:venid : 0x12d1 和proid:0x1506)

把查到的venid和proid分别写入/etc/usb_modeswitch.d/12d1:1506文件中:

# unknown band card
TargetVendor=0x12d1
TargetProduct=0x1506
SierraMode=1

另外,还要修改:/etc/modules.d/usb-serial

usbserial vendor=0x12d1 product=0x1506

lsusb -t主要作用是查看经过usb-modeswitch后的设备是否正常

3、重启路由器使上面配置生效

4、使用comgt -d /dev/ttyUSB0等命令查找USB对应的口

5、回到WEB界面,新增一个网卡,协议选UTMS/GPRS/EV-DO,Modem设备选刚才找到的/dev/ttyUSB0,服务类型选UMTS,APN参数填3gnet(联通适用的APN),然后保存即可

6、使用过程中发现有时会莫明奇妙ttyUSB0~ttyUSB3不见了,所以写了以下脚本检测并复位

#!/bin/sh
aa=`ls /dev/ttyUSB* | wc -l`
echo tty device : $aa
if [ $aa -eq 0 ]; then
#       reboot
        usbreset 12d1:1506
        sleep 5
fi
bb=`route -n | grep "^0.0.0.0" | grep 3g | wc -l`
echo route : $bb
if [ $bb -eq 0 ]; then
        ubus call network.interface.3G down
        echo reconnecting
        sleep 5
        ubus call network.interface.3G up
fi

7、理论上上述配置过程同样适用4G手指

原文地址:https://www.cnblogs.com/d9394/p/11116271.html