Chiusakpung's Electronics Blog

블로그 이미지
Computer programming ...
by 치우삭풍
  • Total hit
  • Today hit
  • Yesterday hit

'UVC'에 해당되는 글 4건

  1. 2009.04.04
    [개별연구노트] 4월 4일 토요일 - 첫 주말, SSL을 달리다 +ㅁ+
  2. 2009.04.03
    [문서][링크]UVC(USB Video Class) & V4L2(Video for Linux 2) 1
  3. 2009.04.02
    [개별연구노트] 4월 2일
  4. 2009.04.01
    [개별연구노트] 4월 1일

이얍!

보고서 제출하고 야식 먹다 쥐쥐! 퇴근할 마음이 사라졌다!
그래 달려 보는거야! 오늘은 기필코 UVC 널 깔아보겠으!

-
모르는게 있음 역시 랩 선배님들께 여쭤보는 것이 빠르다.
=ㅁ= 커널 업그레이드...... S.J. Lee형께서 한 5분 정도 어루만저 주시니 업그레이드가 완료 되었다.(kernel 2.6.18-92.1.22.el5 -> kernel 2.6.18-128.1.6.el5)

교훈 : 삽질 해서 안되면 바로 여쭤보자. 물론 삽질에서 얻은 자료가 쌓여있으니 지금 다시 처음부터 하는데 정말 편하지만서도, 때론 두드리면 열리니까.

(ㅇ_ㅇ 아 역시 S.J. Lee형 포스 대박. 다음학기도 만일 SSL에서 졸업연구를 하게 되면 또 사수님으로 뵙고 싶다. 정말 하나하나 가르침을 선사하시는 분!)

아래는 지금까지 한 삽질들의 순서를 최적화 한 것. 아래 순서대로 하면 스무뜨하게 UVC가 설치된다ㅋ 자세한 사항은 뒤에 있는 날의 개별연구노트를 참고하면 된다.

4/1일자 : http://chiusakpung.tistory.com/entry/개별연구노트-4월-1
4/3일자 : http://chiusakpung.tistory.com/entry/개별연구노트-4월-3

1) RPMforge 설치 (4/1)
  RPMforge라는 Third Party Repository를 추가하는 단계.
  이 것을 설치함으로써 yum에서 인식하고 설치할 수 있는 패키지가 다양해 진다.

2) Mercurial 설치 (4/1)
  RPMforge로부터 yum은 mercurial을 설치할 수 있게 된다.

3) repository에서 hg로 V4L-DVB clone 받기. (4/3)
  linuxtv.org가 V4L-DVB Project의 중심지이다. 이곳의 Repository에서 V4L-DVB를 받고 컴파일하려고 했는데, 일단 받고 나서 make하니 에러가 난다. gcc가 없단다.

3') 온갖 개발 환경 라이브러리 받기 - scottro에서 확인바람. (첫줄 하나만 수행) (4/3)
   yum install make gcc gcc-c++ kernel-devel SDL-devel subversion

  생각해보니 3)을 할게 아니라, 원래 목적은 UVC였다. 따라서 아래와 같이 작업.

4) repository에서 hg로 UVC clone 받고 make (4/3)
  -> 아무런 에러 없이 성공!

5) 마지막 인식 작업은 scottro 홈페이지의 맨 마지막에 있는 다음의 명령어를 입력하면 된다.
  depmod -a
  modprobe

=> 이제 /dev/video0가 생겼고, lsmod | grep 'video'를 uvcvideo 모듈이 올라와 있음을 확인할 수 있다. (A.M. 3.30)

(PM 4:40)

혹시나 해서 재부팅한 뒤에도 /dev/video0가 뜨는지 확인해 보았다.
이젠 마음 놓고 Ekiga를 실행해도 동영상이 나오는 것을 확인!

이제 해야할 일은
1) V4L-DVB를 설치하고 (4/4 PM 5:00, OK)
2) V4L을 이용하여 리눅스용 USB Control Library를 제작한 뒤
3) PXA 계열 보드와 통신을 하여 임베디드 시스템을 구현하는 것!

아자자! SSL, 화이팅!
AND
다음은 V4L2 및 Linux USB Video Class에 대한 문서 및 관련 홈페이지을 다음과 같이 정리한다.

1) UVC 프로젝트 홈페이지. http://linux-uvc.berlios.de/ 

