0x01 内核配置
1.开启内核rndis驱动
Device Drivers—>
Network device support -->
Wireless LAN —>
Wireless RNDIS USB support
2.内核开启modem驱动
device drivers ->
usb support ->
usb serial converter support–>
USB driver for GSM and CDMA modems
0x02 应用层切换模式
1. 完成步骤1后连接4G模块会出现RNDIS设备,通过ip a或者lsusb可查看
root@protons-KPL-W0X:~# lsusb
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 005: ID 1e0e:9011 Qualcomm / Option
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 009 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
2. 复制rndis设备的pid和vid,运行命令打开ttyUSB*
sudo modprobe option
sudo chmod 777 /sys/bus/usb-serial/drivers/option1/new_id
sudo echo 1e0e 9011 > /sys/bus/usb-serial/drivers/option1/new_id
3. 这时候应该出现了ttyUSB* 设备
root@protons-KPL-W0X:/sys/class/leds/pm_4g# ls /dev/ttyUSB*
/dev/ttyUSB0 /dev/ttyUSB1 /dev/ttyUSB2
4. 向ttyUSB2写入模式切换命令切换到usbnetmode。将命令添加到配置网卡模式的脚本(只需要配置一次)
vim config_4g.sh
# 开启4G模块供电
sudo echo default-on > /sys/class/leds/pm_4g/trigger
sleep 2s
# 加载qualcomm option模块
sudo modprobe option
sudo chmod 777 /sys/bus/usb-serial/drivers/option1/new_id
sudo echo 1e0e 9011 > /sys/bus/usb-serial/drivers/option1/new_id
# 延时2s
sleep 2s
# 切换模式
sudo echo "AT+DIALMODE=0\n\n" > /dev/ttyUSB2
sleep 2s
sudo echo "AT\$MYCONFIG=\"usbnetmode\",1\n\n" > /dev/ttyUSB2
5. 配置interfaces,注意只能存在一个WAN网卡,需要禁用eth0或将其配置为LAN。
vim /etc/network/interfaces
# 添加配置项
auto usb0
iface usb0 inet dhcp
# 修改配置项
aoto eth0
iface eth0 inet static
address = xxx.xxx.xxx.xxx
6. 最后重启设备
sudo reboot