内容简介:树莓派3G无线网卡拨号上网
树莓派对常见型号的无线上网卡支持非常完善,基本可以做到即插即用,这里我使用的3G模块为SIM5218,支持WCDMA/GSM,即联通2G/3G,移动2G,测试卡为中国联通SIM卡。
内核打印信息中3G模块自动识别,能看到 ttyUSB0-4
即说明驱动加载成功
pi@raspberrypi:~ $ lsusb
Bus 001 Device 005: ID 05c6:9000 Qualcomm, Inc. SIMCom SIM5218 modem
pi@raspberrypi:~ $ dmesg
[ 19.612188] usbcore: registered new interface driver usbserial
[ 19.612317] usbcore: registered new interface driver usbserial_generic
[ 19.612439] usbserial: USB Serial support registered for generic
[ 19.722022] usbcore: registered new interface driver option
[ 19.722206] usbserial: USB Serial support registered for GSM modem (1-port)
[ 19.723265] option 1-1.4:1.0: GSM modem (1-port) converter detected
[ 20.077635] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
[ 20.136701] usbcore: registered new interface driver cdc_wdm
[ 20.145665] usb 1-1.4: GSM modem (1-port) converter now attached to ttyUSB0
[ 20.146191] option 1-1.4:1.1: GSM modem (1-port) converter detected
[ 20.188948] usb 1-1.4: GSM modem (1-port) converter now attached to ttyUSB1
[ 20.191974] option 1-1.4:1.2: GSM modem (1-port) converter detected
[ 20.248902] usb 1-1.4: GSM modem (1-port) converter now attached to ttyUSB2
[ 20.250694] option 1-1.4:1.3: GSM modem (1-port) converter detected
[ 20.288505] usb 1-1.4: GSM modem (1-port) converter now attached to ttyUSB3
[ 20.289022] option 1-1.4:1.4: GSM modem (1-port) converter detected
[ 20.300976] usb 1-1.4: GSM modem (1-port) converter now attached to ttyUSB4
[ 20.336944] usbcore: registered new interface driver qmi_wwan
pi@raspberrypi:~ $ ls /dev/ttyUSB*
/dev/ttyUSB0 /dev/ttyUSB1 /dev/ttyUSB2 /dev/ttyUSB3 /dev/ttyUSB4
接下来确定操作的串口,这就需要一个一个的去尝试,寻找对每个 AT
命令都能正常返回的串口,如果后面遇到串口卡死不能用的情况,建议换个串口试试,例如在后面执行 pppd
拨号过程中, ttyUSB2
一旦拨号便无法继续使用,必须重新插拔才能回复正常,而 ttyUSB3
就很正常
至于为什么要生成这么多 USB
串口,我想是多个进程访问串口的需要,一旦 ppp
拨号成功,其他进程便无法 /dev/ttyUSB3
的资源,这时还想获取信息必须使用 /dev/ttyUSB2
拨号
ppp
编译安装ppp
wget https://download.samba.org/pub/ppp/ppp-2.4.5.tar.gz tar zxvf ppp-2.4.5.tar.gz cd ppp-2.4.5/ ./configure --prefix=/usr/local/ppp make && make install sudo ln -s /usr/sbin/pppd -> /usr/local/ppp/sbin/pppd sudo ln -s /usr/sbin/chat -> /usr/local/ppp/sbin/chat
新建配置文件
sudo mkdir -p /etc/ppp/peer sudo touch /etc/ppp/options
$ cat /etc/ppp/peers/wcdma #set debug ,send message to /var/log/messages debug #To keep pppd on the terminal nodetach lock #set seriral /dev/ttyUSB3 # set baudrate 115200 user "card" password "card" # set flowdate crtscts show-password usepeerdns noauth noipdefault novj novjccomp noccp # Accept the peer's idea of our local IP address ipcp-accept-local # ipcp-accept-remote ipcp-accept-remote connect '/usr/sbin/chat -s -v -f /etc/ppp/peers/wcdma-chat-connect' disconnect '/usr/sbin/chat -s -v -f /etc/ppp/peers/wcdma-chat-disconnect'
设置拨号脚本
$ cat /etc/ppp/peers/wcdma-chat-connect ABORT 'NO CARRIER' ABORT 'ERROR' ABORT 'NO DIALTONE' ABORT 'BUSY' ABORT 'NO ANSWER' '' \rAT OK \rATZ #这里3gnet是联通3g的接入点 OK \rAT+CGDCONT=1,"IP","3gnet",,0,0 #前坑高能 ATDT拨号命令在不同的模块可能有差异 一定注意看手册 OK-AT-OK ATDT*99# CONNECT \d\c
拨号错误处理
$ cat /etc/ppp/peers/wcdma-chat-disconnect ABORT "ERROR" ABORT "NO DIALTONE" SAY "\nSending break to the modem\n" '' "\K" '' "+++ATH" SAY "\nGoodbay\n"
拨号上网
$ sudo pppd call wcdma
abort on (NO CARRIER)
abort on (ERROR)
abort on (NO DIALTONE)
abort on (BUSY)
abort on (NO ANSWER)
send (^MAT^M)
expect (OK)
AAT^M^M
OK
-- got it
send (^MATZ^M)
expect (OK)
^M
ATZ^M^M
OK
-- got it
send (^MAT+CGDCONT=1,"IP","3gnet",,0,0^M)
expect (OK)
^M
AT+CGDCONT=1,"IP","3gnet",,0,0^M^M
OK
-- got it
send (ATDT*99#^M)
expect (CONNECT)
^M
ATDT*99#^M^M
CONNECT
-- got it
send (\d)
Serial connection established.
Using interface ppp0
Connect: ppp0 <--> /dev/ttyUSB3
CHAP authentication succeeded
CHAP authentication succeeded
Could not determine remote IP address: defaulting to 10.64.64.64
local IP address 10.140.231.235
remote IP address 10.64.64.64
primary DNS address 218.104.111.114
secondary DNS address 218.104.111.122
分配完IP地址的各种配置即拨号成功,也自动添加了 ppp0
接口
pi@raspberrypi:~ $ ifconfig ppp
ppp0 Link encap:Point-to-Point Protocol
inet addr:10.140.231.235 P-t-P:10.64.64.64 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:5 errors:0 dropped:0 overruns:0 frame:0
TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:55 (55.0 B) TX bytes:80 (80.0 B)
拨号拿到的 DNS
只是在 /etc/ppp/resolv.conf
,必须链接到全局 DNS
才能域名访问
pi@raspberrypi:~ $sudo mv /etc/resolv.conf /etc/resolv.conf.bak
pi@raspberrypi:~ $sudo ln -s /etc/ppp/resolv.conf /etc/resolv.conf
pi@raspberrypi:~ $ cat /etc/resolv.conf
nameserver 218.106.127.114
nameserver 218.104.111.122
另外路由配置也要更改,调整树莓派的默认网关为 ppp
连接的另一端地址
pi@raspberrypi:~ $ sudo route add default gw 10.64.64.64
pi@raspberrypi:~ $ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.64.64.64 0.0.0.0 UG 0 0 0 ppp0
0.0.0.0 192.168.0.1 0.0.0.0 UG 202 0 0 eth0
0.0.0.0 192.168.0.1 0.0.0.0 UG 303 0 0 wlan0
10.64.64.64 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
192.168.0.0 0.0.0.0 255.255.255.0 U 202 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 303 0 0 wlan0
测试
查看公网IP
pi@raspberrypi:~ $ curl cip.cc IP : 113.57.250.187 地址 : 中国 湖北省 武汉市 运营商 : 联通 数据二 : 湖北省武汉市 | 联通 URL : http://www.cip.cc/113.57.250.187
ping测试
pi@raspberrypi:~ $ ping sfantree.com -c 4 PING sfantree.com (123.56.22.253) 56(84) bytes of data. 64 bytes from 123.56.22.253: icmp_seq=1 ttl=50 time=108 ms 64 bytes from 123.56.22.253: icmp_seq=2 ttl=50 time=97.1 ms 64 bytes from 123.56.22.253: icmp_seq=3 ttl=50 time=105 ms 64 bytes from 123.56.22.253: icmp_seq=4 ttl=50 time=144 ms --- sfantree.com ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3003ms rtt min/avg/max/mdev = 97.181/114.013/144.633/18.166 ms
路由跟踪
pi@raspberrypi:~ $ traceroute sfantree.com traceroute to sfantree.com (123.56.22.253), 30 hops max, 60 byte packets 1 * * * 2 * * * 3 211.91.153.5 (211.91.153.5) 135.674 ms 135.721 ms 135.593 ms 4 211.91.152.102 (211.91.152.102) 135.521 ms 113.57.249.186 (113.57.249.186) 134.105 ms 211.91.152.138 (211.91.152.138) 143.938 ms 5 211.91.152.209 (211.91.152.209) 153.055 ms 163.428 ms 153.207 ms 6 * * * 7 124.65.194.18 (124.65.194.18) 67.194 ms 124.65.194.22 (124.65.194.22) 76.475 ms 124.65.194.30 (124.65.194.30) 86.204 ms 8 * * * 9 61.49.137.14 (61.49.137.14) 79.101 ms 79.579 ms 89.555 ms 10 123.56.34.22 (123.56.34.22) 148.611 ms 123.56.34.6 (123.56.34.6) 129.153 ms 123.56.34.22 (123.56.34.22) 89.278 ms 11 * * * 12 * * 123.56.34.66 (123.56.34.66) 715.710 ms 13 * * * 14 123.56.22.253 (123.56.22.253) 816.901 ms 815.764 ms 817.479 ms
ssh
学校网今天断网了,正好利用树莓派连上云主机更新博客,你能看到这篇文章就说明ssh测试成功…
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- [树莓派]树莓派的入门教程
- 「玩转树莓派」树莓派 3B+ 安装 OpenCv
- 「玩转树莓派」树莓派 3B+ 查询本机IP
- 「玩转树莓派」树莓派 3B+ 配置静态IP
- 「玩转树莓派」树莓派 3B+ 配置无线WiFi
- 云中树莓派(3):通过 AWS IoT 控制树莓派上的 Led
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
ActionScript 3.0 Cookbook
Joey Lott、Darron Schall、Keith Peters / Adobe Dev Library / 2006-10-11 / GBP 28.50
Well before Ajax and Microsoft's Windows Presentation Foundation hit the scene, Macromedia offered the first method for building web pages with the responsiveness and functionality of desktop programs......一起来看看 《ActionScript 3.0 Cookbook》 这本书的介绍吧!
随机密码生成器
多种字符组合密码
RGB HSV 转换
RGB HSV 互转工具