Run Camera on Acer Predator Helios laptop (Ubuntu 22.04)
리눅스에선 드라이버가 제대로 설치가 안되면 수동으로 드라이버를 find, apply 해줘야 한다.
먼저 하드웨어에서 설치가 제대로 안된 드라이버를 찾는다.
sudo hwinfo > hwinfo.lst
cat hwinfo.lst | grep Unclassified
이러면 설치가 안된 드라이버 목록이 나오는데 Camera 는 아래와 같다.
74: USB 00.2: 0000 Unclassified device
[Created at usb.122]
Unique ID: GEsk.yzwaFoKvhi7
Parent ID: k4bc.2DFUsyrieMD
SysFS ID: /devices/pci0000:00/0000:00:14.0/usb1/1-6/1-6:1.2
SysFS BusID: 1-6:1.2
Hardware Class: unknown
Model: "Quanta ACER HD User Facing"
Hotplug: USB
Vendor: usb 0x0408 "Quanta Computer, Inc."
Device: usb 0x4035 "ACER HD User Facing"
Revision: "0.04"
Serial ID: "01.00.00"
Speed: 480 Mbps
Module Alias: "usb:v0408p4035d0004dcEFdsc02dp01icFEisc01ip01in02"
Config Status: cfg=new, avail=yes, need=no, active=unknown
Attached to: #80 (Hub)
위 정보를 보면 type 은 USB 이고, (Hotplug: USB)
Vendor 는 0x0408 “Quanta Computer, Inc”
Device 는 0x4035 “ACER HD User Facing” 이라는 것을 알수 있다
위 정보를 토대로 linux-hardware.org 에서 모델명 혹은 Vendor 명으로 드라이버를 찾는다
사용자 커널 버전에 맞는 드라이버를 컴파일 및 modprobe 해준다.
그러나 여러번 시도 끝에 Quanta 드라이버에 버그가 있어 패치를 해줘야 한다는 내용을 발견..
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2000947
# 먼저 C 언어로 된 드라이버를 패치, 컴파일 하기 위해 build 패키지를 설치.
sudo apt update && sudo apt install -y build-essential
다음, 커널 드라이버를 컴파일 하기 위해 소스를 내려 받고, 빌드한다.
# 홈으로 이동
cd ~
# download kernel source
apt-get source linux-modules-extra-$(uname -r)
# uvc 드라이버 소스로 이동
cd ~/linux-*/drivers/media/usb/uvc
# 문제가 있는 uvc_driver.c 파일을 rename
mv uvc_driver.c uvc_driver.old
# patch 된 소스를 다운로드
wget <https://raw.githubusercontent.com/Giuliano69/uvc_driver-for-Quanta-HD-User-Facing-0x0408-0x4035-/main/uvc_driver.c>
# 소스 컴파일
make -j4 -C /lib/modules/$(uname -r)/build M=$(pwd) modules
# 컴파일된 커널 오브젝트 설치
sudo cp uvcvideo.ko /lib/modules/$(uname -r)/kernel/drivers/media/usb/uvc/
그 다음 현재 로드되어 있는 모듈을 패치버전으로 변경
# find uvc modules
lsmod | grep uvc
# 위에서 나열된 uvcvideo 모듈 삭제
sudo rmmod uvcvideo
# patch 된 모듈로 probe 해준다
sudo modprobe uvcvideo
마지막으로 시스템을 리붓하면 카메라가 정상작동 함.
- 참고로 cheese 보다 gucview 로 카메라 테스트 해보는게 정신건강에 이롭다
sudo apt install gucview
댓글 없음:
댓글 쓰기