適用於 Intel M.2 PCIe 基帶調變解調器的 IOSM 驅動程式

IOSM(基於共享記憶體的 IPC)驅動程式是為 Linux 或 Chrome 平臺開發的 WWAN PCIe 主機驅動程式,用於主機平臺與 Intel M.2 調變解調器之間透過 PCIe 介面進行資料交換。該驅動程式公開了符合 MBIM 協議 [1] 的介面。任何前端應用程式(例如:Modem Manager)都可以輕鬆管理 MBIM 介面,以實現與 WWAN 的資料通訊。

基本用法

當未管理時,MBIM 功能處於非活動狀態。IOSM 驅動程式僅提供一個表示 MBIM 控制通道的使用者空間介面 MBIM“WWAN PORT”,並且不負責管理該功能。使用者空間應用程式的職責是檢測埠列舉並啟用 MBIM 功能。

此類使用者空間應用程式的示例包括: - mbimcli(包含在 libmbim [2] 庫中),以及 - Modem Manager [3]

管理應用程式需要執行以下操作來建立 MBIM IP 會話: - 開啟 MBIM 控制通道 - 配置網路連線設定 - 連線到網路 - 配置 IP 網路介面

管理應用程式開發

驅動程式和使用者空間介面描述如下。MBIM 協議在 [1]《移動寬頻介面模型 v1.0 勘誤表-1》中進行了描述。

MBIM 控制通道使用者空間 ABI

/dev/wwan0mbim0 字元裝置

驅動程式透過實現 MBIM WWAN 埠,向 MBIM 功能公開 MBIM 介面。控制通道管道的使用者空間端是 /dev/wwan0mbim0 字元裝置。應用程式應使用此介面進行 MBIM 協議通訊。

分段

根據 MBIM 規範,使用者空間應用程式負責所有控制訊息的分段和重組。

/dev/wwan0mbim0 write()

來自管理應用程式的 MBIM 控制訊息不得超過協商的控制訊息大小。

/dev/wwan0mbim0 read()

管理應用程式必須接受最大為協商控制訊息大小的控制訊息。

MBIM 資料通道使用者空間 ABI

wwan0-X 網路裝置

IOSM 驅動程式公開型別為“wwan”的 IP 連結介面“wwan0-X”,用於 IP 流量。Iproute 網路工具用於建立“wwan0-X”網路介面並將其與 MBIM IP 會話關聯。該驅動程式支援多達 8 個 IP 會話以進行同步 IP 通訊。

使用者空間管理應用程式負責在建立 SessionId 大於 0 的 MBIM IP 會話之前建立新的 IP 連結。

例如,為 SessionId 為 1 的 MBIM IP 會話建立新的 IP 連結

ip link add dev wwan0-1 parentdev-name wwan0 type wwan linkid 1

驅動程式將自動將“wwan0-1”網路裝置對映到 MBIM IP 會話 1。

參考

[1]“MBIM(移動寬頻介面模型)勘誤表-1”
[2] libmbim - “一個基於 glib 的庫,用於與 WWAN 調變解調器和

支援移動介面寬頻模型 (MBIM) 協議的裝置” - http://www.freedesktop.org/wiki/Software/libmbim/

[3] Modem Manager - “一個由 DBus 啟用的守護程式,用於控制移動

寬頻 (2G/3G/4G) 裝置和連線” - http://www.freedesktop.org/wiki/Software/ModemManager/