2) Mercurial 공식 위키. - 사실 CentOS의 경우 아래의 RPMforge를 설치해주면 yum을 통해 쉽게 설치할 수 있다.
http://www.selenic.com/mercurial/wiki

---

1) V4L2 API Official Online Document (출처 : http://www.linuxtv.org)
http://www.linuxtv.org/downloads/video4linux/API/V4L2_API/spec-single/v4l2.html

2) V4L 한글 문서 - 상명대 Embedded S/W 연구회
http://blog.naver.com/varcars?Redirect=Log&logNo=31181767

3) RPMforge
RPMforge 홈페이지.
http://rpmrepo.org/RPMforge/

RPMforge 설치로 Third Party Repository를 추가하면 Mercurial은 yum을 통해 바로 설치 가능(CentOS version >= 5)

CentOS에서는 다음과 같이 설치를 처음부터 끝까지 도와주는 친절한 문서가 있다.(CentOS wiki)
http://wiki.centos.org/AdditionalResources/Repositories/RPMForge?action=show&redirect=Repositories%2FRPMForge

4) Webcam install on CentOS by Scottro (아래 문서 맨 아래)
http://www.scottro.net/acer4720z.html

5) V4L wiki
http://linuxtv.org/wiki/index.php/Main_Page

이 위키에서 User section->Getting Started->How to Obtain, Build and Install V4L-DVB Device Drivers

6) V4L관련 한글 자료들

영진이와 함께하는 서당
http://user.chol.com/~valentis/Suhdang/Linux/Video4LinuxAPI.html

KLDP
http://kldp.org/node/251

AND
uvc driver를 다운 받아 컴파일을 하게 되면 다음과 같은 에러가 발생하면서 종료한다.

File not found: /lib/modules/2.6.18-92.1.22.el5/build/.config at ./scripts/make_kconfig.pl line 32, <IN> line 4.

??? 전에 페도라에서 할 때는 이런 에러가 전혀 없었던 것으로 기억한다. 혹시나 해서 저 경로로 따라가 보는데 build가 잘 못 링크 되어 있는 것을 확인하였다.

[root@localhost 2.6.18-92.1.22.el5]# ls -al
합계 1208
drwxr-xr-x 6 root root   4096  3월 31 07:41 .
drwxr-xr-x 4 root root   4096  3월 31 07:41 ..
lrwxrwxrwx 1 root root     48  3월 31 07:41 build -> ../../../usr/src/kernels/2.6.18-92.1.22.el5-i686

저런 경로는 없다. /usr/src/이하 모든 디렉터리를 뒤져보았는데도 없다. 따라서  find / -name 2.6.18-92.1.22 를 해보았으나 역시 없음.

앗 그러고 보니 뒤에 i686으로 되어 있다 - 내 컴퓨터는 i386인데 말이지. (uname -i로 확인 가능)

-_- 이건 뭐- 하면서 구글링 : 키워드 centos uvc

https://www.centos.org/modules/newbb/viewtopic.php?viewmode=thread&topic_id=16189&forum=38&post_id=57849

대충 읽어보니 어떤 사람이 나랑 같은 상황에 처해있고, 고수로 보이는 사람이 다음의 두 글을 읽고 커스텀 커널 컴파일할 각오를 하란다.
http://wiki.centos.org/HowTos/I_need_the_Kernel_Source
http://wiki.centos.org/HowTos/Custom_Kernel

.... 결국엔 커널 업그레이드 해야 하는건가;;;

좌절하다가 다시 글들을 쭉 읽어보니 초보자가 커널 컴파일은 하기 싫고, 고수가 제안한 또 다른 방법을 해봤는데 안된다더라. 그래서 다음과 같이 하라는데....
https://www.centos.org/modules/newbb/viewtopic.php?viewmode=thread&topic_id=16189&forum=38&post_id=57410

그러더니 그 고수가 다음과 같이 자신의 홈페이지를 알려주면서 참고하란다.
http://www.scottro.net/acer4720z.html
그리고 이것 관련 이 분의 답변글들.
https://www.centos.org/modules/newbb/viewtopic.php?viewmode=thread&topic_id=16189&forum=38&post_id=57416
.
.
.
-_- 히밤... 자꾸 실험 보고서 털린거 생각난다 ㅠㅠㅠㅠ 오늘까지 2개를 다써야 주말에 집을 다녀오는데 ㅠ_ㅠ...... 이번학기 두 번째로 집에 갈 수 있는 기회를 놓치긴 싫단말이야!


