MB SAR 平臺支援
概觀
特定吸收率 (SAR) 是能夠變更 MBB 無線電傳輸器電源,以回應 MBB 天線與使用者的鄰近性。 傳統上,OEM 已針對 SAR 實作專屬解決方案。 這需要 OEM 實作裝置服務命令,該命令只會在其使用者模式驅動程式 (UMDF) 和數據機之間識別,或需要核心模式元件直接與數據機互動。 有些 OEM 甚至可能會有混合式解決方案,其中它們同時具有 UMDF-數據機和核心模式數據機元件。 隨著無線電放射感知增加,將 OEM 軟體元件的介面標準化,以通過 SAR 命令傳遞至數據機會產生下列優點:
- OEM 可以移至使用者模式元件,並讓系統更穩定,因為相較于核心模式,使用者模式中的錯誤對系統而言並不嚴重。
- Windows 提供平臺標準介面,並減少 OEM 的專屬實作。
- 想要利用 SAR 的平臺服務可以從數據機擷取資訊。
從 Windows 10 1703 版開始,Windows 支援通過 SAR 設定和數據機傳輸狀態。 Windows 會繼續將 SAR 商務邏輯保留給 IHV 和 OEM,以作為自我區分因素,但會提供介面來簡化平臺。 已定義兩個新的 NDIS OID 和兩個新的 MBIM CID 來支援此介面。 想要利用 OS 支援的裝置必須實作這兩個命令。
新增兩個新的 OID 和 CID 可支援此功能。 對於實作 MBIM 的 IHV 合作夥伴,只需要支援 CID 版本。
注意
本主題定義 IHV 合作夥伴介面,以在其數據機設備磁碟機中實作 SAR 平臺支援。 如果您要尋找如何自訂裝置的 SAR 對應表的相關資訊,請參閱 自訂特定吸收率 (SAR) 對應表。
Flow
SAR 平臺支援的 MB 介面更新
MBIM 相容的裝置會在CID_MBIM_DEVICE_SERVICES查詢時實作並報告下列裝置服務。 現有的已知服務定義于 USB NCM MBIM 1.0 規格的 10.1 節中。 Microsoft 會擴充此專案以定義下列服務。
服務名稱 = Microsoft SAR 控制項
UUID = UUID_MS_SARControl
UUID 值 = 68223D04-9F6C-4E0F-822D-28441FB72340
CID | 最低 OS 版本 |
---|---|
MBIM_CID_MS_SAR_CONFIG | Windows 10 (版本 1703) |
MBIM_CID_MS_TRANSMISSION_STATUS | Windows 10 (版本 1703) |
MBIM_CID_MS_SAR_CONFIG
Description
此命令會設定或傳回 MB 裝置的 SAR 關閉模式和層級的相關資訊。 MB 裝置必須立即在 SAR 回復命令上採取行動,方法是覆寫目前的傳輸電源限制,並將其套用至傳輸天線。 如果作業系統未變更天線的 SAR 設定,它應該會維持其目前的設定。 例如,如果作業系統將天線 1 設定為 SAR 回復索引 1,則天線 2 的組態應該維持不變,而不會進行任何變更。
支援此命令的裝置預期會實作 Query,以便將裝置資訊提供給 OS 及其用戶端。 針對 Set 命令,其介於 IHV 與 OEM 之間,以定義每個欄位可接受的值。 典型的預期是,SAR 退退索引可針對所有天線設定為最低基準。 如果 「設定」要求是以裝置不支援的欄位傳送,則必須傳回MBIM_STATUS_INVALID_PARAMETERS做為狀態碼。
在每個查詢或設定回應之後,數據機應該會傳回MBIM_MS_SAR_CONFIG結構,其中包含與行動寬頻相關聯之裝置上所有天線的資訊。
查詢
不會使用 MBIM_COMMAND_MSG 上的 InformationBuffer。 MBIM_MS_SAR_CONFIG會在 MBIM_COMMAND_DONE 的 InformationBuffer 中傳回。
集合
MBIM_COMMAND_MSG上的 InformationBuffer 包含MBIM_MS_SAR_CONFIG。 MBIM_MS_SAR_CONFIG會在 MBIM_COMMAND_DONE 的 InformationBuffer 中傳回。
未經請求的事件
不適用。
參數
作業 | 集合 | 查詢 | 通知 |
---|---|---|---|
命令 | MBIM_MS_SET_SAR_CONFIG | 不適用 | 不適用 |
回應 | MBIM_MS_SAR_CONFIG | MBIM_MS_SAR_CONFIG | 不適用 |
資料結構
查詢
InformationBuffer 應為 Null,且 InformationBufferLength 應為零。
集合
下列MBIM_MS_SET_SAR_CONFIG結構應該用於 InformationBuffer 中。
Offset | 大小 | 欄位 | 類型 | 描述 |
---|---|---|---|---|
0 | 4 | SARMode | MBIM_MS_SAR_CONTROL_MODE | 如需詳細資訊,請參閱MBIM_MS_SAR_CONTROL_MODE資料表。 |
4 | 4 | SARBackOffStatus | MBIM_MS_SAR_BACKOFF_STATE | 如需詳細資訊,請參閱MBIM_MS_SAR_BACKOFF_STATE資料表。 如果MBIM_MS_SAR_CONTROL_MODE設定為裝置控制,則 OS 將無法設定此欄位。 |
8 | 4 | ElementCount (EC) | UINT32 | DataBuffer 中後續MBIM_MS_SAR_CONFIG結構的計數。 |
12 | 8 * EC | SARConfigStatusRefList | OL_PAIR_LIST | 配對的第一個元素是從這個MBIM_MS_SET_SAR_CONFIG結構的開頭 (位移 0) 到MBIM_MS_SAR_CONFIG_STATE結構計算的 4 位元組位移。 如需詳細資訊,請參閱MBIM_MS_SAR_CONFIG_STATE資料表。 配對的第二個元素是對應MBIM_MS_SAR_CONFIG_STATE結構的指標 4 位元組大小。 |
12 + (8 * EC) | DataBuffer | DATABUFFER | MBIM_MS_SAR_CONFIG_STATE 結構的陣列。 |
下表使用下列結構。
MBIM_MS_SAR_CONTROL_MODE指定如何控制 SAR 回復機制。
類型 | 值 | Description |
---|---|---|
MBIMMsSARControlModeDevice | 0 | SAR 回復機制是由數據機裝置直接控制。 |
MBIMMsSARControlModeOS | 1 | SAR 回復機制是由作業系統控制和管理。 |
MBIM_MS_SAR_BACKOFF_STATE描述 SAR 回復的狀態。
類型 | 值 | Description |
---|---|---|
MBIMMsSARBackOffStatusDisabled | 0 | 數據機中已停用 SAR 回復。 |
MBIMMsSARBackOffStatusEnabled | 1 | 數據機中已啟用 SAR 輪詢。 |
MBIM_MS_SAR_CONFIG_STATE描述天線的 SAR 輪詢可能狀態。
Offset | 大小 | 欄位 | 類型 | 描述 |
---|---|---|---|---|
0 | 4 | SARAntennaIndex | UINT32 | 對應至此資料表中 SARBackOffIndex 欄位的天線索引。 它會對應至天線編號,並保留給 OEM 實作,以編制裝置上每個天線的索引。 任何索引都對此值有效。 如果此值設定為 set命令中的 0xFFFFFFFF, 則 SARBackOffIndex 應該套用至所有天線。 如果此值設定為 回應0xFFFFFFFF ,表示 SARBackOffIndex 會套用至所有天線。 |
4 | 4 | SARBAckOffIndex | UINT32 | 對應至 OEM 或數據機廠商所定義之備份資料表的退退索引。 資料表具有個別的帶狀和相關聯的退格參數。 |
回應
下列MBIM_MS_SAR_CONFIG結構應該用於 InformationBuffer 中。 MBIM_MS_SAR_CONFIG指定 SAR 的設定。
Offset | 大小 | 欄位 | 類型 | 描述 |
---|---|---|---|---|
0 | 4 | SARMode | MBIM_MS_SAR_MODE | 如需詳細資訊,請參閱MBIM_MS_SAR_CONTROL_MODE資料表。 |
4 | 4 | SARBackOffStatus | MBIM_MS_SAR_BACKOFF_STATE | 如需詳細資訊,請參閱MBIM_MS_SAR_BACKOFF_STATE資料表。 |
8 | 4 | SARWifiIntegration | MBIM_MS_SAR_ WIFI_HARDWARE_INTEGRATION | 如需詳細資訊,請參閱MBIM_MS_SAR_HARDWARE_WIFI_INTEGRATION資料表。 這表示裝置的 Wi-Fi 和行動資料 SAR 已整合到硬體層,且裝置會自動調整這兩個無線電的 SAR 控制。 |
12 | 4 | ElementCount (EC) | UINT32 | DataBuffer 中後續MBIM_MS_SAR_CONFIG_STATE結構的計數。 |
16 | 8 * EC | SARConfigStatusRefList | OL_PAIR_LIST | 配對的第一個元素是 4 個位元組位移,從這個MBIM_MS_SAR_CONFIG結構的開始 (位移 0) 到MBIM_MS_SAR_CONFIG_STATE 結構。 如需詳細資訊,請參閱MBIM_MS_SAR_CONFIG_STATE資料表。 配對的第二個元素是對應MBIM_MS_SAR_CONFIG_STATE結構的指標 4 位元組大小。 |
16 + (8 * EC) | DataBuffer | DATABUFFER | MBIM_MS_SAR_CONFIG_STATE 結構的陣列。 |
上表中會使用下列MBIM_MS_SAR_HARDWARE_WIFI_INTEGRATION結構。 它會指定 Wi-Fi 和行動資料是否在硬體層級整合。
類型 | 值 | Description |
---|---|---|
MBIMMsSARWifiHardwareIntegrated | 0 | Wi-Fi 和行動電話數據機 SAR 已整合到裝置中。 |
MBIMMsSARWifiHardwareNotIntegrated | 1 | Wi-Fi 和行動電話數據機 SAR 未整合到裝置中。 |
通知
不適用。
狀態碼
錯誤碼 | 描述 |
---|---|
MBIM_STATUS_SUCCESS | 已成功處理要求。 |
MBIM_STATUS_BUSY | 裝置目前忙碌中。 |
MBIM_STATUS_FAILURE | 要求失敗。 |
MBIM_STATUS_NO_DEVICE_SUPPORT | 裝置不支援此命令。 |
MBIM_STATUS_INVALID_PARAMETERS | 作業失敗,因為參數無效。 |
MBIM_STATUS_OPERATION_NOT_ALLOWED | 作業失敗,因為不允許此作業。 |
MBIM_CID_MS_TRANSMISSION_STATUS
Description
此命令可用來啟用或停用來自數據機的傳輸狀態通知。 這是每個執行程式命令,因為每個執行程式可以有不同的通道傳輸狀態。 例如,雙重 SIM 數據機在 LTE 上可能會有一個,而另一個則位於 GSM 上。 同時,它可以用來提供數據機的傳輸狀態。 此通知可用於對數據機是否傳輸資料有興趣的用戶端。 每當有 TX 流量的開始或結束時,數據機都應該提供通知。 如果工作週期太小,而且無法即時提供給主機,則 TX 狀態可以在傳送狀態更新之前,保持為使用中狀態的設定時間。 例如,可能是 TX 的短暫高載,而數據機無法及時提供開始和結束通知。 數據機應該會在 TX 流量啟動時傳送通知,而且應該在斷續計時器期間繼續監視其 TX 流量。 如果在計時器的時間範圍內不會產生更多 TX 流量,則應該會報告 TX 流量已結束。
這在連線 Wi-Fi 和 LTE 的案例中非常有用。 如果 LTE 和 Wi-Fi 都處於傳輸狀態且偵測到鄰近性,則可能需要 Wi-Fi 退。 如果 LTE 未處於傳輸狀態,但 Wi-Fi 為 ,則可能需要 Wi-Fi 回復。 這適用于一般 Wi-Fi/LTE 連線和行動作用點案例。
Wi-Fi 退機制和命令不在此規格的範圍內。
使用此命令的 OEM 應該注意潛在的電源影響,因為數據機可能隨時傳送傳輸相關的通知,包括降低電源狀態。 根據預設,OS 不允許此通知在新式待命期間喚醒 AP,以改善電源效能。
查詢
不會使用 MBIM_COMMAND_MSG 上的 InformationBuffer。 MBIM_MS_TRANSMISSION_STATUS_INFO會在 MBIM_COMMAND_DONE 的 InformationBuffer 中傳回。
集合
MBIM_COMMAND_MSG上的 InformationBuffer 包含MBIM_MS_SET_TRANSMISSION_STATUS。 MBIM_MS_TRANSMISSION_STATUS_INFO會在 MBIM_COMMAND_DONE 的 InformationBuffer 中傳回。
未經請求的事件
未經請求的事件包含MBIM_MS_TRANSMISSION_STATUS_INFO,而且會在作用中的無線 (OTA) 通道有所變更時傳送。 例如,如果數據機開始上傳封包資料,則必須在使用網路資料通道時設定上行連結通道,以便上傳承載。 這會觸發要提供給作業系統的通知。
參數
作業 | 集合 | 查詢 | 通知 |
---|---|---|---|
命令 | MBIM_MS_SET_TRANSMISSION_STATUS | 不適用 | 不適用 |
回應 | MBIM_MS_TRANSMISSION_STATUS_INFO | MBIM_MS_TRANSMISSION_STATUS_INFO | MBIM_MS_TRANSMISSION_STATUS_INFO |
資料結構
查詢
不會使用 MBIM_COMMAND_MSG 上的 InformationBuffer。 MBIM_MS_TRANSMISSION_STATUS_INFO會在 MBIM_COMMAND_DONE 的 InformationBuffer 中傳回。
集合
下列MBIM_MS_SET_TRANSMISSION_STATUS結構應該用於 InformationBuffer 中。
Offset | 大小 | 欄位 | 類型 | 描述 |
---|---|---|---|---|
0 | 4 | ChannelNotification | MBIM_MS_TRANSMISSION_STATUS_NOTIFICATION | 如需詳細資訊,請參閱MBIM_MS_TRANSMISSION_STATUS_NOTIFICATION資料表。 |
4 | 4 | HysteresisTimer | UINT32 | 數據機用來判斷何時將 MBIMMsTransmissionStateInactive 傳送至主機的 Hysteresis 指標。 此值是數據機在傳送 OFF 指示器給主機之前視為連續無傳輸活動的計時器。 此計時器應該以秒為單位設定,範圍從 1 秒到 5 秒。 |
下列MBIM_MS_TRANSMISSION_STATUS_NOTIFICATION結構用於上表。 它會指定是否停用或啟用數據機通道傳輸。
類型 | 值 | Description |
---|---|---|
MBIMMsTransmissionNotificationDisabled | 0 | 已停用數據機通道傳輸狀態通知。 |
MBIMMsTransmissionNotificationEnabled | 1 | 已啟用數據機通道傳輸狀態通知。 |
回應
下列MBIM_MS_TRANSMISSION_STATUS_INFO結構用於回應。
Offset | 大小 | 欄位 | 類型 | 描述 |
---|---|---|---|---|
0 | 4 | ChannelNotification | MBIM_MS_TRANSMISSION_STATUS_NOTIFICATION | 如需詳細資訊,請參閱MBIM_MS_TRANSMISSION_STATUS_NOTIFICATION資料表。 |
4 | 4 | TransmissionStatus | MBIM_MS_TRANSMISSION_STATUS | 如需詳細資訊,請參閱MBIM_MS_TRANSMISSION_STATUS資料表。 這表示數據機每 5 秒是否有 TX 流量。 |
8 | 4 | HysteresisTimer | UINT32 | 數據機用來判斷何時將 MBIMMsTransmissionStateInactive 傳送至主機的 Hysteresis 指標。 此值是數據機在傳送 OFF 指示器給主機之前視為連續無傳輸活動的計時器。 此計時器應該以秒為單位設定,範圍從 1 秒到 5 秒。 |
上表中會使用下列MBIM_MS_TRANSMISSION_STATUS結構。 指出數據機是否每 5 秒有 TX 流量。
類型 | 值 | Description |
---|---|---|
MBIMMsTransmissionStateInactive | 0 | 數據機並未主動傳輸資料,而沒有最後一個 HysteresisTimer 值的連續傳輸中斷。 |
MBIMMsTransmissionStateActive | 1 | 數據機正在主動傳輸資料。 |
通知
如需詳細資訊,請參閱MBIM_MS_TRANSMISSION_STATUS_INFO資料表。
狀態碼
錯誤碼 | 描述 |
---|---|
MBIM_STATUS_SUCCESS | 已成功處理要求。 |
MBIM_STATUS_BUSY | 裝置目前忙碌中。 |
MBIM_STATUS_FAILURE | 要求失敗。 |
MBIM_STATUS_NO_DEVICE_SUPPORT | 裝置不支援此命令。 |
MBIM_STATUS_INVALID_PARAMETERS | 作業失敗,因為參數無效。 |
MBIM_STATUS_OPERATION_NOT_ALLOWED | 作業失敗,因為不允許此作業。 |
硬體實驗室套件 (HLK) 測試
請參閱 安裝 HLK 的步驟。
在 HLK Studio 中,連線到行動資料數據機驅動程式並執行測試: Win6_4.MB。Gsm。Data.TestSAR。
此測試包含下列測試:
測試名稱 | Description |
---|---|
QuerySarConfig | 此測試會驗證測試可以成功查詢 SAR 設定。 |
SetSarConfig | 此測試會驗證測試可以成功設定 SAR 設定。 |
QuerySarTransmissionStatus | 此測試會驗證測試可以成功查詢 SAR 傳輸狀態。 |
SetSarTransmissionStatus | 此測試會確認測試可以成功設定 SAR 傳輸狀態。 |
WinRT API
Log Analysis
您可以使用下列指示來收集和解碼記錄: MB 收集記錄。
重要提供者和對應的關鍵字
Microsoft-Windows-WWAN-SVC-EVENTS (3cb40aaa-1145-4fb8-b27b-7e30f0454316)
用於篩選的關鍵字:
- SarConfig
- CWwanSar::OnNdisNotification
- LoadSemiStaticOEMSARTable
- AttemptAutoConfigureSAR
- PreCheckSemiStaticOEMSARTable
- WwanIntfOpcodeSarConfig
- WwanIntfOpcodeSarTransmissionStatus
- WwanMsmEventTypeSarConfig
- WwanMsmEventTypeSarTransmissionStatus
MobileBroadband WinRT WPP (56dd9c57-06cc-48ba-b123-876a6495ba13)
篩選的關鍵字:MobileBroadbandSarManager
WwanProtDIM (3a07e1ba-3a6b-49bf-8056-c105b54dd7fb)
用於篩選的關鍵字:
- NDIS_WWAN_SAR_CONFIG_INFO
- SarMode
- NDIS_WWAN_SAR_TRANSMISSION_STATUS_INFO
- HysteresisTimer