簡體   English   中英

核心藍牙:從 iOS 15 升級到 iOS 16 時減小了 BLE MTU 大小

[英]Core Bluetooth: Reduced BLE MTU size when upgrading from iOS 15 to iOS 16

我看到一個問題,即從 iOS 15 升級到 iOS 16 后,iPhone/iOS 的 MTU 大小似乎減小了。在升級到 iOS 16 之前,手機大小的 MTU 大小始終為 185 字節,這與大多數鏈接聲稱的相符iPhone 的最大 MTU 是( 示例 1示例 2示例 3 )。

但是升級到iOS 16后,iPhone發送的MTU減少到77字節。 這是為 iOS 應用程序使用相同的電話和完全相同的代碼。 我正在連接到包含 nRF52 芯片組並始終發送 247 字節的 MTU 請求的可穿戴設備(即 iPhone 是中央設備,可穿戴設備是外圍設備)。

我設法捕獲嗅探器日志,顯示 iPhone 在使用iOS 15 (預期)時以185 的 MTU回復:-

在此處輸入圖像描述

下面的嗅探器日志顯示了 iPhone 在使用iOS 16時如何發送減少的 77 字節的 MTU :-

在此處輸入圖像描述

值得注意的是,重啟手機似乎可以暫時解決問題,iPhone 的 MTU 響應恢復為 185 字節,但在幾次連接后,iPhone 又開始發送 77 字節。 重啟 iPhone 上的藍牙並不能解決問題,暫時解決這個問題的唯一方法是重啟手機。

我們設法在 iPhone 11、iPhone 13 Pro Max 和 iPhone 14 上始終如一地重現了該問題。使用 iOS 16 和 iOS 16.0.2 重現了該問題。

鑒於沒有 CoreBluetooth API 修改 MTU 大小,這似乎純粹是一個 iOS 16 錯誤,我說得對嗎? 有沒有辦法可以克服這個問題並強制手機恢復使用 185 字節的最大 MTU?

所以事實證明這是 iOS 16 和 16.0.2 的錯誤/回歸。 它已在 iOS 16.1 上得到修復,我們已經測試了該修復程序,它正在此處運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM