Fuchsia F28 版本資訊

日期:2025 年 10 月 9 日

版本:F28

我們已進行下列變更:

音訊

音訊的更新內容如下:

  • 使用新的 FIDL API audio_recording 服務,以 Zircon Socket 進行主機驅動測試,並重構服務,提升可靠性和簡便性。
  • 強化音訊驅動程式 signalprocessing 通訊協定的測試涵蓋範圍。 包括為拓撲、元素和狀態管理新增全面驗證,以及更新虛擬音訊測試驅動程式庫,以利進行這些更嚴格的測試。
  • 改良ffx audio開發人員工具,提供更強大的play指令、用於診斷的資料路徑追蹤功能,以及 device info 指令的更直覺式輸出內容。
  • 在測試案例後新增延遲,以減輕間歇性 ZX_ERR_ALREADY_BOUND 失敗情形,進而提升 audio_driver_admin_tests 的可靠性。
  • 更新音訊驅動程式庫測試,以驗證支援僅限立體聲 DaiFrameFormats 的驅動程式 (例如I2S) 正確宣傳僅支援立體聲。

藍牙

藍牙的更新內容如下:

建構

我們對 Build 進行了下列更新:

  • 使用 Bazel 建構 Fuchsia IDK (可整合的開發人員套件),而非 GN,這是建構系統遷移作業的一大里程碑。這項異動包括移除舊版 meta.json 生成指令碼,並為 SDK 原子類別、API 區域和標頭檔案新增驗證。
  • 修正了導致 Bazel 漸進式建構作業中斷的重大錯誤,方法是修正 Clang 工具鍊版本檔案的追蹤方式。
  • 提升 Remote Build Execution (RBE) 效能:將多執行緒 Rust 和 C++ ThinLTO 連結工作導向較大的工作站,並提高快取命中率。
  • 提升產品建構效能:透過單一簡化的動作,執行圖片組裝和產品組合建立作業。
  • 更新了建構再生器,可列印緩慢步驟的計時資訊,協助找出效能回歸情形,並修正了導致每次建構時不必要再生的錯誤。
  • 為 RISC-V 建構作業啟用框架指標,現在在 LTO 建構作業期間,會正確使用原子 ('A') ISA 擴充功能。

鈷豔藍

Cobalt 的更新內容如下:

  • 簡化管道設定邏輯:以更直接的 SetChannel 取代 SetSoftwareDistributionInfo 函式。
  • 報表定義新增 Cookie bucket 支援,可計算信賴區間。這項變更也將 COOKIE_BUCKET_ID 重新命名為 COOKIE_BUCKET,讓命名更加清楚。

元件架構

元件架構已進行下列更新:

  • 新增內建的調度器元件,可動態啟動工作者元件,以回應能力要求。
  • fuchsia.component.Realm 通訊協定中新增 GetChildOutput 函式,讓父項可使用 Bedrock API 存取子項的輸出字典。
  • 透過更有效率的代號資料表示法、延遲物件例項化和隨選要求產生等最佳化措施,大幅減少 component_manager 的記憶體用量。
  • 強化開發人員工具和可觀測性。ffx component doctor 指令現在可以檢查字典內容,且可為元件啟用 heapdump 檢測,元件執行個體 ID 現在會透過檢查公開。
  • 修正當元件向不同來源 (例如 parentframework) 公開兩個具有相同目標名稱的功能時,發生的當機問題
  • 將從啟動檔案系統建立的 VMO 標示為不可調整大小,提升效率並防止對應失敗。
  • fuchsia.time.UtcClock 記憶體對應化,以便從 Starnix 等對效能要求嚴苛的元件更有效率地讀取時鐘。
  • 更新 Component Manager 的沙箱實作,改用新版 fuchsia.io/Directory.Open 方法,提升與最新 fuchsia.io 伺服器的相容性。
  • 已將 full-resolver 元件合併至 pkg-resolver這項合併作業會從核心集移除元件,藉此減少工程建構的記憶體用量。

診斷

診斷功能已進行下列更新:

  • 提升 Archivist 的可靠性和效能:新增恐慌掛鉤、為內部記錄緩衝區提供更有效率的 IOBuffer,以及將序列記錄寫入作業移至專用執行緒,防止封鎖。
  • 為記錄服務導入新的 Flush 方法,確保所有緩衝記錄都會寫入,同時解決 Archivist 中潛在的終止問題。
  • 讀取檢查資料時,如果元件沒有回應,系統會更穩定。 現在,系統會對延遲節點的個別 FIDL 連線套用逾時時間,避免單一緩慢節點封鎖整個快照。

