USB 3.0 크로스오버 케이블을 통해 연결된 두 개의 Linux 호스트를 설정하고 하나를 장치로 처리하는 방법

USB 3.0 크로스오버 케이블을 통해 연결된 두 개의 Linux 호스트를 설정하고 하나를 장치로 처리하는 방법

pyusb를 통해 호스트 A에서 호스트 B로 정보를 보내려고 하는데 문제는 동일한 호스트에 이중으로 연결되어 있지 않아도 lsusb를 통해 USB 크로스오버 케이블을 양쪽 끝에 표시할 수 없다는 것입니다. 연결된 포트의 주소를 지정/식별하는 방법이나 정보를 보내는 방법을 모르겠습니다. 나도 알아가능한이 작업을 하려고 왔지만 실제로 설정하는 방법을 모르겠습니다. 호스트 중 하나를 실제 USB 장치인 것처럼 장치로 만들거나 다른 호스트의 슬레이브로 만들고 싶습니다. 장치 설정에만 관심이 있습니다.->호스트에는 양방향 통신이 필요합니다.

내 자신의 장치 설명을 만들어야 할 것 같지만 실제로 Linux 기반 시스템에서 장치를 인식하는 프로세스의 어떤 부분도 설명하지 않습니다.

제 생각에는 양쪽 끝 또는 연결 자체에서 호스트의 주소를 지정하는 방법을 찾고 있는 것 같습니다. 이는 실제로 정보를 보낼 수 있도록 식별하고 pyusb와 함께 사용해야 하는 것입니다. USB 장비.

편집: 둘러보니 장치처럼 작동하도록 하려면 호스트에서 g_serial을 사용해야 하는 것 같습니다. 여기에는 올바른 드라이버가 포함되어야 하며 양쪽 끝을 이런 식으로 연결할 수 있어야 하지만 여전히 USB 장치 포트가 필요한 것 같고 분명히 양쪽 끝에서 임베디드 시스템을 사용하지 않으므로 액세스할 수 없습니다. 장치 포트 또는 둘 다 기준.

저는 일종의 호스트 하드웨어-장치 변환기를 사용하고 있지만 대역폭을 희생하지 않도록 해야 합니다. 대역폭은 내가 이더넷을 사용하지 않는 이유이기도 합니다.

어떻게든 포트를 통해 직접 정보를 보낼 수 있다면 나는 이 모든 것을 기꺼이 포기할 것입니다. 분명히 이것은 파일 전송을 허용하는 다른 케이블용 특수 소프트웨어가 있기 때문에 가능합니다(그리고 Linux에 연결될 때 Windows가 내 케이블을 인식함). 나도 그렇게 할 수 있어야 해요.

편집: dmesg 출력이 너무 크지만 여기에 흥미로운 점이 있습니다.

usb usb4-port1: Cannot enable. Maybe the USB cable is bad? 

그러면 수천 개의 행이 표시됩니다.

또한 Windows 측에서 이것을 얻으십시오 (실제로 내가 원하는 것은 아닙니다)여기에 이미지 설명을 입력하세요.

답변1

아직 테스트해본 적은 없지만, 따르면USB3 디버그 포트사용할 수 있습니다USB 3.x 디버그 케이블두 Linux 호스트 간에 직렬 연결을 설정합니다. 이렇게 하면 PPP 또는 SLIP 연결이 tty 위에서 실행될 수 있습니다.

답변2

예, 가능합니다. "USB Gadget" 프로젝트와 "Linux IO Target" 프로젝트가 있습니다. 이 두 프로젝트에 대해 많은 논의가 있는 것 같지만 실제로 작동하게 만드는 방법에 대해서는 거의 논의되지 않습니다.

관련 정보