RM5XXX ECM 拨号上网

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

硬件连接

首先安装上文连接好硬件后,模块上电后,PWR指示灯亮红灯,等获取到网络后,NET指示灯亮绿灯,如下图所示:
RM520N-GL-5G-HAT-hw.jpg

配置网卡

  • 模块接入Linux 主机的USB口后,可通过指令查询识别情况:
lsusb
ls /dev/ttyUSB*

如下图所示:
RM520N-GL-5G-HAT-Raspberry-Pi-OS-01.jpg

  • Open ttyUSB2 port via minicom:
ls /dev/ttyUSB*
sudo apt-get install minicom
sudo minicom -D /dev/ttyUSB2
  • 通过minicom发送以下指令,然后等待模组重启
AT+QENG="servingcell"
AT+QCFG="usbnet",1
AT+CFUN=1,1
  • 如果是RM500U,多加一个指令
AT+QNETDEVCTL=1,3,1   // RM500U专属指令

SIM7600X EMC (3).png

测试网络

  • ifconfig 查看是否有识别出一个新的的网卡,enxxxx usbx 等,这里以 usb0 为例
ifconfig -a

SIM7600X-RNDIS-2.jpg

  • 可以用指令确认对应的网卡的参数
udevadm info /sys/class/net/usb2

Ecm-net.png


  • 获取ip地址,xxx替换为实际网卡,比方说enxf6d5122e3851
sudo dhclient -v xxx
sudo apt-get install udhcpc
sudo udhcpc -i xxx
sudo route add -net 0.0.0.0 xxx

有些系统可能获取不到对应网卡,请用以下指令获取下xxx网卡:

  • 查询 ECM 驱动
lsmod | grep cdc_ether
  • 加载驱动
sudo modprobe cdc_ether
  • 打开对应网卡
sudo ifconfig xxx up
  • 测试下通过usb0无线网卡ping百度能否正常联网:
ping -I usb0 www.baidu.com
  • 如果还不能联网,可以设置下dns,如下:

sudo route add -net 0.0.0.0 usb0

加载USB设备描述符

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

方案一(临时)

  • 查看模组的VID和PID
lsusb

RM500U-Jetson1 (1).png

  • 添加VID和PID
sudo su
sudo modprobe option
sudo sh -c 'echo "2c7c 0801" > /sys/bus/usb-serial/drivers/option1/new_id'
sudo sh -c 'echo "2c7c 0800" > /sys/bus/usb-serial/drivers/option1/new_id'
sudo sh -c 'echo "2c7c 0900" > /sys/bus/usb-serial/drivers/option1/new_id'

方案二(掉电保存)

  • 创建 udev 规则(推荐)
sudo nano /etc/udev/rules.d/99-usb-modem.rules
  • 添加以下内容
SUBSYSTEM=="usb", ENV{ID_VENDOR_ID}=="1e0e", ENV{ID_MODEL_ID}=="9018", RUN+="/sbin/modprobe option", RUN+="/bin/sh -c 'echo $env{ID_VENDOR_ID} $env{ID_MODEL_ID} > /sys/bus/usb-serial/drivers/option1/new_id'"
SUBSYSTEM=="usb", ENV{ID_VENDOR_ID}=="2c7c", ENV{ID_MODEL_ID}=="0801", RUN+="/sbin/modprobe option", RUN+="/bin/sh -c 'echo $env{ID_VENDOR_ID} $env{ID_MODEL_ID} > /sys/bus/usb-serial/drivers/option1/new_id'"
SUBSYSTEM=="usb", ENV{ID_VENDOR_ID}=="2c7c", ENV{ID_MODEL_ID}=="0900", RUN+="/sbin/modprobe option", RUN+="/bin/sh -c 'echo $env{ID_VENDOR_ID} $env{ID_MODEL_ID} > /sys/bus/usb-serial/drivers/option1/new_id'"
SUBSYSTEM=="usb", ENV{ID_VENDOR_ID}=="1e0e", ENV{ID_MODEL_ID}=="901e", RUN+="/sbin/modprobe option", RUN+="/bin/sh -c 'echo $env{ID_VENDOR_ID} $env{ID_MODEL_ID} > /sys/bus/usb-serial/drivers/option1/new_id'"
  • 保存后重新加载 udev 规则:
sudo udevadm control --reload-rules
sudo udevadm trigger