the*_*der 30 drivers kernel usb kernel-modules
我想在 Linux(最好是 Ubuntu)中创建一个 USB 到 USB 数据传输系统。为此,我不想使用任何外部硬件或开关(除了这条电缆)。这就像将 USB 驱动器安装到系统一样,但在这种情况下,一个 Linux 系统将安装在另一个系统上。我怎样才能创建这个?
鉴于我的内核编程经验非常基础,是否有任何可用的内核模块?
Ant*_*hon 25
是的,这是可能的,但它是不通过切割与USB-A接口两个USB电缆(什么是正常进入的USB主板上)和交叉连接数据电缆可能。如果您将 USB 电源线连接到这种自制电缆上,您很可能最终会炸毁您的板载 USB 处理芯片。不要在家里尝试这个!
在大多数计算机板上,处理 USB 的芯片只是主机。不仅如此,它还处理许多低级通信以加快速度并减少 CPU 的负载。并不是说您可以对计算机进行编程以处理 USB 端口上的引脚以充当非主机。在芯片级别,能够在充当主机和连接到主机之间切换的设备很少,因为这需要更昂贵的芯片¹。这就是为什么像我的智能手机、GPS 和电子书这样的智能设备,虽然它们都运行 Linux 或类似的东西,但ssh在通过普通的 USB 电缆连接时不允许我使用进行通信。
这些设备在连接时会进入一些哑模式,主机(我的桌面系统)可以将其存储用作 USB 磁盘。断开连接后,设备使用与主机相同的接口来获取数据(尽管不需要电缆连接,这在内部发生)。使用这种设备,即使 Linux 在两者上运行,系统之间也没有通信,即 linuxes。这独立于将它们连接到我的桌面的普通微型或迷你 USB 电缆。
在两台台式 PC 之间,通常无法执行上述操作,因为您需要 USB-A 到 USB-A 电缆,这并不常见(因为它无论如何都无法与驱动连接的普通芯片一起使用)。
我见过的任何带有两个 USB-A 连接器的 USB 到 USB 的解决方案都是基于一根电缆,中间有一些电子设备。(很像 USB ? Serial 插入 Serial ? USB 电缆,但随后全部是一体的)。这些通常需要驱动程序来进行传输,尽管您可以通过此类电缆使用 UUCP 或其他东西,就像使用“普通”串行端口一样。这可能还需要 inetd 和正确的配置才能在另一台计算机上登录。
¹我拥有的唯一可以通过这种方式进行软件更改的设备是带有这种特殊芯片的 Arduino 板。仅此芯片使该板的 价格是普通 Arduino 板的两倍。
小智 7
是的,USB 3.0 通过 3.0 布线使全双工数据传输成为可能。规范在 USB 规范的第 5.5.2 节中。之前在另一个答案中给出了这些规范的链接。http://www.gaw.ru/pdf/interface/usb/USB%203%200_english.pdf
电缆越来越容易找到 - 例如,它们可以在亚马逊上以低于 8.00 美元的价格购买。一定要买DATA TRANSFER,公A到公A的电缆。较新版本的 Linux 支持传输。
我希望对某人有所帮助-我自己搜索了很长一段时间的答案。
| 归档时间: |
|
| 查看次数: |
27953 次 |
| 最近记录: |