AND
오늘은 J.Y. Park 선배님 생일이 하루 지난 날!!
ㅠ_ㅠ.... 아쉽게도 형은 어제 석사 실험을 들어가셨단 말이지... 음... 생일날 실험하면.. 히밤..... ㅜ_-.. 슬프다. 그래서 어제 생일 축하도 못하고 오늘에야 축하해드렸다.
암튼 석사 1년차 형들 따라 세미나 수업을 듣^-^;고 (PM 4:00) 한 시간 전에 다운 받아 놓은 우분투 Live CD 8.10 버젼을 지금 굽고 있다. 어제 성진이 형(아ㅋ 성진형에 대한 포스팅도 해야겠군 : 우리나라 최초 구글 코리아 인턴 중 한 명)한테 여쭤보았는데 우분투라면 아마 웹캠이 자동으로 인식될 것 같다고 하셨다. 어차피 내가 해야할 일이 임베디드니까 개발은 웹캠에 대한 백지 상태인 CentOS에서 해야겠지만 우선 내가 뭘 빼먹었길래 웹캠인식이 안되는지 확인차로 Live CD를 구워본다.

- 아 그리고 CD 구우면서 웹툰 보다가 랩 선배-_-님께서 지나가실길래 휙하고 화면을 바꿨는데 CentOS Wiki에 들어가게 되었다. 혹시나 해서 webcam으로 검색해 보았는데 오! 자료가있다.(PM 4:25)

http://wiki.centos.org/AdditionalResources/HardwareList/Webcams?highlight=(webcam)

Now I'm on Ubuntu Linux Live CD. Because there is no Hanguel Ami, I write in English. (so sorry but please understand.)
사용자 삽입 이미지

Ekiga, the software for VoIP, in CentOS doesn't recognize my Logitech Quickcam, however in Ubuntu easily detect the webcam device.
사용자 삽입 이미지

Well, I type gqcam or xawtv in console, which are required to install qc-usb library, but I find out that they are not installed. - That is, my work in CentOS yesterday was .... well it just wastes time.
사용자 삽입 이미지

and I found the following article. - the general guide for webcam in Linux (PM 4:50)

https://help.ubuntu.com/community/Webcam
사용자 삽입 이미지

