SIM7600X ECM拨号上网

来自Waveshare Wiki
跳转至: 导航搜索

检查USB枚举情况

  • 通过以下指令检测SIMXXXX和树莓派等设备是否连接好,如没问题能够看到高通(Qualcomm)设备和ttyUSB0-USB4
lsusb
ls /dev/ttyUSB*

Lsusb-ls.png

配置网卡

  • SIM7600模组通过USB口连接到树莓派或Jetson Nano上,然后执行指令,看是否可以正常识别到ttyUSB2,可以的话,通过minicom打开该端口:
ls /dev/ttyUSB*
sudo minicom -D /dev/ttyUSB2
  • SIM7600X模组通过minicom发送以下指令,然后等待模组重启
AT+CUSBPIDSWITCH=9018,1,1
  • SIM82XX模组通过minicom发送以下指令,然后等待模组重启
at+cusbcfg=usbid,1e0e,9018

SIM7600X EMC (3).png

测试网络

  • ifconfig 查看是否有识别出一个usb0的网卡
ifconfig

SIM7600X-RNDIS-2.jpg

  • 获取ip地址,bookworm新系统通常是eth1,别的系统可能是usb0,enx6efXX 等等网卡,不是固定的,请根据实际情况选用网卡
sudo dhclient -v eth1
sudo apt-get install udhcpc
sudo udhcpc -i eth1
sudo route add -net 0.0.0.0 eth1
sudo apt install isc-dhcp-client busybox
sudo apt-get install udhcpc
sudo dhclient -v usb0
sudo udhcpc -i usb0
sudo route add -net 0.0.0.0 usb0
  • 有些系统可能获取不到usb0网卡,请用以下指令获取下usb0网卡:
sudo ifconfig usb0 up
  • 测试下通过usb0无线网卡ping百度能否正常联网:
ping -I usb0 www.baidu.com
  • 如果还不能联网,可以设置下dns,如下:

sudo route add -net 0.0.0.0 usb0

如果您使用的主控是Jetson Nano,可能是usb1无线网卡,以上相应指令的usb0改为usb1:

SIM7600X-RNDIS-3.jpg

说明:SIM7600X在ECM拨号模式下,USB无法被树莓派等主控系统识别,如果需要用到USB调试,可以用UART串口(树莓派是ttyS0;Jetson Nano是ttyTHS1)调回9001模式:

sudo minicom -D /dev/ttyS0
AT+CUSBPIDSWITCH=9001,1,1

SIM7600 EMC 9001.png

加载USB设备描述符

为了识别模块,需要将模块的 VID 和 PID 信息添加到文件 [内核]

  • 查看模组的VID和PID
lsusb
ls /dev/ttyUSB*
  • 如果没有出现对应的设备符号,添加VID和PID
sudo su
sudo modprobe option
sudo sh -c 'echo "1e0e 9018" > /sys/bus/usb-serial/drivers/option1/new_id'
sudo echo 1e0e 9018 > /sys/bus/usb-serial/drivers/generic/new_id

9018-ttyUSB.png

加载USB设备描述符

在SIM7600X改为9018模式后,部分Linxu系统无法识别到ttyUSB*,可以用以下指令加载USB设备描述符:

方案1:(临时加载)

sudo modprobe option
sudo sh -c 'echo "1e0e 9018" > /sys/bus/usb-serial/drivers/option1/new_id'
sudo sh -c 'echo "1e0e 9011" > /sys/bus/usb-serial/drivers/option1/new_id'
sudo sh -c 'echo "1e0e 901E" > /sys/bus/usb-serial/drivers/option1/new_id'
#不行的话,加载ECM驱动
lsmod | grep usbnet
sudo modprobe usbnet

方案2:(掉电保存)

  • 创建 udev 规则(推荐)
sudo nano /etc/udev/rules.d/99-usb-modem.rules
  • 添加以下内容
 # 自动加载 option 驱动
SUBSYSTEM=="usb", ATTRS{idVendor}=="1e0e", ATTRS{idProduct}=="9018", RUN+="/sbin/modprobe option"
SUBSYSTEM=="usb", ATTRS{idVendor}=="1e0e", ATTRS{idProduct}=="9018", RUN+="/bin/sh -c 'echo 1e0e 9018 > /sys/bus/usb-serial/drivers/option1/new_id'"
  • 保存后重新加载 udev 规则:
sudo udevadm control --reload-rules
sudo udevadm trigger

如果没有网卡,请用指令加载驱动

  • 检查是否加载
lsmod | grep cdc_ether
  • 加载驱动
modprobe cdc_ether

配置DNS服务器(可选)

有时能ping 通IP,无法ping通域名,是DNS服务器问题,请参考以下步骤配置DNS服务器 查看看当前的DNS

cat /etc/resolv.conf
  • 先备份原来的DNS配置文件
sudo mv /etc/resolv.conf resolv_bk.conf
  • 重新编辑一个DNS配置文件
sudo nano /etc/resolv.conf
  • 添加阿里云DNS服务器:
nameserver 223.5.5.5
  • 或谷歌DNS服务器
nameserver 8.8.8.8
  • 去ping域名测试看看,网卡用对应的,这里usb0
ping qq.com -I usb0 
  • 锁定文件,防止被篡改,解锁改为-i
sudo chattr +i /etc/resolv.conf

设定网卡优先级(可选)

  • 设置优先级

在文件末尾添加以下内容,确保 USB 4G 接口(例如 usb0)优先于 Wi-Fi 接口(例如 wlan0):

interface usb0
priority 100
interface wlan0
priority 200

更多应用案例