SIM820X RNDIS拨号上网
来自Waveshare Wiki
- 通过以下指令检测SIM820X和树莓派等设备是否连接好,如没问题能够看到高通(Qualcomm)设备和ttyUSB0-USB4
lsusb ls /dev/ttyUSB*
- 通过minicom打开ttyUSB2端口:
ls /dev/ttyUSB* sudo apt-get install minicom sudo minicom -D /dev/ttyUSB2
- 通过minicom发送以下指令,然后等待模组重启
at+cusbcfg=usbid,1e0e,9011
测试联网
- 拨号后,树莓派通过以下指令可以看到usb0获取到ip:
ifconfig -a
- 测试usb0联网状况
ping -I usb0 www.baidu.com
- 如果没能获取IP或者没有成功联网,用以下指令获取IP和联网:
sudo dhclient -v usb0 sudo apt-get install udhcpc sudo udhcpc -i usb0 sudo route add -net 0.0.0.0 usb0 auto usb0 iface usb0 inet dhcp
- 有些系统可能获取不到usb0网卡,请用以下指令获取下usb0网卡:
sudo ifconfig usb0 up
- 如果需要切换到windows系统使用,或者恢复成模组默认的设置的,可以通过串口发送下方指令恢复:
at+cusbcfg=usbid,1e0e,9001
配置DNS(可选)
方法一
- 如果能ping 通IP,但是ping不通网址,是DNS服务器问题,可以按照以下步骤配置下:
- 重启树莓派后可以通过以下指令看到DNS设置成功
sudo nano /etc/resolvconf.conf
- 在文件最后加入以下指令
name_servers=8.8.8.8 114.114.114.114
- 保存文件,树莓派通过以下命令重启网络服务,使更改生效:
sudo systemctl restart networking sudo systemctl restart systemd-networkd
方法二
- 编辑resolved.conf文件
sudo nano /etc/dhcp/dhclient.conf
- 在文件末尾添加以下行来指定 DNS 服务器。例如:
supersede domain-name-servers 8.8.8.8, 8.8.4.4;
- 编辑dhclient.conf文件
sudo nano /etc/systemd/resolved.conf
- 末尾加入行
DNS=8.8.8.8 8.8.4.4
- 重启树莓派后可以通过以下指令看到DNS设置成功
sudo nano /etc/resolv.conf
- 保存文件,退出再ping测试下
方法三
- 编辑文件
sudo nano /etc/dhcp/dhclient.conf
- 复制以下内容到文件最后*
interface "usb0" { supersede domain-name-servers 8.8.8.8; }
如果您用的是Jetson nano, 请用以下指令配置
sudo cp /etc/systemd/resolved.conf /etc/systemd/resolved.conf.bak sudo vi /etc/systemd/resolved.conf DNS=114.114.114.114 8.8.8.8 8.8.4.4 sudo systemctl restart systemd-resolved.service sudo systemctl enable systemd-resolved.service sudo mv /etc/resolv.conf /etc/resolv.conf.bak sudo ln -s /run/systemd/resolve/resolv.conf /etc/
选择网卡(可选)
如果同时接了WIFI,ETH和5G,要优先用其一上网的话,例如 usb0 优先于 eth0 网卡上网,可以按照以下步骤配置:
- 编辑网络配置文件 dhcpcd.conf
sudo nano /etc/dhcpcd.conf
- 在最后加入以下语句
interface usb0 metric 200 interface eth0 metric 300
加载USB设备描述符
在SIM7600X改为9011模式后,部分Linxu系统无法识别到ttyUSB*,可以用以下指令加载USB设备描述符:
- ubuntu系统
sudo su sudo echo 1e0e 9011 > /sys/bus/usb-serial/drivers/generic/new_id
- raspbian和centos系统
sudo su sudo modprobe option sudo sh -c 'echo "1e0e 9011" > /sys/bus/usb-serial/drivers/option1/new_id' sudo sh -c 'echo "1e0e 9018" > /sys/bus/usb-serial/drivers/option1/new_id' sudo sh -c 'echo "1e0e 901E" > /sys/bus/usb-serial/drivers/option1/new_id'
开机自启usb0
设置开机启动,打开树莓派开机配置脚本
sudo nano /etc/rc.local
将启动命令加入倒数第二行,注意是您的运行上网文件的绝对路径,也就是exit 0的上一行。
sudo dhclient -v usb0
注意一定要添加"&" 后台运行,否则可能会出现系统不能启动的情况。
树莓派5&&Nano NX
- 编辑当前用户的 crontab 文件:
crontab -e
- 添加启动任务,在 crontab 文件的末尾添加以下行,替换为需要开机自启动执行的命令或脚本:
@reboot sudo ./Sim8200_for_jetsonnano/Goonline/simcom-cm &
- 保存并退出,根据编辑器的提示保存并退出。通常,使用 nano 编辑器时按 Ctrl+O 保存文件,按 Ctrl+X 退出编辑器