Raspberry Pi 使用 4G LTE USB 免設定行動網卡(Huawei E3372h-607)上網之二

開箱 Raspberry Pi 使用免設定的 4G LTE USB 行動網卡(Huawei E3372h-607)連接網際網路。

並比之前自己的文章, D-Link DWM-222(傳統 Modem) VS Huawei E3372h-607(HiLink 型) 設定極其工作原理的差異。

既之前我的文章:Raspberry Pi 使用 4G LTE USB 行動網卡(D-Link DWM-222)上網之一,使用D-Link DWM-222 這支 USB LTE Modem屬於最傳統 Modem / PPP(Serial Modem)型,需要折騰撥號等不少設定,終於連上網路。

有沒有輕鬆點的解決方案?就是本次把玩的另一個USB LTE 網卡 Huawei E3372h-607,屬於 HiLink類型,真正的「免設定插上就能上網」。

一、插網卡

Step 1. SIM插入網卡



▼圖 Huawei E3372h-607和SIM卡(已開通)



Step 2. 網卡插上樹莓派


▼圖 Huawei E3372h-607 插上Raspberry Pi Zero

二、檢查

1. 測試網路是不是真的有通?

curl ifconfig.me
#查公開IP

▼圖 如果有跳出IP,代表網際網路有通



2. 輸入以下指令,檢查USB裝置:

lsusb
#顯示本機USB裝置列表

▼圖 會顯示 Huawei 和 E3372 這類裝置識別字

*也描述這裝置是 HiLink 型的LTE Modem



3. 使用以下指令檢查 USB虛擬序列埠,不會出現相關裝置:

ls /dev/ttyUSB*
dmesg | grep ttyUSB*

*不同於之前 D-Link DWM-222 那篇文,使用以上命令會出現ttyUSB0、ttyUSB1、ttyUSB2、ttyUSB3 相關字樣,同一個 USB 裝置裡暴露出的多個「虛擬序列埠」,屬於USB Composite Device。因為傳統 Modem 型網卡需要發送 AT 指令、傳輸 Modem資料(PPP / QMI / MBIM)、輸出定位資料(GPS / NMEA)、診斷…等,各自映射到不同的ttyUSB*。

*而本篇用的 Huawei E3372h-607 ,屬於 HiLink 型,LTE 裝置自行建立行動網路連線,Raspberry Pi 只當成一般網卡。


4.列出所有網路介面與位址

ip -c address show

▼圖 RPi多了一個網路端口eth,而且有IP:192.168.8.100。


*根據文獻[1][2] 說明,HiLink模式是一種以 RNDIS遠端網路驅動介面規範,讓網卡和RPi形成一個網域,E3327h-607本身(網關?)有一個IP:192.168.8.1,可以用瀏覽器打開http://192.168.8.1,能玩別的設定和收發SMS簡訊,但我的RPi Zero 是純文字介面,就先不玩這個。




三、比較分析

因為我和ChatGPT討論 D-Link DWM-222 和 Huawei E3372h-607 不同之處,沿用以前Hinet PPPoE 撥接的舊觀念,PC端管理稱「軟體撥接」,類似 DWM-222由RPi管理;若改用路由器端撥接稱「硬體撥接」,PC一插網線即可上網,類似 E3372h-607,但ChatGPT糾正我放 LTE Modem 並不正確。應該按下列分類:

  • DWM-222 → 傳統 Serial/PPP modem
  • E3372h-607 → HiLink/RNDIS router-in-a-stick

▼圖 簡易示意圖

USB LTE Modem
│
├── A. Serial Modem / PPP 型
│      └── Raspberry Pi 負責建立行動網路連線
│
└── B. HiLink / USB Ethernet 型
       └── LTE 裝置自己建立行動網路連線
          Raspberry Pi 只把它當網路卡



▼表 ChatGPT 比較 DWM-222(傳統 Modem) VS E3372h-607(HiLink 型)

D-Link DWM-222Huawei E3372h-607
類型傳統 ModemHiLink 型
Pi 看到的東西Modem / Serial PortUSB 網路卡
常見介面/dev/ttyUSB0 等eth1、usb0、enx... 等
撥號需要不需要 Pi 撥號
PPP通常需要不需要
APNPPP/ModemManager 設定網卡內部設定
DHCPPi 自己不直接從 LTE modem 撥號取得E3372 內建 DHCP
NATRaspberry Pi 可負責E3372 自己負責
管理介面AT command / ModemManager 等192.168.8.1 Web UI
插上 Pi 後還需要建立行動網路連線通常直接出現網路介面並取得 IP



2. DWM-222:Pi 把它當「數據機」


▼圖 架構圖如下:

