树莓派使用4g上网卡上网

树莓派镜像:

          树莓派官网提供的系统

购买4g上网卡:

https://detail.tmall.com/item.htm?spm=a230r.1.14.22.18d833f6Cdrrad&id=45021101720&ns=1&abbucket=3

我用的是电脑版

 

配置wvdial

# 更新系统
$ apt autoclean
$ apt autoremove
$ apt update -y
$ apt upgrade -y
# 安装 wvdial
$ apt install wvdial
# 先不要插入上网卡
$ lsusb
Bus 001 Device 006 ID 05c6:f000 Qualcomm, Inc. 
# 这种情况再稍微等一下
$ lsusb
Bus 001 Device 006 ID 05c6:6000 Qualcomm, Inc. Siemens SG75
...
$ ls /dev/ttyUSB*
/dev/ttyUSB0 /dev/ttyUSB1 /dev/ttyUSB2 /dev/ttyUSB3
# 可以看到设备直接识别出来的.证明枚举成功了

最好是在 /dev/usb_modeswtich.d/ 新建一个 vender:product 的文件
# cat /dev/usb_modeswitch.d/05c6:6000
$ echo TargetVendor = 0x05c6 > /dev/usb_modeswitch.d/05c6:6000
$ echo TargetProduct = 0x6000 >> /dev/usb_modeswitch.d/05c6:6000
$ echo MessageContent = "5553424312345678000000000000061b000000020000000000000000000000" >> /dev/usb_modeswitch.d/05c6:6000
$ echo NeadResponse = 1 >> /dev/usb_modeswitch.d/05c6:6000

# 配置 /etc/wvdial.conf
# 可以新加一组配置, [Dialer SG75-01]
[Dialer SG75-01]
Init1 = ATZ
Init2 = ATQ V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = ATE0V1
Init4 = ATS0=0
Init5 = AT+CGDCONT=1, "IP", "3GNET"
# 这里 APN 邓勇 Init5中的 3GNET, 所以可以不填
# APN = 3GNET
Init6 = AT+CFUN=1
Modem Type = Analog Modem
# 波特率常见是 9600, 115200, 460800
Baud = 115200
New PPPD = yes
# Modem 一般为一组 ttyUSB* 中的第一个
Modem = /dev/ttyUSB0
ISDN = 0
Phone = *99#
# 用户名, 密码可以不填
Username = username
Password = password
Stupid Mode = 1

# 保存退出
# 开始拨号
$ wvdial SG75-01
如果成功, 会输出 local IP Address: ... remote IP address: ... primary DNS address: ..

如果不成功拨号时出现下列问题,为权限问题,将当前用户添加到dip的用户组中:

usermod -a -G dip pi 

之后进行拨号就可以看到4g网卡上的红蓝灯闪烁。此时拨号已经成功。

树莓派使用4g上网卡上网_第1张图片
$ ifconfig
ppp0 Link encap:Point0toPoint Protocol
    inet addr: 10.17.3.144 P-t-P:10.64.64.64 Mask: 255.255.255.255
    UP POINTTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
    ...

 

# 测试一下网上
$ pip install speedtest-cli
$ speedtest-cli

测试上行和下行速度

这一步还不能上网因为没有链接到公网。

单网卡如何公网, 并且不影响局域网. 只需要配置路由表即可.

# 在没有拨号之前查看路由表
$ route -n
0.0.0.0 172.16.30.1 0.0.0.0 UG 600 wlan0
192.254.0.0 0.0.0.0 255.255.255.0 U 600 wlan0

# 拨号之后再查看路由表
$ route -n
0.0.0.0 172.16.30.1 0.0.0.0 UG 600 wlan0
10.63.63.63 0.0.0.0 255.255.255.255 UH 0 ppp0
192.254.0.0 0.0.0.0 255.255.255.0 U 600 wlan0
# 可以看到多了一条记录 ppp0
# 这时如果访问公网查看 ip, 可以查看结果是 wlan0网卡的公网 ip, 因为路由表也是配置的 默认路由/未知目标 从 wlan0 访问.
$ curl ip.haschek.at
62.100.223.114
# 如果想使用网卡上网, 解决办法如下
$ route del -net 0.0.0.0 wlan0
$ route add -net 0.0.0.0 ppp0
# 什么意思呢, 修改默认路由, 使用 ppp0 访问未知目标.
# 测试本地局域网是否正常
# ping 192.168.44.49
 

本文参考链接:

https://blog.csdn.net/u012731379/article/details/78732774

 

你可能感兴趣的:(linux)