螢幕

多媒體廣告已進行下列更新:

驅動程式架構

Driver Framework 的更新內容如下:

  • 持續從 DFv1 遷移,移除許多已淘汰的 DDK 函式和中繼資料 ID。包括移除 device_add_metadataconfigure_auto_suspend 和舊版中繼資料常數 (例如 DEVICE_METADATA_WIFI_CONFIG)。
  • 修正驅動程式庫節點穩定性問題:確保驅動程式驅動程式代管程序意外關閉時,驅動程式庫程式節點會適當隔離。
  • 持續將驅動程式遷移至 DFv2,包括 aml-pwmaml-nnaaml-meson-poweri2c-channel 程式庫也已更新為 DFv2 相容版本,可支援新式驅動程式。
  • 啟用驅動程式庫元件,實作新的 Suspendable 特徵,加入選用的暫停和繼續生命週期掛鉤。
  • 移除多個已淘汰的子指令 (包括 devicelspcilsusbrun-tool),並新增 node 子指令,提升人體工學設計,簡化 ffx driver 外掛程式。
  • 強化 Rust 驅動程式庫生態系統,新增 PlatformDevice 特徵,改善使用虛擬平台裝置進行測試的作業,並提供輔助方法,從啟動引數剖析驅動程式庫設定,以及支援模擬 MMIO 作業的 mock-mmio Crate。
  • 啟用驅動程式代管程序,偵測並減輕執行緒停滯問題:主動產生新的執行緒,確保進度順利推進,並根據實際停滯時間調整停滯計時器檢查。
  • 修正平台匯流排驅動程式中的問題:預設 IRQ 模式未正確設定,可能導致層級觸發的中斷失敗。
  • 推出新的核心驅動程式和 FIDL 程式庫,用於互連。這個系統會管理及彙整多個用戶端的頻寬要求,並傳送至單一供應商驅動程式庫,簡化硬體互動。

意見回饋

意見回饋功能已進行下列更新:

FIDL

FIDL 的更新內容如下:

  • 最佳化 C++ FIDL 程式碼產生功能,將產生的函式主體移出標頭並移至單一來源檔案,以縮短建構時間。這項變更可大幅加快 C++ 目標的編譯速度。
  • 擴充 ABI 相容性檢查工具,可針對所有類別的 SDK FIDL 程式庫執行檢查,提升 API 穩定性保證。

韌體

韌體更新內容如下:

  • 實作傳遞開機載入程式檔案的標準機制。 現在可以使用 /chosen/google/bootloader-files devicetree 節點,將開機載入程式檔案 (例如 SSH 金鑰) 傳遞至 Fuchsia。相關修正措施可確保這些檔案的暫存緩衝區正確對齊。

GPU 和圖形

GPU 和 Graphics 的更新如下:

  • 為 GPU 用戶端導入信任路徑,允許 Scenic 等信任的元件要求較高的 GPU 排程優先順序。包括新的 fuchsia.vulkan.loader.TrustedService、可信的 Magma FIDL 通訊協定,以及簡化裝置探索作業的新 magma_enumerate_devices API。
  • 新增對整個圖像堆疊的 STRAIGHT_ALPHA 混合模式支援,可轉譯尚未與 Alpha 值預先相乘的來源像素。包括 Flatland 中的新 BlendMode2,以及 Vulkan 指令緩衝區管線的更新。
  • 改善 GPU 驅動程式的電源管理:將 msd-arm-mali 驅動程式庫遷移至 ElementRunner 通訊協定,並在 Magma sys_driver 中建立一般電源管理工具,處理電源狀態要求。
  • 為 Vulkan 交換鏈新增即時呈現模式的支援功能,方便用戶盡快推送影格,以便在基準化時使用。
  • 更新預先建構的 Arm Mali ICD,納入多項改善項目,包括支援 VK_FORMAT_A2B10G10R10_UNORM_PACK32 格式和其他穩定性修正。
  • 修正 use-after-free 錯誤,並新增主動取消用戶端連線的邏輯,以提升 msd-arm-mali 驅動程式的穩定性,避免連線重複造成硬體錯誤。
  • 已將 Magma 驅動程式庫測試遷移至標準驅動程式庫測試夾具fdf::AddOwnedChild(),方便編寫及解讀測試。

I18n

