Raspberry Pi 使用 4G LTE 行動寬頻上網

介紹在樹莓派上使用4G LTE USB Dongle建立網路連線,在樹莓派上安裝必要的軟體和設定網路參數,均有詳細的設置過程,包含作者踩過的雷╮(╯_╰)╭

台灣有高密度的行動網路,讓樹梅派和智能手機一樣透過插入SIM卡,透過電信業者(例如:遠傳電信)來達成行動上網,並在上面運行Python,樹梅派趴趴走玩出各式各樣的花火,透過上面的感測器回傳數據、控制GPIO,遠端遙控拍照和錄影,然後衍生各種邪惡專題,追蹤器、竊聽、遠端偷拍 (誤~ 請各位要用在正途阿!

事情沒這麼簡單,樹梅派和智能手機的應用場景不同,手機是使用者直接操作,樹梅派常用SSH間接操作,透過電信業者行動上網,使用者和樹梅派之間隔著網際網路,但樹梅派弄不到Public IP,就必須費一番操作搞個中繼站伺服器,透過 SSH Tunnel、VPN之類的其他方法,之後再寫其他文章。

首先,跟著設定將你的樹梅派(Raspberry Pi)透過4G LTE USB Dongle 行動上網吧!

準備

  • 樹梅派(本篇用Raspberry Pi Zero) + Micro SD
  • 4G LTE USB 行動網卡(本篇用D-Link DWM-222)
  • 已開通的SIM卡
  • USB2.0 Micro-B/公 轉 USB Type-A/
  • Mini-HDMI to HDMI 轉接頭
  • [選用] USB2.0 Hub


由於 Raspberry Pi Zero 只提供一個 USB2.0 Micro-B接口, 周邊裝置的轉接配件得考慮進去,我預計先用USB有線鍵盤設定樹梅派連上藍芽鍵盤,可以不使用USB2.0 Hub,之後4G LTE USB 行動網卡會占用唯一的USB接口(參考下圖)。

4G LTE USB 行動網卡是本篇的重點,又名4G LTE USB DongleUSB ModeSwitch,如果你要google查資料先記下這些詞。


*在你購買行動網卡要注意Raspberry Pi 驅動支援,建議找有人已經嘗試過的,其他參考舊裝置列表。再來就是電信業者工作頻段,我推薦D-Link DWM-222Huawei E3372 在台灣是全頻的。

*基礎設定先參考的Raspberry Pi 作業系統安裝和佈署環境設定安裝好OS、遠端連入Raspberry Pi:使用SSH及VNC—被控端設定打開SSH,然後接上USB行動網卡…

開工囉!


▼圖 Raspberry Pi Zero 組裝圖


一、檢查

插入4G LTE USB 行動網卡後等10秒,輸入以下指令:

lsusb
#顯示本機USB裝置列表


▼圖 輸出結果參考,出現 D-LinkCorp.字樣,代表行動網卡被正確識別



用下面命令查詢USB設備接口

dmesg | grep ttyUSB*
#查看USB設備接口


▼圖 查詢USB設備接口結果,詭異的是我只接了一個4G LTE USB 行動網卡,跳了4個出來



改用ls 命令去查詢,結果一樣。

ls /dev/ttyUSB*


▼圖 用ls命令查詢也一樣


雖然有點奇怪,插一個USB裝置跳了4個出來,IT 技術家也碰到一樣的問題,我無法理解,不過不用擔心,不影響接下來的操作。



二、安裝

請使用下面命令安裝 電信撥接套件ppp和設定輔助工具pppconfig

sudo apt-get update
sudo apt-get install ppp pppconfig
#安裝電信撥接和設定輔助套件


▼圖 安裝套件的結果




三、4G LTE聯網設定

執行下面命令,pppconfig會帶我們一步步完成設定行動上網的相關參數,按圖施工。

sudo pppconfig
#設定4G行動上網參數



▼圖 建一個新連線【Create a connection】



▼圖 連線名稱可以自訂,請儘量簡短




▼圖 選【Dynamic】 使用 ISP預設的DNS Server




▼圖 選【PAP】用 Peer Authentication Protocol 驗證協定




▼圖 通常不用改,OK下一步




▼圖 通常不用改,OK下一步




▼圖 通常不用改,維持預設值11520,OK下一步



▼圖 維持預設【Tone】




▼圖 輸入【*99#】設定撥接號碼,這組是台灣之星(已被台灣大哥大買走),讀者可以參考輸入,如果不通要請洽你的ISP業者




▼圖 問你要不要自動默認serial port,選【No】等等手動輸入




▼圖 輸入/dev/ttyUSB1




▼圖 設定完成選【Finshed】回到主選單




▼圖 設定完成了,它告訴你設定檔的目錄,按OK後請退出程式。

走到這一步已經完工了!


接下來,打開nano編輯器進行些許微調~

sudo nano /etc/ppp/peers/4G

在下方加入

persist
replacedefaultroute


▼圖 如下圖

關閉wifi

如果接固網請將網線拔除,如果用wifi連線,請執行以下命令關閉wifi。

nmcli radio wifi off
#關閉wifi



行動寬頻聯網測試

使用 pon指令呼叫 pppd執行撥號

sudo pon 4G
#[連線]pppd執行撥號連線
sudo poff -a
#[斷線]切掉全部pppd



查看連線結果,用ifconfig查詢網路介面,連線成功會多一個ppp0

ifconfig -a
#查詢網路介面



注意:這裡碰到一個問題,當一開機時首次使用pon指令連線,無法正常連網,ppp0不會出現,但也不會跳出任何錯誤;使用poff掛斷後二次pon連線就正常聯網,用其他不同型號的樹梅派交叉測試也碰到,我不知道原因,但問題不大,最多寫個腳本就可以解決。

▼圖 查詢網路介面多一個ppp0



▼圖 連線成功後4G LTE USB 行動網卡的燈號會呈現閃爍



測試連線,去ifconfig.co查查取得的外網IP,順便去ping一下google的DNS

curl ifconfig.co
#查詢外網IP
 
ping 8.8.8.8
#發送ICMP封包給google DNS



▼圖 正常連線

如果你的樹梅派是有圖形介面的,嘗試打開瀏覽器去逛一逛網頁,享受一下成就感!



後記

1.標準切斷特定撥號連線應該用

sudo poff 4G

至於使用poff -a的原因,一方面是懶惰,另一方把重複執行的pppd切掉乾淨俐落。


2.撥號上網也可以用以下指令,其效果一樣~

sudo pppd call 4G


3.目前樹莓派使用NetworkManager去管理WiFi,若你上網Google查關閉wifi的方法,會出現以下命令:

sudo ifconfig wlan0 down
 
sudo rfkill block wifi



或暴力的砍掉執行續:

sudo killall wpa_supplicant

就算你用關閉 wpa_supplicant服務:

sudo systemctl disable wpa_supplicant

雖然設定要求wpa_supplicant在開機時不被執行,但NetworkManager依然會把wpa_supplicant叫醒,結果依然是啟動狀態,還是會自動連上WiFi。


除非你用更暴力的要求屏蔽服務:

sudo systemctl mask wpa_supplicant

這樣 wpa_supplicant 重開後不會來吵你了, WiFi也就不會連線。

4.下面兩個命令在wifi已停止使用,只會跳出「unknown interfaces wlan0」

sudo ifdown wlan0
#停用 wlan0 網卡
 
sudo ifup wlan0
#啟用 wlan0 網卡



5.標準的wifi管理建議用NetworkManager,這是Raspberry Pi OS 預設的網路管理工具,指令包含 nmcli (文字命令)和 nmtui (用戶界面)。



參考資料

[1] Brovi E3372 (manufactured by Huawei)

[2] Linux 下用 screen 連接 Serial Port(RS232)

[3] Ubuntu关于串口的操作(查看串口信息、串口助手、串口权限)

[4] pppoe 撥號連線

[5] PPPoe – by rp-pppoe (clinet)

[6] Troubleshooting: Inability to See Wlan0 on Ifconfig and Failed Attempt to Access It through ‘Sudo Ifconfig Wlan0’

[7] NetworkManager.conf

[8] 【教學/基礎】命令列設定無線網路 <-裡面有停止使用的wifi命令

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *