usb host-to-host 통신을 해야한다면,
드라이버가 공개된 usb host-to-host bridge 장치(보통은 중간에 뭐가 달린 케이블 형태)를 구하시고,
역시 libusb 를 사용해서 어플을 만드시면 되겠습니다.
드라이버가 공개된 장치를 사용하셔야하는 이유는, 드라이버에서 하는 일(detect/probe, configuration, I/O)을 똑같이 libusb 어플에서 대신 해야 하기 때문에 그렇습니다. 거의 복붙 수준이죠.
usb host-to-host 통신을 해야하는데 usb host-to-host bridge 장치를 구하는게 부담된다면,
드라이버가 공개된(다시 말해 리눅스에서 사용가능한) usb-serial 변환 장치를 두 개 구하셔서,
커널 드라이버를 unload 한 다음 libusb 를 사용해서 어플을 만들어서 대신 하셔도 됩니다.
usb serial 이라는 class 는 없기 때문에, 보통은 전용의 벤더 드라이버를 사용해야하니 드라이버를 unload/remove/disable 하기가 편할겁니다.
pi 3 모델은 usb device 모드를 지원하지
pi 3 모델은 usb device 모드를 지원하지 않는다는데요.
zero, zero w 혹은 classic a/a+ 모델은 지원한다는 군요.
usb device 모드를 지원하는 장치에서 linux 를 사용한다면,
http://blog.soutade.fr/post/2016/07/create-your-own-usb-gadget-with-gadgetfs.html 처럼 어플을 만들고.
usb host 측에서,
libusb(http://libusb.info/)를 사용해서 어플을 만들면 됩니다.
usb host-to-host 통신을 해야한다면,
드라이버가 공개된 usb host-to-host bridge 장치(보통은 중간에 뭐가 달린 케이블 형태)를 구하시고,
역시 libusb 를 사용해서 어플을 만드시면 되겠습니다.
드라이버가 공개된 장치를 사용하셔야하는 이유는, 드라이버에서 하는 일(detect/probe, configuration, I/O)을 똑같이 libusb 어플에서 대신 해야 하기 때문에 그렇습니다. 거의 복붙 수준이죠.
usb host-to-host 통신을 해야하는데 usb host-to-host bridge 장치를 구하는게 부담된다면,
드라이버가 공개된(다시 말해 리눅스에서 사용가능한) usb-serial 변환 장치를 두 개 구하셔서,
커널 드라이버를 unload 한 다음 libusb 를 사용해서 어플을 만들어서 대신 하셔도 됩니다.
usb serial 이라는 class 는 없기 때문에, 보통은 전용의 벤더 드라이버를 사용해야하니 드라이버를 unload/remove/disable 하기가 편할겁니다.
댓글 달기