⚡️探究 iPhone 的 USB 速度對開發體驗的影響:實測 USB 速率的方法
使用 usbmuxd 和 iperf3 實測 iPhone 16 Pro Max 的 USB 3 可達 6 Gb/s,比 USB 2.0 快 20 倍。並且能從數據算出虛擬網路層的損耗。
在前一篇文章中,我說找不到實測 USB 傳輸速率的方法。很高興地,今天已經有所突破。這篇就來介紹這個方法與實測結果。
在開始介紹以前,得先說明一下,Mac 與 iOS 在透過 USB 連線時,是走一套虛擬網路介面,而不是直接走 USB 的通訊協定。
簡介 usbmux
這套介面使用一個 daemon 程序,叫做 usbmuxd,它的功能是提供一個類似 TCP 的機制,進行通訊。透過這種機制,不同的程式可以採用不同的 port 進行溝通,而不會有獨占 USB 資源的問題。
你可以從活動監視器(Activity Monitor)或系統監視程式(Console)看到它的存在。


位置在 /Library/Apple/System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/Resources/usbmuxd
。
而一些備份或與 iPhone 傳輸資料的軟體,包括非 Mac 平台的軟體,都是使用相容 usbmux 的實作來達成的。
例如,libimobiledevice.org 有一套跨平台的(以 Linux 為主)開源實作,來達成與 iOS 設備通訊。
使用開源的 libusbmuxd 實測 USB 速率
而我們用來進行 USB 實際傳輸速率的方式,就是使用 usbmuxd 的相容套件,建立起虛擬網路的 port,然後再使用 iperf3 測速。
步驟如下: