如何设置通过 USB 3.0 交叉电缆连接的两台 Linux 主机,并将其中一台视为设备

如何设置通过 USB 3.0 交叉电缆连接的两台 Linux 主机,并将其中一台视为设备

我试图通过 pyusb 从主机 a 向主机 b 发送信息,问题是我无法让我的 USB 交叉电缆通过 lsusb 显示在任一端,甚至无法双重连接到同一主机。我不知道如何寻址/识别我所连接的端口甚至发送信息。我知道它的可能的来做到这一点,但不知道如何实际设置它。我想让其中一个主机成为一个设备,或者另一个主机的从属设备,就好像它是一个真正的 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 主机之间建立串行连接。这将允许在 tty 之上运行 PPP 或 SLIP 连接。

答案2

对的,这是可能的。有“USB Gadget”项目和“Linux IO Target”项目。关于这两个项目似乎有很多讨论,但关于如何使其真正发挥作用的讨论却很少。

相关内容