無法使用 Webcam 竟然是填錯 ID
【痴線 🤪】外媒報導,Dell Latitude 7320 2-in-1 筆電推出接近 5 年,但一直無法成功啟動該機型的前置 500 萬像素 Webcam。近日有開發者發現,廠方雖然一直在 ACPI 韌體中將該前置鏡頭標示為「OVTI5678」,但真實晶片 ID 實際上為 0x005675,就這樣令這台筆電在 Linux 平台下「盲」了 5 年。
據《Phoronix》報導,Dell Latitude 7320 於 2021 年發表,是早期採用 Intel IPU6(Image Processing Unit 6)架構的裝置之一。由於 Intel IPU6 早期在 Linux 平台的支援極度不完善,甚至曾在 2022 年導致 Linux 核心副手 Greg Kroah-Hartman(Greg KH)公開建議使用者暫時避免購買搭載 Intel IPU6 的筆記型電腦。
儘管 Intel IPU6 的基礎架構支援後續已逐漸完善,但 Dell Latitude 7320 的視訊鏡頭驅動問題依然懸而未決。此前相關社群追蹤報告(如 Intel IPU6 驅動專案下的 issue #24 與 issue #402)普遍認為,無法提供支援的主因是缺乏該機型使用的 OV5678 鏡頭感光元件詳細規格(包括時脈頻率與供電需求等)。
後來,擁有該筆電的開發者 Sahan Nissanka 在深入分析後發現,ACPI 韌體中雖將該前置鏡頭標示為「OVTI5678」,且過去從未有任何 Linux 驅動程式宣告支援該識別碼(ID),但在讀取暫存器 0x300a 時,該晶片回報的真實晶片 ID 實際上為 0x005675。
事實上,除了這台 Dell Latitude 7320 外,再找不到其他筆電使用 OVTI5678。經過進一步比對機器的 ACPI SSDB 資料,該硬體配置了 2 條 CSI-2 資料通道與 19.2 MHz 外部時脈,輸出解析度為 2592x1944(500 萬像素),完全符合現有 ov5675 驅動程式的原生參數,很大機會是官方填錯 ID。
因此,Sahan Nissanka 在既有的 ov5675 驅動程式中加入 OVTI5678 識別碼支援,並修正了 PMIC 及 IPU 資料,令鏡頭可正常輸出畫面。雖然尚未定義 RGB-IR 格式,驅動程式暫時宣告為 SGRBG10,導致畫面色彩出現偏差且無法透過白平衡調整修復,但目前這項「可顯示畫面但色彩未完全精確」的過渡方案,總比硬體完全無法使用好,未來有時間會再作出完整修正。
資料來源: