使用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驅動安裝程序。