로지텍 이놈에다가 제 얼굴을 뿌려버리고 말았습니다..
아직은 흑백이지만, 너무 피곤해서 좀 쉬어야 겠군요...
이녀석 때문에 일주일을 꼬박 밤을 새웠습니다...

usb가 2.4.21 버전이 아니군요. 2.4.26입니다.
그리고, hiddev.h가 패치가 안되어 있었습니다.
아직 리눅스가 서툴러서 패치만드는 법을 몰라 애먹었습니다.(인터넷에서 패치 파일을 찾아서 '+', '-' 대로 삭제하고 추가하고 그랬습니다. 하하하)

1.  linux/driver/ 디렉토리에 가셔서 usb 링크를 지우구요 ( rm -rf usb)
2. 새로 링크를 만듭니다. ( ln -s usb-2.4.26 usb )
3. FALINUX에 올라와 있는 친절한 분의 포팅 문서대로 포팅을 합니다.
4. 커널 컴파일을 하면 에러가 적지않게 발생하면서 오류가 발생합니다. 이것은 위에 말씀드렸듯이 hiddev.h가 패치되지 않아서 발생하는 오류입니다.
5. 인터넷에서 hiddev.h라는 이름으로 검색을 했습니다. 제가 찾은 파일은,
http://kernel.mirrors.pair.com/pub/linux/kernel/people/gregkh/usb/2.4/usb-hid-04-2.4.21.patch
http://www.kernel.org/pub/linux/kernel/people/gregkh/usb/2.4/usb-hid-01-2.4.26-pre4.patch
두개의 문서입니다. 여기서 찾아보니, 오류로 등장하는 갖가지 define과 struct 들의 정의가 있는데, 패치할줄 몰라 일일이 하나하나 오류에 등장하는 내용들을 수정했습니다.
6. 그랬더니 컴파일이 되었지요.
7. 제가 컴파일한 어플리케이션 프로그램은 mvc, camstream 두개 인데, mvc는 현재 락은 걸리지 않으나
"Not Compiled with JPEG support" 라는 메시지를 내면서, 디렉토리까지만 만들고 종료해버리고, camstream은 뭐가 불만인지 흑백화면의 제가 절 째려보더군요.....

아직 건드려야 할 곳이 많이 있지만, 오늘 밤은 자축하며 달콤한 잠을 청하렵니다.
그럼, 모두들 성공을 빌며...


>  로지텍pro4000을 ez-pi에다가 붙이고 USB드라이버도 잡았습니다.
>
>  camstream으로 테스트 하려고 하는데... 까만 화면만 나오고 프로그램 자체가 멈추어 버립니다.
>  
>   터치스크린으로 마우스가 움직이지 않습니다.
>
>   메시지로 디버깅 해보니  아래부분에서 블럭상태가 됩니다.
>        add_wait_queue(&pdev->frameq, &wait);
>        while (pdev->full_frames == NULL) {
>                if (pdev->unplugged) {
>                        remove_wait_queue(&pdev->frameq, &wait);
>                        set_current_state(TASK_RUNNING);
>                        return -ENODEV;
>                }
>        
>                    if (signal_pending(current)) {
>                            remove_wait_queue(&pdev->frameq, &wait);
>                        set_current_state(TASK_RUNNING);
>                        return -ERESTARTSYS;
>                    }
>                set_current_state(TASK_INTERRUPTIBLE);
>                    schedule();
>        }
>        remove_wait_queue(&pdev->frameq, &wait);
>        set_current_state(TASK_RUNNING);
>                
>
> while문을 빠져나오지 않습니다. ioctl에서 VIDIOCMCAPTURE 과 VIDIOCSYNC 이것이 연달아 명령으로
>나가는데..  
>CVideoDevice::MCapture() ioctl: Device or resource busy 첫번째 명령은 이게 뜨고요..
>두번째 명령에서는 블럭상태가 됩니다.
>
>아시는 분은 알려주시면 정말 감사하겠습니다.
>