시작 wrote..
: 현재까지는 지원할 생각이 없다는 정도의 메일만 받았습니다.
: 딱부러지는 대답을 듣지 못해서 저도 좀 답답했습니다.
:
: usb에대해서 좀더 질문을 해도될까요?
:
: 그런데 님의 답변 내용에서...
: "usb는 장치 타입과 데이터 타입이 구별되어 있습니다."
: "장치에서는 각각의 타입에 따라 하드웨어 프로토콜 스팩이 다릅니다. "
: 라고 하셨는데..
:
: 혹시 control타입을 사용해서 장치를 인식하면 그 장치(slave)의 하드웨 어 프
: 로토콜 스택에따라 bulk, interrupt, iso전송방식이 하드웨어적으로 결정 돼 버
: 리는 것인가요?

=> 우선 plug-in을 통해서 장치의 타입과 클래스를 결정하지요.
(iso,bulk,interrupt)그것은 초기
에 장치에 있는 device descriptor에 있는 정보를 호스트로 보내면서 결정됩
니다. 물론 device descriptor라는 정보를 수정하면 iso 타입의 장치를 벌크
타입의 장치로 강제로 인식 시킬 수 있습니다,


:
: 그러니까 ov511이라는 장치를 인식하면 그다음에 데이타의 전송은 iso방 식 으로
: 결정나버리나요?
: 설마 이런 뜻은 아니죠??

=> 아마 장치 등록되는 과정을 디폴트로 하면 당연히 iso방식으로 결정되겠지
요.

:
: 지금 저의 계획은 sl811드라이버에서 iso가 지원이 되지않더라고
: 일단, bulk,interrupt전송방식으로 이미지 데이타를 받아서 video4linux를
: 사용해서 jpeg파일 한개 만들어보는것을 목표로 하고있거든요...
:
: 그런데 전송방식이 slave장치의 하드웨어 프로토콜 스팩에따라 결정된다 면..
: 무조건 iso방식을 sl811드라이버에서 지원되도록 하거나.. 포기해야 겠 군 요??

=> 앞에서 이야기 했었던 것처럼 장치가 초기화 되면서 설정을 위한 데이터
device descriptor를 수정하면 iso가 bulk 타입으로는 바뀔 수 있습니다. 하
지만 기본적으로 iso와 bulk 타입은 다르기 때문에 디바이스 드라이버(host
와 slave 모두 -.-;;)를 수정해야 합니다. 물론 시간이 많다면 가능을 할 것
같습니다만...

:
: 아직 usb를 제대로 이해하지 못해서 걱정이 많네요..
: 조언좀 부탁하겠습니다.
: 포기할지? 칩을 바꿀지? 그냥 밀어붙여볼지...?
: 중요한 순간인것 같습니다.
: 답변좀 꼭 부탁하겠습니다.

=> 만약 프로젝트를 진행하신다면 usb를 제대로 이해를 하셔야 진행할 수 있
는 작업들입니다. 생각보다 usb는 내부 스팩(API를 사용하는 것이 아니라)이
좀 복잡하고 추상화가 많이 되어 있습니다. 따라서 USB를 분석하고 이해하시
려면 적지 않는 시간이 요구 될겁니다.

:
: 질문 조금 추가 하겠습니다.
: "For example, in Bulk mode the maximum packet length is 64 bytes. In ISO
: mode, the maximum packet length is 1023, since the SL811HS only has an 8-
: bit length; the maximum packet size for the ISO mode using the SL811HS
: is 255 – 16 bytes."
: 이말이 sl811에서는 iso모드를 사용하더라도 maximum인 1023byte를 지원 하 지
: 못한다는 말같네요...
: 하드웨어 적으로 iso를 전혀 지원못하는 것이 아니고...
: 완벽하게 1023을 지원하지는 못한다는 인것 같은데... 맡나요??

=> 카메라 장치에서 기본적으로 1023 바이트로 데이터를 전송한다면 호스트
드라이버에서 정상적으로는 1023바이트를 수신하고 일정 타이밍 후에 다시 전
송을 받도록 되어 있지만 이런 경우에는 호스트 장치의 드라이버에서 BYTE
단위로 데이터를 받아서 1023바이트를 드라이버에서 별도의 버퍼 관리를 해
야 할 것 같습니다.

한번 USB 관련 자료들을 참고 하셔서 공부를 하시길 바랍니다.
usb관련 자료를 falinux.com 자료게시판에 올려 놨습니다. 참고 하시길 바랍

다.