어머나 ㅜ_ㅜ 다시 CentOS로 왔는데(Live CD는 랩에 기증 ㅋ 뭐 어차피 랩 공CD로 구웠으니까), Ekiga에서 오디오 장치로는 인식을 하는데 비디오 장치로는 인식을 못하고 있는걸 확인했다(PM 5:10) 암튼 위의 자료를 읽어보니.... 일단 로지텍 퀵캠팀 (http://www.quickcamteam.org)에 들어가서 UVC(USB Video Class) Driver를 설치해야 겠다는 생각이 들었다. 다음은 UVC 프로젝트 홈페이지. http://linux-uvc.berlios.de/ 내가 갖고 있는 Logitech Quickcam Orbit/Sphere AF가 안정하게 지원되고 있음을 확인할 수 있었다.
사용자 삽입 이미지

더 밑으로 내려보면 다음과 같이 다운로드 하는 방법이 나와있다.

사용자 삽입 이미지

엥 근데 커널 2.6.26 이상에서는 설치할 필요가 없다는데? 이건 뭐.. (리눅스 버젼 확인하는 법 http://myknowledge.kr/13 )

----------------------------------------------------------------------------------------------------
금강산도 식후경 - PM 5:20 ~ PM 7:30 ^-^ 와우~ J.Y. Park 횽 생일 축하 겸 회식으로 저 멀리 신탄진 너머 누룽지 삼계탕? 맞나? 그 곳에 다녀왔다 ㅋ 역시 SSL!! 스케일이 달라~
----------------------------------------------------------------------------------------------------
사용자 삽입 이미지

다시 랩... 리눅스 버젼을 확인해보니 2.6.18이네.... UVC driver를 일단 설치해 보아야 겠다.(PM 7:50)

음.. Developer에게 있어서 Mercurial이라는 프로그램을 먼저 설치하여야 한다는데....(바로 위위 스냅샷 참고) 일단 Mercurial 홈페이지는 다음과 같다. 홈페이지 메인에 있는 Getting Started 첫번째 줄 binary package 링크 클릭.
사용자 삽입 이미지

rpm 버젼을 보니 CentOS 5.0에서는 yum을 통해 설치가 가능하다 한다.

사용자 삽입 이미지

.... 는데 아 히밤 왜 또 안돼 -_-... 그런거 없단다. 앗 그런데 자세히 읽어보니 RPMforge에 있다는데... 다음은 RPMforge 홈페이지.

http://rpmrepo.org/RPMforge/

사용자 삽입 이미지

Using RPMforge로 따라 들어가서면 아래 how to enable RPMforge ~ 가 있다. 이걸 클릭하면 CentOS wiki 문서로 가게 된다.
사용자 삽입 이미지
사용자 삽입 이미지

CentOS에서 RPMforge를 설치하는 가이드라인을 쭉 따라서 한 결과는 다음과 같다.
rpm 다운받고 다음과 같이 rpm -K rpmforge-release-0.3.6-1.el4.rf.i386.rpm 명령으로 확인.
사용자 삽입 이미지

그리고 yum을 했을 때 다음과 같이 'Loading "priorities" plugin'이라는 문구와 '69 packages excluded due to repository priority protections'가 출력되면 성공이라고 한다.
사용자 삽입 이미지

결과는 GOOOOOOD

이제 다시 Mercurial로 돌아가서 설치를 시도해본다. (PM 8:15)
http://www.selenic.com/mercurial/wiki/index.cgi/BinaryPackages#head-6e12bb40fa2d25075d090f2e9a42010e786ac661

-_-.. 바보.... CentOS 5에선 yum으로 설치했었자나...
사용자 삽입 이미지

와우 성공!!!

이제 다음의 명령어(hg clone 주소)를 입력해 보았는데 안된다. 응? 근데 주소를 확인해보니 pin뭐뭐 앞에 대쉬가 있네... 엥? 이건 뭥미? 아~ 지금 CentOS에서 물결표랑 대쉬랑 구분이 안된다. 물결표로 바꿔서 다시 입력하니 OK!
사용자 삽입 이미지

아 설치가 너무 오래걸려서 생각난김에 화면 지우는 명령어 정리.

DOS(or cmd for Windows > 2000, XP) : cls (clear screen)
MATLAB : clc (clear... console? 몰라 -_- 걍 찍었다.)
Linux : clear (MATLAB에서는 clear하면 메모리 상에 할당된 변수들을 싹 날려준다.)

난 설치가 다 된 줄 알고 확인해보려고 껐다 켰는데, 알고보니 바탕화면에 uvcvideo라는 디렉터리로 설치 소스코드가 다운받아져 있던 것이었다. 근데 less명령어로 README 를 읽고 간단히 make를 했는데 걍 에러 발생ㅠㅠ

다음의 글을 참고해서 일단 v4l-dvb를 받기로 했다. 방법은 위와 동일하게 Mercurial을 사용.

http://www.linuxtv.org/wiki/index.php/How_to_Obtain,_Build_and_Install_V4L-DVB_Device_Drivers#To_Update_the_Hg_Sources_at_Some_Future_Point_in_Time

사용자 삽입 이미지

흐어엉엉어엉어어엉ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ 안돼 안돼 에러만 나 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ (PM 9:45)

히밤 축구(북한전)도 지금 0:0이고 웹캠은 인식도 안되고 -_-....
ㅠ_ㅠ 실험 결과 보고서도 이번엔 두 개 써야되는데 ㅠㅠㅠㅠㅠㅠㅠㅠ

앗! 아~~~~싸~~~~ 지금 글 쓰자마자 바로 골넣었다~ (김치우 후반 42분. 오른쪽에서 프리킥~ 골~~~~)

지금까지 스냅샷 찍은거 메일로 보내고 이만 꺼야디 ㅋㅋㅋ
리눅스에서는 티스토리 사진 올리기가 안된다 ㅠㅠㅠ
그래서 기숙사에 들어와 포스팅한 글에 추가하고 끝!
오늘 하루도 수고했음!
AND

ARTICLE CATEGORY

전체 (126)
EECS (56)
Physics (5)
Misc. (60)

RECENT ARTICLE

RECENT COMMENT

RECENT TRACKBACK

CALENDAR

«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

ARCHIVE