準備一個3G modem服務器
首先,你須要找一個2G或3G的USB modem。這個在淘寶上花200左右就能買到。我手邊用的是Huawei E1750 WCDMA的modem。網絡
通常modem會自帶Windows的撥號上網程序,用oFono就能夠在Linux下撥號上網了。ide
GPRS上網oop
1. 啓動ofonoui
sudo src/ofonod –nd ‘*’google
2. 把貓插入USB口,ofono會自動檢測到modem.net
ofonod[2667]: src/modem.c:ofono_modem_create() name: (null), type: huawei
ofonod[2667]: src/modem.c:set_modem_property() modem 0x9f82b40 property Path
ofonod[2667]: src/modem.c:set_modem_property() modem 0x9f82b40 property Registered
ofonod[2667]: plugins/udev.c:add_modem() /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2:1.0/ttyUSB0/tty/ttyUSB0 (huawei)
ofonod[2667]: plugins/udev.c:add_huawei() modem 0x9f82b40
ofonod[2667]: src/modem.c:get_modem_property() modem 0x9f82b40 property ModemRegistered
ofonod[2667]: src/modem.c:get_modem_property() modem 0x9f82b40 property PcuiRegistered
ofonod[2667]: src/modem.c:set_modem_property() modem 0x9f82b40 property Modem
ofonod[2667]: src/modem.c:set_modem_property() modem 0x9f82b40 property ModemRegistered
ofonod[2667]: src/modem.c:get_modem_property() modem 0x9f82b40 property Path
ofonod[2667]: plugins/udev.c:add_modem() /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2:1.1/ttyUSB1/tty/ttyUSB1 (huawei)
ofonod[2667]: plugins/udev.c:add_huawei() modem 0x9f82b40
ofonod[2667]: src/modem.c:get_modem_property() modem 0x9f82b40 property ModemRegistered
ofonod[2667]: src/modem.c:get_modem_property() modem 0x9f82b40 property PcuiRegistered
ofonod[2667]: src/modem.c:get_modem_property() modem 0x9f82b40 property Path
ofonod[2667]: plugins/udev.c:add_modem() /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2:1.2/ttyUSB2/tty/ttyUSB2 (huawei)
ofonod[2667]: plugins/udev.c:add_huawei() modem 0x9f82b40
ofonod[2667]: src/modem.c:get_modem_property() modem 0x9f82b40 property ModemRegistered
ofonod[2667]: src/modem.c:get_modem_property() modem 0x9f82b40 property PcuiRegistered
ofonod[2667]: src/modem.c:set_modem_property() modem 0x9f82b40 property Pcui
ofonod[2667]: src/modem.c:set_modem_property() modem 0x9f82b40 property PcuiRegistered
ofonod[2667]: plugins/huawei.c:huawei_probe() 0x9f82b40server
3. ofono/test/list-modemsdns
xxx@xxx:~/ofono/test$ ./list-modems
[ /huawei0 ]
Interfaces =
Powered = 0
Features =
Online = 0ip
4. ./enable-modem /huawei0; ./online-modem /huawei0。從oFono的console你能看到不少log,ofono會初始化modem的各個部分。接下來,讓咱們看看GPRS部分吧。
5. 你須要先建一個GPRS context, 並設置APN網關。由於我用的是聯通的SIM卡,APN是uninet,若是是移動的話,APN用cmnet或者cmwap。
xxx@xxx:~/ofono/test$ ./create-context uninet
Setting APN of /huawei0/context1 to uninet
6. ./list-contexts
xxx@xxx:~/ofono/test$ ./list-contexts
[ /huawei0 ]
[ /huawei0/context1 ]
Username =
Protocol = ip
Name = Internet
Settings = { }
Active = 0
AccessPointName = uninet
Password =
Type = internet
7. ./activate-context. 這是oFono console會有這樣的output:
ofonod[2830]: Modem:> AT+CGDCONT=1,"IP","uninet"/r
ofonod[2830]: Modem:< /r/nOK/r/n
ofonod[2830]: Modem:> AT+CGDATA="PPP",1/r
ofonod[2830]: Modem:< /r/nCONNECT/r/n
Entering new phase: 1
Entering new phase: 2
Entering new phase: 3
Received IPCP NAK
Setting suggested dns1
Setting suggested dns2
Setting suggested nbns1
Setting suggested nbns2
Received IPCP NAK
Setting suggested ip addr
Setting suggested dns1
Setting suggested dns2
Entering new phase: 4
8. ./list-contexts會顯示已經創建了ppp0 interface。配置好路由後就能夠上網了。
xxx@xxx:~/ofono/test$ ./list-contexts
[ /huawei0 ]
[ /huawei0/context1 ]
Username =
Protocol = ip
Name = Internet
Settings = { Interface=ppp0 Netmask=255.255.255.255 Method=static DomainNameServers=221.12.1.227,221.12.33.227, Address=172.18.172.196 }
Active = 1
AccessPointName = uninet
Password =
Type = internet
9. 編輯/etc/resolv.conf, 加入DNS服務器地址
nameserver 221.12.1.227
nameserver 221.12.33.227
10. 配置網絡
xxx@xxx:/home/xxx/ofono# sudo ifconfig ppp0 172.18.172.196 netmask 255.255.255.255
xxx@xxx:/home/xxx/ofono# sudo ifconfig ppp0 up
xxx@xxx:/home/xxx/ofono# sudo ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:872 errors:0 dropped:0 overruns:0 frame:0
TX packets:872 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:59538 (59.5 KB) TX bytes:59538 (59.5 KB)
ppp0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:172.18.172.196 P-t-P:172.18.172.196 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:2 errors:0 dropped:0 overruns:0 frame:0
TX packets:36 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:177 (177.0 B) TX bytes:2380 (2.3 KB)
xxx@xxx:/home/xxx/ofono# ping www.google.com
PING www-g-com-chn.l.google.com (66.249.89.104) 56(84) bytes of data.
64 bytes from nrt04s01-in-f104.1e100.net (66.249.89.104): icmp_seq=1 ttl=51 time=207 ms
64 bytes from nrt04s01-in-f104.1e100.net (66.249.89.104): icmp_seq=2 ttl=51 time=186 ms
^C
--- www-g-com-chn.l.google.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 186.073/196.811/207.549/10.738 ms
恭喜,你能夠經過3G卡上網了!;-)