정말 고민만 하다가 이렇게 질문 글 올립니다.. ^^
제가 usb hub를 이용하여 둘 이상의 다른 device를 pc에서 제어하고자 하는데요.
1. pc는 usb hub와 enum을 통해 set address를 설정하고 (hub dev address를 설정합니다)
2. pc는 get_port_status로 hub의 status를 체크하고,
hub에 device가 붙으면 hub는 hub status change를 pc에 알려줍니다.
3. pc는 붙은 device가 뭔지 알기 위해 get_descriptor(device)를 보냅니다. 이때는 다시 dev_addr을 0 으로 해서 보내는데요.
여기서 질문이 있는데요.
보통 usb hub chip을 보면 register에 dev_addr을 셋팅할 수 있게 되어있는데..이건 hub의 dev_addr 일거잖아요
default로 "0"으로 되어있다가 pc가 보내준 set_address를 통해 예를 들면 "2"로 셋팅을 할거구요..