2023년 6월 26일 월요일

우분투 22.04 노트북 카메라 설치 (Acer Predator helios neo 16)

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

댓글 없음:

댓글 쓰기