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?
그러면 수천 개의 행이 표시됩니다.
답변1
아직 테스트해본 적은 없지만, 따르면USB3 디버그 포트사용할 수 있습니다USB 3.x 디버그 케이블두 Linux 호스트 간에 직렬 연결을 설정합니다. 이렇게 하면 PPP 또는 SLIP 연결이 tty 위에서 실행될 수 있습니다.
답변2
예, 가능합니다. "USB Gadget" 프로젝트와 "Linux IO Target" 프로젝트가 있습니다. 이 두 프로젝트에 대해 많은 논의가 있는 것 같지만 실제로 작동하게 만드는 방법에 대해서는 거의 논의되지 않습니다.