저는 커널 4.14(컴퓨터 1)에서 Yocto를 사용하고 있습니다. 두 개의 USB 포트가 있습니다.
호스트: USB 키 삽입(대용량 저장 장치)
OTG: 다른 컴퓨터에 연결(컴퓨터 2)
################ ###############
|USB_KEY|----## COMPUTER 1 ##----## COMPUTER 2##---|screen, keyboard, ...
################ ###############
^ ^
USB link 1 USB link 2
컴퓨터 2에서 컴퓨터 1에 연결된 USB 플래시 드라이브에 액세스하려고 합니다.
USB 연결 2로 g_ether 가젯을 사용하고 있으며 대용량 저장 가젯과 같은 다른 가젯 모듈을 사용해야 합니다.
컴퓨터 1이 대용량 저장 장치에 연결할 수 있습니까?
감사해요
답변1
해결책은 다음과 같습니다.
g_multi
편집하다:
g_multi는 커널에서 "Multi-Function Composite Gadget"이라고 불리는 USB 가젯입니다. 이 모듈에는 두 가지 옵션이 있습니다.
< > Multifunction Composite Gadget
[ ] RNDIS + CDC Serial + Storage configuration
[ ] CDC Ethernet + CDC Serial + Storage configuration
내 경우에는 첫 번째 옵션을 사용합니다. 하지만 CDC Serial을 사용할 이유가 없습니다.
활성화하려면:
modprobe g_multi file=/dev/sda # sda is your USB mass storage device
이 명령은 호스트 장치에 USB0 네트워크 인터페이스와 대용량 저장 장치를 생성합니다. 또한 CDC Serial을 생성합니다.
이제 configfs를 통해 설정된 USB 가젯을 사용합니다. 문서를 참조하세요: 가젯 configfs 문서
이 "새로운" USB 장치 시스템을 사용하면 원하는 모든 장치를 선택할 수 있습니다.