Raspberry Pi
     │
     │ USB
     ▼
┌──────────────┐
│ DWM-222      │
│ LTE Modem    │
└──────────────┘
     │
     │ 行動網路
     ▼
   電信業者



▼圖 架構:

                 Raspberry Pi
                      │
                      │ USB
                      ▼
              ┌──────────────┐
              │   LTE Modem  │
              └──────┬───────┘
                     │
                  Serial
                     │
                     ▼
                   PPP
                     │
                     ▼
                   ppp0
                     │
                     ▼
                  Internet

SIM 卡只負責提供行動網路身分與服務;真正建立資料連線的工作,是由 Raspberry Pi 上的軟體完成,此時也會用到 ppp、chat、wvdial 這工具。之前那篇「Raspberry Pi 使用 4G LTE USB 行動網卡(D-Link DWM-222)上網之一」就是採用這種方式。

*後來 ChatGPT 提醒我→現代 Raspberry Pi OS 也可以用 ModemManager + NetworkManager 來管理這類 modem,這很值得我去試試。



2. E3372h-607:它自己就是小路由器


▼圖 架構圖:

                 Raspberry Pi
                      │
                      │ USB Ethernet
                      ▼
              ┌───────────────┐
              │ Huawei E3372  │
              │               │
              │ USB Ethernet  │
              │       │       │
              │       ▼       │
              │     Router    │
              │       │       │
              │      NAT      │
              │       │       │
              │      LTE      │
              └───────┬───────┘
                      │
                    4G LTE
                      │
                   Internet

LTE 撥號這件事情已經被 E3372 自己吃掉了,RPi根本不知道,也不需要知道LTE撥號的細節。

E3372 HiLink 模式本質上是讓 USB 裝置「偽裝成一張 Ethernet 網卡」,而 LTE modem、撥號、NAT、DHCP 等事情在 E3372 裡面完成。相關 Linux 資料也明確描述 HiLink 模式會以 USB Ethernet/RNDIS 裝置呈現,而不是傳統 /dev/ttyUSB* modem[7]。


▼圖 E3372h-607 的 HiLink

E3372
    │
    ├── 192.168.8.1
    │
    ├── DHCP
    │
    ├── NAT
    │
    └── LTE connection



▼圖 RPi端:

eth0
192.168.8.100
      │
      ▼
192.168.8.1
      │
      ▼
Internet



四、後記

1. E3372 系列並不永遠是 HiLink

它存在不同 firmware / mode, 會導致完全不同的使用方式。E3372的 HiLink firmware 通常是 22.x 系列,而傳統 Stick firmware 則是 21.x 系列;HiLink 會提供 USB Ethernet,而 Stick firmware 則暴露標準 serial modem 介面[8]。

▼圖 HiLink mode (本篇用的模式)

Raspberry Pi
      │
      │ USB
      ▼
E3372
      │
      ├── USB Ethernet
      │
      ├── DHCP
      ├── NAT
      ├── LTE connection
      │
      └── 192.168.8.1
             │
             ▼
          Internet


▼圖 這時候它就比較接近 DWM-222

Raspberry Pi
      │
      │ USB
      ▼
E3372
      │
      ├── /dev/ttyUSB0
      ├── /dev/ttyUSB1
      │
      ▼
   Modem
      │
     PPP
      │
   Internet



2. 優缺比較

雖然HiLink 用起來最無腦,但很多控制權藏在 modem 裡面,所以「網卡有沒有連線」和「LTE 有沒有連線」可以是兩件事情。



▼圖 RPi 看不到 [Modem] 下面那坨東西

HiLink

Pi
 │
 └── USB Ethernet
       │
       ▼
    [Modem]
    NAT
    DHCP
    LTE
    APN
    reconnect



▼圖 所以會出現

USB 網卡正常
     ↓
192.168.8.1 正常
     ↓
但是 LTE 掛了
     ↓
Internet 不通


目我碰到的案例。

忘了繳行動上網費用,被電信公司斷網;傳統 Modem 型 RPi 會直接播失敗,會輸出會記錄錯誤訊息。如果用的 HiLink型 ,網卡撥接失敗 RPi 端不會有任何錯誤回饋,要寫 Shell Script 去偵測(Ping DNS之類),才可以得知網際網路不通的結果。




參考

[1] 華為 E3372h-607 刷機心得

[2] RNDIS

[3] Linux 網路設定 ip 指令用法教學與範例

[4] Linux ip 指令:IP 位址、網卡、路由與 ARP/Neighbor 查詢

[5] ChatGPT

[6] IP connectivity setup in LTE modems

[7] Using a USB Mobile Dongle with the Raspberry Pi – 4G/LTE Setup

[8] About hilink

發佈留言

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