Ubuntu 10.04 與 BandLuxe C270 使用筆記
我日前買了一張 BandLuxe C270 的 3G 行動網卡,以使用我的中華電信 3G 服務。 雖然那張行動網卡的規格上標明 Linux Kernel 2.6.27 以上即支援,但實際使用時,還是有些事情沒有說。
這張行動網卡提供了所謂「內建驅動程式」的功能。這表示它內建了一個 USB CDROM (光碟機),裡面儲放了它的驅動程式軟體。當你將它插入電腦的 USB 插座後,作業系統首先會把它當成一個 USB 光碟機。對 Windows XP/7 而言,當這張網卡被當成 USB 光碟機之後,作業系統會執行自動安裝程式(若你並未關閉此功能),安裝網卡內儲的驅動程式與連線軟體。接著,剛才安裝的連線軟體就會取消行動網卡的 USB 光碟功能,並啟用它的 3G 通訊功能。
但是上述動作在 Linux 系統中完全沒有意義。因為行動網卡內儲的驅動程式安裝軟體是 Windows 版,沒有 Linux 版。當你將行動網卡插入 USB 插座後,Linux 只會把它當成一個 USB 光碟機,就不會再繼續其他動作。就算你開啟那台光碟,裡面的軟體也不能在 Linux 下使用。
基本啟用途徑
Ubuntu 10.04 的 Linux kernel 版本是 2.6.32 ,已經支援 BandLuxe C270。 再確認是否安裝了 modemmanager 套件。 接著依下列指示啟用通訊功能。
那要如何才能真正啟用 BandLuxe C270 的 3G 功能呢?解決方式其實非常簡單,你只需要退出它的 USB 光碟,Linux 接下來就會啟動它的 3G 通訊功能(以及附帶的 SD 讀卡機功能)。這個方法適用各種 Linux 桌面版本(Linux Kernel 2.6.27以上),例如 Ubuntu 9.10 以上、Debain 6。大多數具有類似「內建驅動程式」功能的行動網卡,也可以這樣啟用。
例如,當 BandLuxe C270 插入電腦的 USB 插座後,你的 Ubuntu 10.04 桌面上就會出現一個名叫「BandLuxe C270」的光碟機。滑鼠指標移動到那個光碟機圖示上,按下滑鼠右鍵叫出選單,再按下「退出」項即可關閉它的 USB 光碟功能。稍等幾秒後,你的網路連線管理員(NetworkManager)就會偵測到 GSM 網路。
我的 Ubuntu 10.04 沒有啟用桌面圖示功能,所以這個動作需要透過指令列達成。 操作步驟如下列:
-
首先查看我的 3G 行動網卡的光碟標籤名稱。輸入指令:
ls /dev/disk/by-label
。 我會看到一個名稱叫 BandLuxe\x20C270 的設備,那就是我的目標了。 不同型號的 3G 行動網卡的光碟標籤名稱不一樣。若你用別款 3G 行動網卡,請按此步驟查看你的網卡的光碟標籤名稱。這個名稱是固定不變,所以只要查看一次,然後記下來。 -
第二步就是用指令 eject 退出那台光碟機。輸入指令:
sudo eject /dev/disk/by-label/BandLuxe\x20C270
。 - 退出之後,再等個兩、三秒,就會偵測到 GSM 網路了。詳細地說,Linux 核心會建立代表 3G 數據機的 /dev/ttyUSB0, /dev/ttyUSB1, /dev/ttyUSB2 這3個設備,以及一個代表 SD 讀卡機的 /dev/sd? 設備。
我寫成 shell script ,如下:
usb modeswitch
usb modeswitch 是一套偵測 USB 設備狀態,自動將 3G 行動網卡切換到 3G 通訊功能的軟體。在 Debian Sid 和 Ubuntu 10.04 以上的版本皆提供套件,相關套件是: usb-modeswitch 和 usb-modeswitch-data。如果你的行動網卡在它的支援清單之中,你只要安裝了這兩個套件,你就不需要做前一節所述的啟用工作。
然而 Ubuntu 10.04 提供的 usb-modeswitch 太舊,並不支援 BandLuxe C270 。根據我的測試,usb-modeswitch 的主程式需要 1.1.7 版以上,才可支援 BandLuxe C270 設定。Ubuntu 10.10 以上提供的 usb-modeswitch 就支援 BandLuxe C270。複製新版 usb-modeswitch-data 內的 BandLuxe C270 組態內容給舊版 usb-modeswitch 使用,並不能運作。
如果你必須要在 Ubuntu 10.04 上使用 usb-modeswitch ,你要從 usb-modeswitch 公式網站下載兩個源碼壓縮文件,自行編譯安裝。
- usb-modeswitch 公式網站: Draisberghof - USB_ModeSwitch。
- 為了編譯 usb-modeswitch 主程式,你需要安裝套件 libusb-dev 。
- 下載 usb-modeswitch-1.?.?.tar.bz2 與 usb-modeswitch-data-????.tar.bz2 這兩個壓縮文件。
- 解壓上列兩個壓縮文件,先進入 usb-modeswitch 的目錄,執行
sudo make install
。再進入 usb-modeswitch-data 的目錄,一樣執行sudo make install
。若兩個工作編譯無誤,就會完成安裝動作。 - 現在你的 usb-modeswitch 已經可以工作了。不用重新啟動系統,現在直接插上 BandLuxe C270,看看網路連線管理員是否可成功偵測 GSM 網路。
網路連線管理員的連線設定
當你插上 3G 行動網卡,並選擇上述其中一個方法啟用其通訊功能後,Ubuntu 桌面應該會彈出一個「偵測到行動寬頻(GSM)設備」的訊息框,這表示網路連線管理員已經看到這個 3G 行動網卡了。
如果你沒有看到這個訊息框,但確定作業系統已經成功將 3G 行動網卡切換到通訊功能,那麼可能是你沒有安裝 modemmanager 套件。請安裝此套件,例如執行: sudo apt-get install modemmanager
。此套件是預設安裝項目,通常不必自己動手裝。但我曾經在我的某一台電腦上,碰到 modemmanager 未安裝的情形。一開始未注意到這件事,只知道 3G 網卡明明按照前面的步驟啟用通訊功能了,但網路連線管理員就是找不到這個設備。直到我將 modemmanager 套件安裝上去後才搞定。
若你是第一次插上 3G 行動網卡,網路連線管理員會出現一個「新的行動寬頻(GSM)連線...」的選項,供使用者啟動設定精靈。滑鼠左鍵點擊工作列上的「網路連線管理員」圖示,浮出選單中應出現「新的行動寬頻(GSM)連線...」項目。 選擇該項目,開始新增你的 3G 帳號。
下一步可選擇服務地區。台灣地區目前知道的服務提供者是: Chunghwa Telecom (中華電信)、Far EasTone (遠傳)、TW Mobile (台灣大哥大)、Vibo Telecom (威寶)。
我是中華電信 3G 上網吃到飽用戶,所以我選 Chunghwa Telecom ,資費方案(APN)要選 internet。 不過這個設定精靈只做了半套工,當你結束設定精靈後,還要再繼續編輯連線內容,才能輸入你的 3G 門號與密碼。
以滑鼠右鍵點擊工作列上的「網路連線管理員」圖示,選擇「編輯連線」項目,再切換到「行動寬頻」頁面,選擇剛剛新增的連線項目,然後編輯它。
下圖是編輯畫面。通常只需要編輯第一頁的內容。號碼不變。使用者名稱填入你的 3G 門號(09xx的門號)。密碼可填可不填,此處不填的話,連線時會再問你。存取點名稱(APN)依你的服務商提供的名稱,我當然是維持internet不變。個人識別號碼(PIN),中華電信預設是 0000 。
設定完成後,你就可以透過網路連線管理員開啟或關閉 3G 連線了。
Windows XP 題外話
話說我這張 3G 網卡安裝時,一開始在 Windows XP 上一直無法連線。反而先從 Ubuntu 10.04 上連線成功。在 Google 查了半天,也看不出 Windows XP 的驅動程式有問題。後來注意到 3G 行動網卡連線時是當成一台數據機(Modem),我才突然想到我的 Windows XP 無法連線的原因。因為我已經很久都沒用 Modem 撥接上網,所以我很久以前就把 Windows XP 的 Telephony 服務關閉了。既然 Telephony 關閉了,就不能啟用數據撥接功能,所以 BandLuxe 的連線軟體就沒有反應了。
它的驅動程式自動安裝軟體,怎麼沒有想到檢查 Telephony 服務是否開啟了啊。搞得我差點不想在 Windows XP 上使用 3G 上網。
樂多舊回應