가젯 대용량 저장소 통과

가젯 대용량 저장소 통과

저는 커널 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 장치 시스템을 사용하면 원하는 모든 장치를 선택할 수 있습니다.

관련 정보