I18n 的更新內容如下:

  • 更新 Fuchsia 的本地化匯出作業。

物聯網、Matter 和 Thread

我們對物聯網、Matter 和 Thread 進行了以下更新:

  • 已變更登陸的低功率無線個人區域網路 ePSKc (用於委派作業的強化預先共用金鑰),包括更新 OpenThread 依附元件、新增 Rust 繫結,以及與 FeatureConfig 服務整合。F28 不會啟用這項功能。
  • 更新 LoWPAN 無線電平台,以處理 OpenThread 狀態變更,並啟用 CSL (Coordinated Sampled Listening) 傳輸器功能。
  • 實作重試機制,在發布服務失敗時重試,藉此提升 LoWPAN 邊界代理的可靠性
  • 將 Weave 中的虛假目錄檔案設為唯讀,提升安全性

核心

我們對 Kernel 進行了以下更新:

  • 在 ARM64 上強化 CPU 暫停和繼續功能。整合 PSCI CPU_SUSPEND 介面,並為 GICv3 中斷控制器和平台計時器新增暫停/繼續掛鉤,支援 CPU 暫停。為改善診斷功能,我們推出了新的 API,可回報系統喚醒來源。
  • 推出更有效率的壓縮網頁儲存系統。以新的以時段為基礎的系統取代 VmTriPageStorage 實作項目,大幅減少記憶體儲存空間的負擔,從約 24% 降至約 5%。

網路堆疊

網路堆疊已進行下列更新:

  • 為 IPv4 實作重複位址偵測 (DAD)。DHCP 用戶端現在會使用這項功能,避免新取得的位址發生 IP 衝突。
  • 推出 fuchsia.net.settings FIDL API,可動態設定網路設定,例如介面預設值和通訊端緩衝區大小。
  • 在 Netstack3 中啟用 eBPF 篩選器支援,用於輸入和輸出封包,可進行進階封包檢查和操控。
  • 將 socket-proxy 元件設為重要,確保插座可用性和系統穩定性,因此終止時裝置會重新啟動。
  • 新增 FIDL 支援功能,可管理介面本機路由表,實現更精細的路由控制。
  • 在 Netstack3 中實作有序的關機路徑,確保元件能乾淨且可靠地終止。
  • 在 Netstack3 中導入非重要傳輸通訊協定的動態序列化程式,大幅縮短編譯時間並縮減二進位檔大小。
  • 為 json5 設定檔啟用 Netcfg 支援功能,並透過註解和尾端逗號等功能,提升可讀性和可維護性。
  • 防止 Netstack3 轉送具有連結本機位址的 IPv6 封包,符合 RFC 4291 規範。
  • 修正 TCP 時間區間大小計算中的錯誤,這個錯誤可能會導致時間區間大小過大而發生恐慌。
  • 修正競爭狀況,避免快速停止及啟動重複位址偵測時發生恐慌
  • 強化 Netlink 子系統,支援非受管理介面本機路由表。現在,當新增 IP 位址時,系統不會再安裝 /0/32 子網路路徑,與 Linux 行為更加一致。

平台驅動程式

平台驅動程式的更新內容如下:

  • 大幅重構 DWC3 USB 驅動程式庫,改用單一執行緒模型,簡化鎖定作業,並修正端點狀態追蹤問題。新增對監管機構繫結的支援,並對互連資源進行投票。
  • 推出新的核心互連驅動程式,用於管理及彙整匯流排頻寬要求。此外,我們也改善了時脈和中斷的 Devicetree 訪客,以利更穩健地探索硬體,並支援可喚醒的中斷。

電源管理

電源管理功能已進行下列更新:

  • 已將多個電源驅動程式和元件遷移至使用 ElementRunner 通訊協定,該通訊協定會反轉用戶端/伺服器與 Power Broker 的關係,以便更直接地管理電源層級。包括 UFS、msd-arm-mali、aml-sdmmc、sdmmc 和 timekeeper 元件。
  • 強化電源管理和暫停功能,提供新的 API 來回報系統喚醒來源、透過 PSCI 支援更深層的省電狀態,以及更精細的 CPU 電源控制。為提升診斷成效,系統活動管理員現在會追蹤累計暫停時間。
  • 改良 SDMMC 驅動程式庫,提升電源管理和暫停/繼續處理能力。現在會傳送關機通知、正確探查 eMMC 裝置並在恢復時重設匯流排設定,且 aml-sdmmc 驅動程式庫已遷移至 ElementRunner 電源管理通訊協定。
  • 大幅重構驅動程式庫電源管理程式庫,以利喚醒租用,進一步提升清楚度、正確性及易用性。包括重新命名類別、釐清手動和逾時型租約之間的責任,以及修正與暫停/繼續週期中租約失效相關的錯誤。
  • 在「檢查」中新增更多資料,強化電源管理觀測和診斷功能。包括歷來溫度感應器讀數、Starnix 喚醒鎖定和主動式 epoll 計數的來源,以及 FSH 驅動程式的開機/單調時鐘偏差。
  • 導入新的 poweroff_for_shutdown 設定,讓 Power Manager 在關機程序期間關閉裝置電源,而非重新啟動。
  • 讓儲存空間電源管理取決於 fuchsia::suspending_token,防止裝置進入無法暫停的狀態。

荒漠油廠

Rust 的更新內容如下:

  • 大幅強化 fuchsia-async,包括用於建立執行器的全新建構器模式、Scope 中對合作取消作業的支援,以及用於處理硬體中斷的 OnInterrupt 串流。 將工作取消方法從 cancel() 重新命名為 abort(),以符合新的取消語意。
  • 強化工具fx clippy 現在接受 glob 模式和額外標記,且主機端的 Rust 測試會在失敗時產生符號化回溯追蹤,方便偵錯。

軟體交付

軟體交付服務的更新內容如下:

  • 啟用新的「無套件」無線 (OTA) 更新流程。系統更新程式現在可以從 HTTP/S 網址擷取資訊清單,下載、暫存及提交更新,不必再使用傳統更新套件。
  • 在套件資訊清單中新增 ABI 修訂版本,方便識別哪些套件使用哪些 ABI 修訂版本。assembled_system.json
  • 記憶體用量最佳化,減少超過 690 KiB。pkg-cache我們改用更節省記憶體的內部資料結構,並避免不必要的資料副本,因此達成這項目標。
  • 推出新 API,可更直接地控制 Blob。pkg-cachepkg-resolver 元件現在有新的 API (RetainedBlobsWriteBlobsFetchBlob),可更直接地控制 Blob 擷取和垃圾收集作業。

Starnix

Starnix 已進行下列更新:

  • 針對當機報告導入節流機制,減少當機迴圈程序造成的系統負載。如果程序在 8 分鐘內當機超過 8 次,後續的報告就會受到節流。
  • 新增對 io_cancel 系統呼叫的支援,可取消非同步 I/O 作業。
  • FileObject 上,為 get-memorymmap 強制執行 noexec 掛接選項。
  • 實作 FsNode 存取權檢查的 CAP_DAC_READ_SEARCH 能力
  • 加強 SELinux 強制執行:針對多項作業 (包括信號繼承 (siginh)、檔案系統掛接 (mounton) 和各種通訊端與繫結器作業) 實作權限檢查。
  • 修正系統記錄相關作業的權限檢查 (/dev/kmsg/proc/kmsgsyslog(2)),與現代 Linux 行為保持一致。
  • 針對私有匿名記憶體啟用 VMO 最佳化。此外,也修正了 smaps生成,以支援這項功能,提升記憶體效率。
  • 提升效能並減少記憶體用量:透過多項變更,包括啟用連結時間最佳化 (LTO)、縮減內部 Mapping 結構體的大小,以及新增 clean_stack 函式來取消認可未使用的堆疊頁面。
  • 更新 devpts 檔案系統,支援多個獨立執行個體,每個執行個體都有一組專屬的虛擬終端機,使用 newinstance 掛接選項。
  • 根據啟動時間軸 (包括暫停時間),將 /proc/uptime 中回報的系統運作時間與 Linux 行為對齊
  • 強化 eBPF 支援,新增多項功能,包括 32 位元記憶體作業、UDP 傳送/接收掛鉤、通訊端選項掛鉤,以及多項新的輔助函式。
  • 修正繫結器無效回覆的罕見問題,這類回覆可能會以錯誤順序處理,導致從堆疊彈出錯誤交易。
  • 最佳化遠端繫結器通訊:將所有要傳回的寫入作業收集在單一 ioctl 呼叫中,減少 FIDL 流量。
  • 更新工作優先順序和 niceness 處理方式,以更符合 Linux 行為,包括適當的 RLIMIT_RTPRIO 強制執行,現在預設為零。
  • 新增 fastrpcdmaheap 的模組,為 Starnix 應用程式提供跨處理器 RPC 功能。

儲存空間

儲存空間服務已進行下列更新:

  • storage-host改善。這項工作包括在掛接前使用 fsck 檢查資料量、在恢復原廠設定期間新增對加密磁碟區的清除支援,以及將核心儲存空間驅動程式移至組件套件,以縮減映像檔大小。
  • 啟用 Fshost,支援使用語意標籤比對及轉送區塊裝置。這樣一來,特定分割區就能靜態路由至元件,取代直接 /dev/class/block 存取的需求。
  • 改善 fxfs 的效能和穩定性,包括根據記憶體壓力動態調整預先讀取大小、提升清除邏輯的效率,以及確保正確發出 I/O 障礙。
  • fxfs 新增功能,包括支援透過 BlobCreator 通訊協定覆寫現有 Blob,以及初步支援將 Blob 磁碟區串流至磁碟。
  • 將 C++ VFS 和儲存空間一致性測試遷移至新版 fuchsia.io (io2) API,並淘汰舊版 io1 方法。
  • 改良 F2FS,初步支援在 FVM 上執行、與 Linux 進行以映像檔為基礎的相容性測試,以及增加預設的最小檔案系統大小。
  • 強化區塊層和相關驅動程式。包括重新啟用直通 I/O、在區塊通訊協定和 ramdisk 驅動程式庫程式中新增 I/O 障礙支援,以及將 UFS 電源管理功能遷移至 ElementRunner
  • 為唯讀 ext4 驅動程式新增 64bit 旗標的基本支援功能,可掛接具有較大區塊群組描述元的檔案系統。

測試

測試功能已進行下列更新:

  • 大幅強化 Honeydew 端對端測試架構,包括用於控制 USB 電源的 UsbPowerHub 裝置、重新命名的 powerserver 功率測量程式庫、新的音訊和風景功能、改良的會話清理機制,以及修正不穩定來源後重新啟用螢幕截圖斷言。
  • 對偵錯工具端對端測試進行多項改善,以提升穩定性,包括改善指令輸出同步、支援無序輸出比對、新增記錄,以及暫時停用 DebugAgent 整合功能,減少記錄垃圾內容。
  • 新增 Lacewing 端對端測試,確認裝置在收到重新啟動指令時,會以預期原因重新啟動。
  • 新增 IPC 基準,比較傳輸大型訊息的不同方法,包括 BatchStream 的特定基準。

計時

我們對「時間記錄」進行了以下更新:

  • 推出喚醒鬧鐘模擬功能,在缺少硬體支援的平台上提供一致的 fuchsia.time.alarms API。
  • 新增 WakeAlarms.Set() API,使用監聽器模式做為 SetAndWait 的替代方案,以便更妥善地支援可託管的元件排定喚醒作業。
  • 更新 Timekeeper,使用網路可連線服務,避免在沒有網路連線時嘗試同步時間,減少耗電量。
  • 更新 fuchsia.time.alarms.Wake API:修改 SetAndWait 簽章,改善喚醒租用管理功能,並移除未使用的 GetPropertiesCancelSync 方法。
  • 修正潛在的計時器比較溢位問題,確保 Timekeeper 會等待 hrtimer 列舉,並防止重複的時鐘 ID 導致啟動失敗,藉此提升時間和鬧鐘服務的穩定性
  • 啟用從供電周邊裝置取得開機時間的功能,讓時間在重新啟動後仍可保留。
  • 將 Timekeeper 遷移至新的 ElementRunner 通訊協定,以改善電源管理整合。

工具鏈

工具鍊已進行下列更新:

工具

工具的更新內容如下:

ffx

ffx 的更新內容如下:

  • 啟用新的直接連線模式 (使用 -d--direct 旗標),讓許多指令不必透過精靈就能連線至目標。包括改善 ffx target list 的行為,以及正確處理精靈專屬指令的錯誤。
  • 新增 ffx wm 工具,用於管理視窗,並提供 listfocuscycleset_order 視窗的子指令。
  • 更新 ffx target flash 指令,顯示進度指標,並在 ffx target snapshot 中新增 --upload 選項,將快照上傳至 GCS 值區。
  • 移除用於管理預設目標的舊版方法,並淘汰 ffx target default {set, unset} 指令和 fx -d 旗標。
  • 修正多個穩定性問題,包括可能因並行 SSH 連線而發生的死結,以及等待遠端控制 Proxy 時發生的逾時問題。
  • 移除 ffx agis 指令。

fx

fx 的更新內容如下:

  • set-main-pb 產品組合管理工具現在提供文字式使用者介面 (TUI),方便選取產品組合,並依字母順序排序組合清單。
  • 啟用 fx,針對輸入錯誤的指令提供實用建議。
  • 新增指令列旗標,包括 fx build--quietfx create-pb-zip 的壓縮層級旗標 (-c),以及在 fx qemu 中略過修補 SSH 金鑰的選項。
  • fx環境更可靠:使用預先建構的 jq 版本,並修正 fx rbe auth 的驗證問題。
  • 移除了 fx create 的已淘汰 --with-base 標記。
  • fx serve 中自動轉送通訊埠,並提供共用程式庫,以避免在各種封裝工具中重複擷取網址,進而改善開發人員工作流程。

zxdb

zxdb 已進行下列更新:

  • 改良 zxdb 除錯工具,支援 std::span 的 PrettyType,並修正 display 指令,使其遵守設定的整數格式。

追蹤

我們對追蹤功能進行了以下更新:

  • 大幅最佳化ktrace_provider串流模式,可縮短延遲時間、提高輪詢一致性、加快啟動速度,並提升核心緩衝區讀取效率,進而提高追蹤資料的可靠性。
  • 透過 ffx trace 啟用裝置端緩衝區,即可串流追蹤記錄,在工作階段結束時傳輸資料,減少收集期間的 CPU 負荷。
  • 在 FXT 追蹤格式中新增 blob 引數類型,用於嵌入不透明資料。此外,我們也提供新的 fxtdump 主機工具,可檢查及偵錯 FXT 檔案。
  • 最佳化 trace2json 工具,大幅減少記憶體用量,並採用雙通道讀取方法和緩衝輸出串流,將執行速度提升高達 40%。
  • 提升 Rust 追蹤效能:啟用引數實習,減少追蹤大小,並最佳化鎖定使用情形,縮短 ATrace 事件的寫入時間。
  • 更新追蹤引擎,使用新的可測試的滾動緩衝區實作項目,修正競爭條件。

UI

UI 方面有以下更新:

  • 大幅提升 Scenic 的效能和診斷功能。 包括新的追蹤工具 (scenic_session_presentrun_graphics_metrics)、更完善的直接顯示失敗診斷功能、修正影格預測邏輯,以及增加 Escher 的清除間隔,進而提升效能。
  • 新增對新 Vulkan 圖片格式的支援。Scenic 現在支援 A2B10G10R10UnormPack32R8Unorm
  • 在 Flatland 中新增影格計數器疊加層,用於視覺偵錯。您可以透過元件設定或設定 visual_debugging_level 啟用這項功能。
  • Scenic 支援的硬體顯示層數量上限已從 1 個增加至硬體支援的上限,因為先前的軟體限制已解決。
  • 修正 Escher 外部信號燈測試中的死結,方法是從背景執行緒發出信號,提升 Lavapipe 和 Goldfish 的測試可靠性。

影片

影片的更新內容如下:

  • 移除對已淘汰 ulib/syslog 的依附元件。

WLAN 和連線

WLAN 和連線功能有以下更新:

  • 大幅改善 WLAN PHY 重設和復原機制,現在系統處於降級狀態時,wlancfg 可以觸發重設,提升整體穩定性。
  • 推出支援功能,可關閉及開啟 WLAN PHY。包括電源管理的新 FIDL 方法,以及確保驅動程式庫在開機後正確重新初始化。
  • 啟用 netcfg,透過新的 fuchsia.net.policy.properties FIDL API 向 socket-proxy 回報網路狀態,包括預設網路變更和 DNS 設定。
  • 改善 Broadcom Wi-Fi 驅動程式的連線穩定性:使用正確的管道頻寬來減少 NO_NETWORK 失敗次數,並使用更有效的取消驗證指令,在失敗後清除連線狀態。
  • 修正錯誤:在繁忙環境中,Wi-Fi 掃描功能無法運作。 掃描結果現在會以 VMO 傳送,避免達到 FIDL 訊息大小限制。
  • 篩選潛在漫遊目標,確保安全防護機制相容,並修正導致漫遊至 WPA1/WPA2 混合模式網路時發生問題的錯誤,提升 WLAN 漫遊的可靠性。
  • 大幅強化 WLAN 遙測功能,記錄更詳細的指標,包括連線中斷原因、掃描效能、連線時間長度、RX/TX 統計資料和復原事件。