我有一台运行 Ubuntu、内核 v5.8 的笔记本电脑。它有两个缺乏功能驱动程序的摄像头,我想尝试让它们工作。
我遇到了一个直接的障碍,因为设备似乎没有按照我(或者实际上是 ACPI 表)期望的方式存在。例如,对于前置摄像头,ACPI 表有这样的规定:
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (SBUF, ResourceTemplate ()
{
I2cSerialBusV2 (0x0010, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.PCI0.I2C2",
0x00, ResourceConsumer, , Exclusive,
)
})
Return (SBUF) /* \_SB_.PCI0.CAM1._CRS.SBUF */
}
和数据表有些矛盾的地址:
The 8-bit address of the OV2680 is 0x20 when SID pin is set to 1 or 0x6C when SID pin is set to 0.
但是这些都没有帮助,因为 0x10、0x6C 或 0x20 处没有芯片。 0x0c 处有一个芯片,但 I2C 总线上只有一个芯片用于两个相机。这让我怀疑摄像机可能位于多路复用器或其他东西后面,但我找不到任何相关文档。如何识别特定 I2C 端口上正在运行的设备,以便我可以找出 0x0c 处的内容是什么? 更多信息: 笔记本电脑规格:Lenovo Miix 510。OEM 原始安装的操作系统是 Windows 10。摄像头传感器是 OVTI2680 和 OVTI5648。
此要点中的完整 DSDT 表
您是否加载了相机 PMIC 驱动程序?您的相机传感器可能已关闭。 相机PMIC是TPS68470芯片,由三个驱动程序代表:
PMIC 作为INT3472