两个 Linux 操作系统之间可以进行 USB 到 USB 的数据传输吗?

两个 Linux 操作系统之间可以进行 USB 到 USB 的数据传输吗?

我想在Linux(最好是Ubuntu)中创建一个USB到USB的数据传输系统。为此,我不想使用外部硬件或开关(除了这条电缆)。这就像将 USB 驱动器安装到系统上一样,但在这种情况下,一个 Linux 系统将安装在另一个系统上。我怎样才能创建这个?

鉴于我的内核编程经验非常基础,是否有可用的内核模块?

答案1

是的,这是可能的,但它是不是可以通过剪断两根带有 USB-A 连接器的 USB 电缆(通常连接到主板上的 USB)并交叉连接数据电缆来实现。如果你用这样的自制电缆连接USB电源线,你的板载USB处理芯片很可能会被烧毁。不要在家里尝试这个!

在大多数计算机主板上,处理 USB 的芯片只是主机芯片。不仅如此,它还处理大量低级通信,以加快速度并减少 CPU 的负载。您无法对计算机进行编程来处理 USB 端口上的引脚,使其充当非主机。在芯片层面上,能够在充当主机和连接到主机之间切换的设备很少,因为这需要更昂贵的芯片。这就是为什么像我的智能手机、GPS 和电子书这样的智能设备,尽管它们都运行 Linux 或类似的东西,ssh但在通过普通 USB 电缆连接时不允许我使用进行通信。

这些设备在连接时会进入某种哑模式,主机(我的桌面系统)可以将其存储用作 USB 磁盘。断开连接后,设备使用与主机相同的接口来获取数据(尽管不需要电缆连接,但这是在内部发生的)。对于这种设备,即使Linux在两者上运行,系统之间也没有通信,即linuxes。这独立于将它们连接到我的桌面的普通微型或迷你 USB 电缆。

在两台台式电脑之间,上述操作通常是不可能的,因为您需要 USB-A 到 USB-A 电缆,这并不常见(因为它无法与驱动连接的普通芯片一起工作)。

我见过的任何使用两个 USB-A 连接器进行 USB 转 USB 的解决方案都是基于中间有一些电子设备的电缆。 (很像将 USB → 串口插入串口 → USB 电缆,但然后全部连为一体)。这些通常需要驱动程序来进行传输,尽管您可能可以通过这样的电缆使用 UUCP 或其他东西,就像通过“普通”串行端口一样。这可能还需要 inetd 和正确的配置才能在另一台计算机上登录。

1我拥有的唯一可以通过这种方式进行软件更改的设备是带有这种特殊芯片的 Arduino 板。就用这个芯片做了主板 两次和普通的 Arduino 板一样贵。

答案2

是的,USB 3.0 可以通过 3.0 布线实现全双工数据传输。该规范位于 USB 规范的第 5.5.2 节中。这些规格的链接已在前面的另一个答案中给出。http://www.gaw.ru/pdf/interface/usb/USB%203%200_english.pdf

电缆变得越来越容易找到 - 例如,可以在亚马逊上以低于 8.00 美元的价格购买电缆。请务必购买数据传输、A 型公头到 A 型公头电缆。较新版本的 Linux 支持传输。

我希望这对某人有帮助 - 我自己也寻找答案很长一段时间。

答案3

您可以使用 USB 桥接设备,其电缆形状如下...http://www.usbgear.com/link/(自动播放视频警告)

答案4

我的方法是使用 2 根 USB 串行电缆和它们之间的空连接。然后你可以使用 xmodem、zmodem、kermit 等来传输文件,或者使用 ppp 或 slip 在两台机器之间建立网络。老式但会起作用。

萨德

相关内容