一、预备知识
手机上网(GPRS/EDGE/UMTS/HSDPA)
手机上网的一个重要参数是接入点(APN),移动的接入点分为cmnet和cmwap,cmnet可以直接访问网络,cmwap则需要通过WAP网关来访问网络,这里网关可以理解为代理服务器。目前,中国移动的WAP网关地址为10.0.0.172,对外提供HTTP代理协议(80和8080端口)和WAP网关协议(9201端口)。类似,联通的接入点对应的是uninet和uniwap,且联通的网络兼容移动的接入点。
一般cmwap用于手机,cmnet则用于PC。但有一些移动卡是cmwap封顶,但cmnet按流量计费,这时PC也可以通过cmwap上网,但要设置应用程序的网关,例如将浏览器的代理服务器设为10.0.0.172:80。
我们一般管手机上网叫GPRS上网,实际移动的EDGE网络也已经覆盖很好了,使用起来并没有很大区别,设置方法基本相同,将来3G上网也一样,主要看网络和终端设备的支持情况。从2G到3G,上网速度越来越快,介于中间的就叫2.5G。GPRS是2.5G、EDGE是2.75G、UMTS叫3G、HSDPA就叫3.5G。
小灵通上网
小灵通上网分为PIAFS方式和分组(Packet)方式,不同的速率和上网方式体现为拨号号码后缀不同:
32k PIAFS ##3
64k PIAFS ##4
32k Packet ##61
128k Packet ##64
如果接入号码是16900,采用128k分组方式上网,则接入码为16900##64。
小灵通上网方式一般是需要用户名和密码的,如果不清楚需要咨询提供服务的运营商。
二、华为E630
华为E630是一款PCMCIA上网卡,支持从GSM拨号到HSDPA,从2G到3.5G的无上网。Ubuntu 8.10对这个上网卡支持的已经很好了,插上后就可以识别硬件,但识别成了E620: 添加”移动宽带“连接: 选择运营商: 但如果选择,联通(China Unicom),向导并没有配置正确的APN,需要手工将APN设为uninet。因为联通的APN与移动兼容,也可以将运营商选成China Mobile。选择China Mobile时,APN默认为cmnet,cmwap封顶的千万别忘了修改。 确定保存以后,就可以随时连接”移动宽带“了(还很超前,可能只有3G网络才能算移动宽带): 但连接成功后,并没有替换局域网的默认网关,配置中也没有找到类似replacedefaultroute的选项,配置文件还不知道在哪里。但只要局域网连接中没有网关,或者停掉就可以使用无线上网了。如果是Ubuntu 8.10之前的版本,可以使用pppconfig、kppp或wvdial等进行配置和使用。
使用cmwap上网的,可能需要将浏览器的代理服务器设为10.0.0.172:80。
三、华为T618手机上网
华为T618是一款3G手机,在香港叫U626,支持GPRS和UMTS。我是使用USB线连在电脑上实现无线上网。原来这个手机只要使用usb线插入电脑后,/dev下就会出现ttyUSB0和ttyUSB1两个文件设备。但在一次修理后,这样不行了,估计是换了手机主板,ubuntu不能识别了。后来通过网上查找资料,找到了一种解决方法。
首先用lsusb命令验证手机是否被正确识别,并查找相关信息:
代码: 全选
# lsusb | grep Huawei
Bus 003 Device 003: ID 12d1:1204 Huawei Technologies Co., Ltd.
# lsusb -v -s 003:003
Bus 003 Device 003: ID 12d1:1204 Huawei Technologies Co., Ltd.
............
idVendor 0x12d1 Huawei Technologies Co., Ltd.
idProduct 0x1204
bcdDevice 0.00
iManufacturer 1 HUAWEI Technologies
iProduct 2 HUAWEI Mobile
iSerial 0
............
创建/etc/udev/rules.d/50-huawei-t618.rules文件
内容如下:
代码: 全选
SUBSYSTEM=="usb", SYSFS{idProduct}=="1204", SYSFS{idVendor}=="12d1", RUN+="/sbin/modprobe usbserial vendor=0x12d1 product=0x1204"
代码: 全选
# ls /dev/ttyU*
/dev/ttyUSB0 /dev/ttyUSB1
配置连接,图型界面的network-manager里并没有找到选择设备的选项,只好使用字符界面的pppconfig了。由于接入点配置在手机里面,所以也不涉及APN参数。就不贴图了,把选项列举一下:
代码: 全选
sudo pppconfig
(2)Provider Name:我用的是t618
(3)DNS:Dynamic,自动获得动态的DNS
(4)Authentication Method:CHAP
(5)Username和Password是不需要的
(6)Speed:如果是GPRS用115200就够了,EDGE就230400,UMTS就460800。HSDPA没用过,可能需要在后面再加一下0。
(7)Pulse or Tone:Tone
(8)Phone Number:*99#
(9)Choose Modem Config Method:否
(10)Manually Select Modem Port:/dev/ttyUSB0
(11)Finished Write files and return to main menu.
上网用:pon t618,下网用:poff就可以了。
还是存在不能替换默认网关的问题。如果想要自动成为默认网关,可以修改/etc/ppp/peers/t618,增加一行:
代码: 全选
replacedefaultroute
这也是一个PCMCIA卡。这个卡让我困惑了很长时间,因为插上后并没有出现ttyUSB0设备,lsusb也什么也没找到。其实只要看下dmesg:
代码: 全选
[ 763.480084] pccard: PCMCIA card inserted into slot 0
[ 763.483463] pcmcia: registering new device pcmcia0.0
[ 763.570883] 0.0: ttyS1 at I/O 0x2f8 (irq = 3) is a TI16750
再用pppconfig配置拨号连接就可以了。与前面说的GPRS上网类似,不同的主要是电话号码、设备名,一般需要一个公用的用户名和口令。
五、Ubuntu 可以直接识别的手机
Nokia 5610手机在Ubuntu 8.10直接就识别了。用network-manager直接配置就行了,参考“二”。
dmesg的信息如下:
代码: 全选
[ 198.800061] usb 3-2: new full speed USB device using uhci_hcd and address 3
[ 198.978126] usb 3-2: configuration #1 chosen from 1 choice
[ 200.463524] cdc_acm 3-2:1.1: ttyACM0: USB ACM device
[ 200.466265] usbcore: registered new interface driver cdc_acm
[ 200.467494] cdc_acm: v0.26:USB Abstract Control Model driver for USB modems and ISDN adapters
[ 200.595880] usbcore: registered new interface driver cdc_ether
[ 200.603561] usb 3-2: bad CDC descriptors
[ 200.604715] usbcore: registered new interface driver rndis_host
[ 200.645824] usb 3-2: bad CDC descriptors
[ 200.646787] usbcore: registered new interface driver rndis_wlan
LG HB620T是一款低端的WCDMA 3G手机,支持7.2M的HSDPA,在Ubuntu 9.04中直接驱动起来。(因为是在不同的时间测试,所以系统版本也在更新,不保证适应于其他版本)
六、在Ubuntu 9.04中使用Option GT Max无线网卡
补充于2009年4月5日,Ubuntu 9.04 (Jaunty)还是beta版。
Option Globetrotter GT Max是一款免驱的PCMCIA上网卡,支持HSDPA。所谓免驱,就是插入后首先识别为CDROM,里面是Win下的驱动,装完驱动后就识别为网卡。同样,Linux中也识别为CDROM,但毫无用处。
这次跟前面所用的方法不同,因为找到一个很好用的程序:Vodafone Mobile Connect Card driver
主页地址:https://forge.betavine.net/projects/vodafonemobilec/
需要安装两个软件包: usb-modeswitch和 vodafone-mobile-connect
但网站中提供的vodafone-mobile-connect还有些问题,我使用的是另一个版本:
(参考:http://www.betavine.net/bvportal/forums ... da5f883eff)
http://www.spheresystems.co.uk/vodafone ... 18_all.deb
而usb-modeswitch是官方版本: https://forge.betavine.net/frs/download ... 6_i386.deb
安装完两个软件包,再插入网卡就不识别为CD了。
运行: sudo vodafone-mobile-connect-card-driver-for-linux 就可以了。
现阶段,Ubuntu 9.04的network-manager还是不稳定,gprs经常拨不上去。但odafone-mobile-connect-card-driver-for-linux拨号却很容易。而且可以发短信(支持sim卡的通信录),流量统计功能也不错,还可以看到信号强度。该程序同样支持华为E630。
上个图: 七、在9.10中使用Option GT MAX (gx0201)
现在的版本是9.10b4,network manager可以直接支持gx0201。