인트라넷에 있는거라 전체원문은 못가져오고 USB가 Device 드라이버로 인식해서 커널단에서 구조체 정보를 통해 ID 값과 데이터 등등을
관리하고 이게 하위USB랑 연결되도 동적으로 생성되서 관리해주는걸로 알고있어.
그래서 이 Descriptor 라는 단에서 시작해서 전체적인 USB데이터를 관리해주나봐.
ㅅㅅㅅ 니말대로 BIOS 에서 USB HID 데이터를 -> PS2 방식으로 에뮬시켜준다면 위와같은식으로 해줘서 가능한거같아
어차피 바이오스는 계속 살아있으니까 내부 커널에있는 디바이스드라이버도 살아있다고 봐도 될거같은데..
만약 그러면 드라이버가 USB Descriptor를 작동시키니까 니말대로 될듯하다
ㅅㅅㅅ의 원문이 어딨길래... 궁금하넹.
원문은아니고;; 내가 내글에서 뭐물어보다가 ㅅㅅㅅ라는애랑 얘기하다가 나온건데 암튼 이야기가 다른대로많이 흘렀네 ㅋ..
ㅅㅅㅅ가 드립치는 원문은
http://en.wikipedia.org/wiki/End-of-file
일테고 나머지는 개드립이겠지
이 이미진 걍 흔한 이야기잖아. Configuration0 는 이를테면 Full Speed( USB1.x ) Configuration1 은 이를테면 Fast Speed (USB2.0) 같은 (Super Speed : USB 3.0 도 추가될 수) 환경들이고 이것에 따라 패킷의 크기와 버퍼의 크기, DMA설정 부분 등이 달라지지.
OTG 같은 복합 포맷을 지원하는 환경이면 단순히 속도가 아니라 장치 종류별 환경으로 나뉘게 되지만 ; )
아직 모르는단어가 너누많다 사실 나도 여까진 그냥 자료만본상태라서 잘모르겠는데 니가 말한게 맞는거같아.
그 안에서 CDC 나 MSC 같은 USB class 들로 나뉘고 (HID도 여기서 분류)
여기서 Control Trasnfer 프로토콜(영어로 쓰면 자꾸 팅기네) 과, Bulk, Iso 같은 네 가지 프로토콜이 사용되고
각각 입출력 EndPoint 를 갖게 되는거지.
디바이스 디스크립팅 단계에선 뭐 장치 VID PID랑 이름 따위 주고 받고 커넥션된 속도 정도 확인하는거야. 그래서 어떤 configuration 을 선택할지 고르는게 전부.
그럼 저기서 config가 의미하는건 전송속도고 Interface단에서 나뉘어서 거기에 따른 연결이되는거네?? 그럼 USB 허브에 HID 2개에 다른 인터페이스 USB를 꼽으면 config는 동일하고 거기에따른 인터페이스만 나눠서 endPoint가 갈라지는거야?
이건 PC(Host) 측의 드라이버가 연결되는 과정과는 상관없는 표야.
걍 USB Device 내부 구조별 흐름임.
config 는 디바이스 종류별로 다르지.
이미 descriptor 단에서 (같은 마우스를 두 개 꼽지 않는 이상) VID PID 가 다를테고
config 는 단지 연결 상태(연결 속도, 기능) 별 분류군일 뿐이야. FS (USB2.0) 은 512 바이트 패킷을 사용하고 SS (USB3.0) 은 1024 바이트 패킷을 사용한다. 뭐 그런식의 설정들이지.
(벌크모드 통신의 예)
그니까 저 표는 OSI 7 Layer 처럼 상단부분은 좀 더 논리적인 계층 하단부분은 좀 더 물리적인 계층을 다루고 있을 뿐이라고 이해하면 돼.
물리계층에 가까운. (endpoint 라는게 그냥 pipe 같은거니까)
뭐야 ㅅㅅㅅ 가 말한 글의 링크를 주지 쓸데없는걸 주고 있어 ㅡ,.ㅡ
다 봤다. 뭐 귀엽고만 상상력 ㅋㄷㅋㄷ
쟤 예전부터 말 막 지어내서 아는척 하던 애
그래도 니보단 훨 나아.
남 깔 시간에 니 잘난척이나 좀 해봐.