강좌 & 팁
글 수 2,412
2014.02.27 15:52:07 (*.52.177.249)
44546
usb 웹캠을 보드에 연결해서 사용하고자 하는 경우,
당연히 드라이버를 찾아서 올려줘야 합니다.
제가 사용하는 webcam 은 logitec c310 입니다.
로지텍에서는 UVC 라는 리눅스 통합 드리이버를 지원합니다.
페이지는 여기 ( http://www.ideasonboard.org/uvc/ ) 입니다.
지원하는 webcam 의 종류와 다운로드 받는 방법 등이 나와있고,
Linux 2.6.26 이상에서는 커널에 포함되어 있다는 설명까지 나와있습니다.
제가 사용하는 s100-s5pv210 보드는 2.6.35 버전 커널을 사용하기 때문에
커널에서 해당 드라이버를 바로 포함해서 사용했습니다.
" make menuconfig " 를 실행하고 " / " 를 눌러서 드라이버를 찾습니다.
UVC 는 USB VIDEO CLASS 의 약자니깐, " video_class " 로 찾으면 다음과 같이 나옵니다.
+------------------------- Search Results --------------------------------+ | Symbol: USB_VIDEO_CLASS [=y] | Prompt: USB Video Class (UVC) | Defined at drivers/media/video/uvc/Kconfig:1 | Depends on: MEDIA_SUPPORT [=y] && VIDEO_CAPTURE_DRIVERS [=y] && VIDEO_V4L2 [=y] && V4L_USB_DRIVERS [=y] && USB [=y] | Location: | -> Device Drivers | -> Multimedia support (MEDIA_SUPPORT [=y]) | -> Video capture adapters (VIDEO_CAPTURE_DRIVERS [=y]) | -> V4L USB devices (V4L_USB_DRIVERS [=y]) | | | Symbol: USB_VIDEO_CLASS_INPUT_EVDEV [=y] | Prompt: UVC input events device support | Defined at drivers/media/video/uvc/Kconfig:9 | Depends on: MEDIA_SUPPORT [=y] && VIDEO_CAPTURE_DRIVERS [=y] && VIDEO_V4L2 [=y] && V4L_USB_DRIVERS [=y] && USB [=y] && (USB_VIDEO_CLAS | Location: | -> Device Drivers | -> Multimedia support (MEDIA_SUPPORT [=y]) | -> Video capture adapters (VIDEO_CAPTURE_DRIVERS [=y]) | -> V4L USB devices (V4L_USB_DRIVERS [=y]) | -> USB Video Class (UVC) (USB_VIDEO_CLASS [=y]) |
위에 표시된 부분들을 tree 에서 찾아서 모두 활성화 시키고 커널에 포함시킵니다.
이 커널을 보드에 올려서 부팅한 후, webcam 을 연결시키면 다음과 같이 driver 가 올라왔음을 알 수 있습니다.
$ usb 1-1.1: new high speed USB device using s5p-ehci and address 3 uvcvideo: Found UVC 1.00 device(046d:081b) input: UVC Camera (046d:081b) as /class/input/input1 $ lsusb Bus 001 Device 003: ID 046d:081b Logitech, Inc. Webcam C310 Bus 001 Device 002: ID 0409:005a NEC Corp. HighSpeed Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
이제 /dev/video0 디바이스 파일로 접근해서 webcam 을 다룰 수 있습니다.