Raspberry Pi 使用 4G 數據網路
購物清單
- Raspberry Pi
- SD Card with Linux installed
- Raspberry Pi 3G/4G-LTE Base HAT
- Quectel EC25 Mini PCle 4G/LTE Module
- LTE Main & Diversity & GNSS Triple Port u.FL Antenna
不想分開購買零件,可以購買 Sixfab 的 Raspberry Pi 4G/LTE套件
組裝
安裝 Mini PCIe 4G IoT Module 到 3G/4G-LTE Base HAT,感覺和以前在手提電腦上安裝記憶體差不多。
然後將 3G/4G-LTE Base HAT 裝上 Raspberry Pi。
完成之後大概這樣的感覺(圖片來源:@sixfab) 將天線也安裝上去,正確地完成安裝之後的樣子大概這樣
加上天線應該這樣個樣子吧(圖片來源:@torbox.ch)
最左邊和最右邊的兩個天線似乎是可以互換的,我安裝完成之後那些線是平行的。
安裝驅動
Sixfab 提供了兩種方法驅動 LTE 模組,一個是 PPP 一個是 QMI interface。這邊我用的是 PPP。
在 Raspberry Pi 的終端模擬器裡進行操作,下載 sixfab 的安裝腳本,然後跟著指引進行安裝就可以了。簡單方便快捷,感謝sixfab。
1 | $ wget https://raw.githubusercontent.com/sixfab/Sixfab_PPP_Installer/master/ppp_installer/install.sh |
有些選項可能比較曖昧,給個避坑指南
- Choose your Sixfab
- 因為買的是
3G, 4G/LTE Base Shield
所以只填2
- 就算之後連不上也肯定不是這裡填錯
- 因為買的是
- APN
- 問問谷歌、雅虎或者百度你這家電信商的基地台用什麼存取點名稱(APN),選一個填,不對之後再改
- 將你的 SIM 卡插入智能電話,看看設定裡行動網絡設定關於存取點名稱裡有什麼選項,選一個填,不對之後再改
- 之後修改的方法參見出坑指南
- PORT name
- 因為買的是
3G, 4G/LTE Base Shield
所以只填ttyUSB3
- 肯定是
ttyUSB3
,跟實際上你硬件上插哪個 USB 位置好像沒關係,可能是用的 GPIO?
- 因為買的是
沒能避開坑?出坑指南
我需要登入才能上網
如果你需要用戶名和密碼登入才能上網,完成前面的安裝和設定之後再編輯 /etc/ppp/peers/provider
檔案。
你要移除這一行
1 | noauth |
然後按照以下格式填入登錄資料
1 | user "YOUR USERNAME" |
遇到 Routing error 的錯誤
執行以下指令
1 | $ sudo route del default |
沒有網絡連接
誰也 ping 不到,網絡不通,或者無盡的連接超時
1 | $ ping 8.8.8.8 |
檢查你的移動數據是否需要先在手機上啟用
試試手動連接移動數據
1 | $ sudo pon |
你可能發現 Modem hang up 並且不論你做什麼都沒有什麼效果。
我已經坑過幾次了,基本上問題就是 APN 填錯了,或者舊的 APN 已經不能用了。於是我將 SIM 插入手機,看手機自動連上網絡的時候用的哪個 APN 再修改 /etc/ppp/peers/provider
文件
1 | $ sudo poff |
APN 在我 /etc/ppp/peers/provider
文件裡第三行的結尾。
逐一測試你所能找到的 APN,看看 sudo pon
能不能連上,應該其中一個能連上。至少我是成功了。
DONE
1 | $ ping 8.8.8.8 |