使用3G上网卡无线上网
出自Linux Wiki
虽然3G上网卡名目繁多,但因其原理大致相似(USB拨号设备),在Linux中使用并不困难。本文所介绍的方法在“华为EC1261”和Archlinux上测试通过。
目录 |
简介
通过3G上网卡无线上网,一般需要进行少许配置,对于某些型号的3G上网卡(如华为EC1260等),也可在升级固件后直接使用固件中的Linux上网工具。下面分别介绍两种方案:
通用方法:自己配置
需要两大步骤:让系统识别3G上网设备为Modem、利用该设备拨号上网。[1]
让Linux正确识别3G上网设备
多数3G上网卡内嵌了Windows驱动,首次插入Windows时先作为U盘安装驱动,驱动则会把自己“变成”Modem。以后再插入时,之前安装的驱动会自动将其转换为USB Modem,以便拨号上网。[2]而Linux系统默认已经包含了多数3G上网卡的驱动,故只需设法让上网卡被识别为“Modem”,而非带有Windows驱动的U盘。
幸运的是,usb_modeswitch可以方便地帮我们实现这一步骤,它存在于一些发行版(如Archlinux)的软件仓库中,也可以从其网站上直接下载: http://www.draisberghof.de/usb_modeswitch/
对于多数型号的3G上网卡,安装后直接运行该程序即可:
# usb_modeswitch -W
程序运行成功的标志是在/dev中多出几个文件,如:/dev/ttyUSB0, /dev/ttyUSB1, /dev/ttyUSB2,此时第一步就完成了~如果未成功,应做如下操作:
添加设备到usb_modeswitch
如果已经看到了/dev/ttyUSB0等文件,请略过此步。插上3G上网卡,使用lsusb工具:
$ lsusb
在输出中找到3G上网卡对应的设备及ID号(如果看不出来,可将插与不插3G上网卡时lsusb的输出相比对):
Bus 003 Device 018: ID 12d1:1446 Huawei Technologies Co., Ltd. E1552 (HSPA modem)
之前失败的原因,多半是/etc/usb_modeswitch.d中没有与绿色部分同名的文件,可以从相似的文件名复制一个,将DefaultVendor和DefaultProduct改成上面冒号前后的内容。改好后再运行usb_modeswitch -W,lsusb的内容会改变,一般能看到Modem字样,这时usb_modeswitch配置就成功了。
拨号上网
使用3G上网卡拨号上网的方法有多种,如使用Network Manager、wvdial、kppp、gnome-ppp等软件都可实现。
Network Manager
如果是Linux桌面用户,这可能是最方便的方法了。为确保Network Manager识别出3G上网卡,有些发行版需要安装modemmanager软件,装好后重启Network Manager后台(或重启电脑)。设置成功后,在Network Manager编辑连接,新建一个“移动宽带”即可。(只要按提示选好接入商,拨号信息等都是设置好了的,直接连接就行了)
gnome-ppp
安装并直接运行gnome-ppp即可。如果gnome-ppp找不到Modem,可以试着以root身份运行gnome-ppp。拨的号码需要上网查一下,如电信是#777,用户名、密码都填“card”就行。
使用硬件厂商的Linux驱动
有些3G上网卡提供了Linux驱动,如华为的一些产品更新固件后就会出现Linux驱动[3]
华为的新固件可以在以下网址搜索得到: http://www.huaweidevice.com/cn/downloadCenter.do?method=list&flay=software&directoryId=20&treeId=0
如果是电信用户,可以使用电信提供的Linux客户端: http://cwclient.vnet.cn/cwclient/download.htm
经测试,该客户端对64位系统的支持有限(装好其依赖的32位库后也能运行),但可以由用户选择使用EVDO或1X上网。在Ubuntu 10.04中安装电信的客户端时,要先执行:
$ sudo mkdir /etc/acpi/suspend.d/
以免运行时出错。
升级固件后,3G上网卡会被系统识别为光驱,其中有Linux驱动安装程序。