Lenovo P14 AMD 노트북에서 Qtile Window Manager와 함께 Garuda Linux를 사용하고 있는데 내장 카메라가 작동하지 않습니다. Cheese와 다양한 웹사이트(Jitsi, Google Hangouts 등)를 시도했지만 항상 "장치를 찾을 수 없음"이라고 표시됩니다.
video*
에 파일이 없습니다 /dev/
.
리눅스 버전:Linux linux 5.19.9-zen1-1-zen
달리기 lsusb
:
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 002: ID 0489:e0cd Foxconn / Hon Hai Wireless_Device
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
일부 시스템 정보:
Graphics:
Device-1: AMD Cezanne vendor: Lenovo driver: amdgpu v: kernel arch: GCN-5.1
code: Vega-2 process: TSMC n7 (7nm) built: 2018-21 pcie: gen: 3
speed: 8 GT/s lanes: 16 link-max: gen: 4 speed: 16 GT/s ports:
active: HDMI-A-1,eDP-1 empty: DP-1,DP-2 bus-ID: 07:00.0
chip-ID: 1002:1638 class-ID: 0300
Display: x11 server: X.Org v: 21.1.4 compositor: Picom v: git-c4107
driver: X: loaded: amdgpu unloaded: modesetting alternate: fbdev,vesa
gpu: amdgpu display-ID: :0 screens: 1
Message: Unable to show GL data. Required tool glxinfo missing.
이 문제를 해결하기 위해 어떤 조치를 취할 수 있는지 잘 모르겠습니다.
답변1
https://github.com/djrscallly/miix-510-cameras Miix 510 Lenovo에서 Linux를 실행하는데 필요한 사항에 대한 서면 답변입니다.
오! 그들의 일을 합니까?
일종의. Surface_camera 드라이버와 ov2680 드라이버를 로드한 후 (매우 나쁜) 이미지를 촬영할 수 있습니다. ov5648 드라이버가 아직 작동하지 않습니다. 이 드라이버에 대해 수행해야 할 작업이 여전히 많이 있으며, 이후 libcamera에서도 유용한 방식으로 작동하도록 만들 수 있습니다. 이것이 왜 그렇게 어려운가요?
몇 가지 질문이 있습니다:
The cameras are powered off by default behind a PMIC called a TPS68470, identified as INT3472 in the ACPI tables. The ACPI tables don't define an I2cSerialBus2 section for the PMIC, so its driver never realises that it's present.
The TPS68470 driver doesn't actually turn it on; there are 3 GPIO lines into the PMIC defined in the ACPI tables, but they're off by default and the PMIC driver doesn't toggle them. They're also not named in the ACPI tables so it's not a simple matter to determine which ones are the power lines and which the reset pin. In my case, 1 and 2 were power and 0 was reset, so the chip can be turned on like so:
$ sudo gpioset gpiochip0 122=1 143=1
이 단계 전에는 PMIC나 카메라의 i2c 인터페이스가 활성화되지 않습니다. 즉, 어디에도 전혀 표시되지 않습니다. 장치가 켜지면 i2cDetect를 사용하여 장치를 볼 수 있습니다.
OV2680은 0x10에 위치합니다. TPS68470은 0x48에 있는 장치입니다. 0x0c에 무엇이 있는지는 모릅니다. 이는 oc5648에 대해 정의된 두 가지 가능한 주소 중 하나이지만 해당 칩에 대한 PMIC를 열면 0x36에 있는 것으로 나타났습니다. 정말 누가 신경 쓰나요? 어쨌든 이제 카메라가 켜졌으니 센서에 ID를 물어보면 말도 안 되는 소리가 아닌지 확인할 수 있습니다. OV2680 데이터시트는 해당 ID가 레지스터 0x300a에 있음을 알려줍니다.
$ sudo i2cDetect -r -y 7