樹莓派玩轉3g模塊

樹莓派3g模塊

樹莓派對大部分模塊都有自動的驅動支持基本上都可以做到即插即用,網上有很多方法可以實現3g模塊上網,比如使用可以自動撥號並且斷線重連的軟件pppd、umtskeeper與sakis3g。在這裏我們將用到以下幾個軟件

1.在linux上,3G網卡上電會被檢測爲storge設備,而要用它撥號上網,就需要把網卡從storge設備轉爲modem設備,怎麼轉化呢?linux下有個軟件叫usb_modeswitch,這是需要安裝的第1個軟件。
2.爲了簡化pppd的撥號流程(傳統方式要編寫好幾個腳本,調用幾次pppd的命令),需要一個wvdial的軟件,它將pppd的撥號流程簡化爲一個配置腳本,寫好腳本,運行wvdial,它會先完成和modem的AT命令交互,待交互完成後,再調用pppd,完成撥號上網。這是需要安裝的第2個軟件(裏面自行安裝好了pppd)。所以我們不需要再次安裝pppd。

接下來進入操作過程:

插入3g模塊,這裏我是使用的華爲3g e620的模塊

查看3g模塊信息

pi@nameserver114:~$ lsusb
Bus 001 Device 004: ID 12d1:1001 Huawei Technologies Co., Ltd. E169/E620/E800 HSDPA Modem
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp. LAN9500 Ethernet 10/100 Adapter / SMSC9512/9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
安裝必要軟件
sudo apt-get install usb-modeswitch usb-modeswitch-data 
sudo apt-get install wvdial 
基本準備工作已經完成,接下來usb-modeswitch默認配置文件

在配置文件之前我們需要查找本華爲模塊版本的轉換信息

以下目錄中有一個壓縮包,並解壓它

configPack.tar.gz
tar -xzvf /usr/share/usb_modeswitch/configPack.tar.gz

pi@nameserver114:~$ cd /usr/share/usb_modeswitch/
pi@nameserver114:/usr/share/usb_modeswitch$ ls
03f0:002a                   0af0:d057         198a:0003
0408:f000                   0af0:d058         198f:bccd
0421:060c                   0af0:d155         19d2:0003
0421:0610                   0af0:d157         19d2:0013
0421:061d                   0af0:d255         19d2:0026
0421:0622                   0af0:d257         19d2:0031
0421:0627                   0af0:d357         19d2:0040
0421:062c                   0b3c:c700         19d2:0053
0421:0632                   0b3c:f000         19d2:0083
0421:0637                   0cf3:20ff         19d2:0083:uPr=WCDMA
0471:1210:uMa=Philips       0d46:45a1         19d2:0101
0471:1210:uMa=Wisue         0d46:45a5         19d2:0103
0471:1237                   0df7:0800         19d2:0110
0482:024d                   0e8d:0002:uPr=MT  19d2:0115
04bb:bccd                   0e8d:7109         19d2:0120
04e8:680c                   0fce:d0cf         19d2:0146
04e8:689a                   0fce:d0e1         19d2:0149
04e8:f000:sMo=U209          0fce:d103         19d2:0154
057c:84ff                   0fd1:1000         19d2:0166
05c6:1000:sVe=GT            1004:1000         19d2:0169
05c6:1000:sVe=Option        1004:607f         19d2:0325
05c6:1000:uMa=AnyDATA       1004:613a         19d2:1001
05c6:1000:uMa=CELOT         1004:613f         19d2:1007
05c6:1000:uMa=DGT           1004:614e         19d2:1009
05c6:1000:uMa=Option        1004:6156         19d2:1013
05c6:1000:uMa=SAMSUNG       1004:6190         19d2:1017
05c6:1000:uMa=SSE           1004:61aa         19d2:1171
05c6:1000:uMa=StrongRising  1004:61dd         19d2:1175
05c6:1000:uMa=Vertex        1004:61e7         19d2:1179
05c6:2000                   1004:61eb         19d2:1201
05c6:2001                   1004:6327         19d2:1216
05c6:6503                   1033:0035         19d2:1224
05c6:f000                   106c:3b03         19d2:1514
05c7:1000                   106c:3b05         19d2:1517
072f:100d                   106c:3b06         19d2:1520
07d1:a800                   106c:3b14         19d2:1523
07d1:a804                   1076:7f40         19d2:1542
0922:1001                   109b:f009         19d2:2000
0930:0d46                   1199:0fff         19d2:bccd
0ace:2011                   1266:1000         19d2:ffde
0ace:20ff                   12d1:1001         19d2:ffe6
0af0:4007                   12d1:1003         19d2:fff5
0af0:6711                   12d1:1009         19d2:fff6
0af0:6731                   12d1:101e         1a8d:1000
0af0:6751                   12d1:1030         1a8d:2000
0af0:6771                   12d1:1031         1ab7:5700
0af0:6791                   12d1:1414         1b7d:0700
0af0:6811                   12d1:1446         1bbb:000f
0af0:6911                   12d1:1449         1bbb:00ca
0af0:6951                   12d1:14ad         1bbb:f000
0af0:6971                   12d1:14b5         1bbb:f017
0af0:7011                   12d1:14b7         1bbb:f052
0af0:7031                   12d1:14ba         1c9e:1001
0af0:7051                   12d1:14c1         1c9e:6061
0af0:7071                   12d1:14c3         1c9e:9200
0af0:7111                   12d1:14c4         1c9e:9800
0af0:7211                   12d1:14c5         1c9e:98ff
0af0:7251                   12d1:14d1         1c9e:9e00
0af0:7271                   12d1:14fe         1c9e:f000
0af0:7301                   12d1:1505         1da5:f000
0af0:7311                   12d1:151a         1dd6:1000
0af0:7361                   12d1:1520         1de1:1101
0af0:7381                   12d1:1521         1e0e:f000
0af0:7401                   12d1:1523         1e89:f000
0af0:7501                   12d1:1526         1edf:6003
0af0:7601                   12d1:1553         1ee8:0009
0af0:7701                   12d1:1557         1ee8:0013
0af0:7706                   12d1:155b         1ee8:0040
0af0:7801                   12d1:1c0b         1ee8:004a
0af0:7901                   12d1:1c24         1ee8:0054
0af0:7a01                   12d1:1d50         1ee8:0060
0af0:7a05                   12d1:1da1         1f28:0021
0af0:8006                   12d1:1f01         1fac:0032
0af0:8200                   12d1:1f11         1fac:0130
0af0:8201                   12d1:380b         1fac:0150
0af0:8300                   1307:1169         1fac:0151
0af0:8302                   1410:5010         2001:a80b
0af0:8304                   1410:5020         201e:1023
0af0:8400                   1410:5030         201e:2009
0af0:8600                   1410:5031         2020:f00e
0af0:8700                   1410:5041         2077:f000
0af0:8800                   1410:5059         21f5:1000
0af0:8900                   1410:7001         22de:6803
0af0:9000                   148e:a000         22f4:0021
0af0:c031                   148f:2578         230d:0001
0af0:c100                   15eb:7153         230d:0007
0af0:d001                   16d8:6281         230d:0101
0af0:d013                   16d8:6803         2357:0200
0af0:d031                   16d8:6804         8888:6500
0af0:d033                   16d8:700a         configPack.tar.gz
0af0:d035                   16d8:700b
0af0:d055                   16d8:f000

找到12d1\:1001文件並打開它,以下就是它的轉換信息,我們可以直接複製粘貼到usb-modeswitch配置文件

sudo nano 12d1:1001
sudo nano /etc/usb-modeswtich.conf
# Huawei E169

TargetClass=0xff

HuaweiMode=1


將以上的信息複製到usb-modeswitch中

sudo  nano /etc/usb-modeswitch.conf

然後我們輸入轉換命令,指定配置文件並創建tty設備,具體用法看help
usb_modeswitch -W -c /etc/usb_modeswitch.conf -I

轉換成功之後,我們會在/dev看見多了幾個tty,接下來我們看那個tty能用

pi@nameserver114:/dev$ sudo wvdialconf
Editing `/etc/wvdial.conf'.

Scanning your serial ports for a modem.

ttyUSB0<*1>: ATQ0 V1 E1 -- OK
ttyUSB0<*1>: ATQ0 V1 E1 Z -- OK
ttyUSB0<*1>: ATQ0 V1 E1 S0=0 -- OK
ttyUSB0<*1>: ATQ0 V1 E1 S0=0 &C1 -- OK
ttyUSB0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK
ttyUSB0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
ttyUSB0<*1>: Modem Identifier: ATI -- Manufacturer: huawei
ttyUSB0<*1>: Speed 9600: AT -- OK
ttyUSB0<*1>: Max speed is 9600; that should be safe.
ttyUSB0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
ttyUSB1<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud
ttyUSB1<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 9600 baud
ttyUSB1<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up.
ttyUSB2<*1>: ATQ0 V1 E1 -- OK
ttyUSB2<*1>: ATQ0 V1 E1 Z -- OK
ttyUSB2<*1>: ATQ0 V1 E1 S0=0 -- OK
ttyUSB2<*1>: ATQ0 V1 E1 S0=0 &C1 -- OK
ttyUSB2<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK
ttyUSB2<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
ttyUSB2<*1>: Modem Identifier: ATI -- Manufacturer: huawei
ttyUSB2<*1>: Speed 9600: AT -- OK
ttyUSB2<*1>: Max speed is 9600; that should be safe.
ttyUSB2<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK

Found a modem on /dev/ttyUSB0.
Modem configuration written to /etc/wvdial.conf.
ttyUSB0<Info>: Speed 9600; init "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0"
ttyUSB2<Info>: Speed 9600; init "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0"

由圖可見,ttyUSB0可用,這個時候我們再進入wvdial配置文件,檢查是否選定ttyUSB0,並更改配置文件

sudo nano /etc/wvdial.conf

[Dialer Defaults]
Auto DNS = on
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+CGDCONT=1,"IP","3GNET"
Modem Type = Analog Modem
ISDN = 0
New PPPD = yes
Phone = *99#
Modem = /dev/ttyUSB0
Username = any
Password = any
Baud = 9600

這裏我用的是移動卡,將phone、usrname、password設置爲移動3g相關的信息。另外的幾種情況,以下圖爲鑑
 

運營商(ISP)

APN

撥號號碼

帳號

密碼

中國聯通WCDMA

China Unicom

3GNET

*99#

中國電信CDMA2000

China Telecom

EVDO網絡

#777

[email protected]

vnet.mobi

1X網絡

#777

card (CARD)

cardCARD

中國移動 TD-SCDMA

China Mobile

CMNET

*98*1#

中國移動 GPRS

China Mobile

CMNET

*99***1#

 
設置完成之後我們直接執行撥號命令
pi@nameserver114:/$ sudo wvdial
--> WvDial: Internet dialer version 1.61
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
OK
--> Sending: AT+CGDCONT=1,"IP","3GNET"
AT+CGDCONT=1,"IP","3GNET"
OK
--> Modem initialized.
--> Sending: ATDT*99#
--> Waiting for carrier.

開始撥號,如果不出意外,將會撥號成功。
嘗試ping baidu,檢查是否已經聯網成功。

















發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章