是否可以通过 USB C 连接两台 PC?

Bri*_*ian 16 networking usb

我正在尝试将具有有限存储空间的单台 PC (Mini ITX) 连接到具有大量硬盘驱动器存储空间的更大的整塔式 PC。两台机器上都有 USB C,所以我只是想知道是否可以使用 USB C 转 USB C 电缆将它们连接在一起以开始传输文件?USB C 是否同时充当主机/客户端?我见过 USB 3 交叉电缆,所以如果它更容易,我愿意使用它,但我试图以便宜的价格获得最佳速度。

Ale*_*ski 18

要将一个 Type-C 设备(一台 PC)与另一台 Type-C USB 设备(或另一台 PC)连接并期望进行一些连接,至少一个“Type-C 链接伙伴”必须支持所谓的 DRD - 双角色设备. DRD 端口通过将其 CC(通信通道)引脚从 5.1k 下拉(表示 USB 设备)连续切换到 56k-22k-10k 上拉(表示具有不同 VBUS 供电能力的 USB 主机)来宣传其双重角色。它每秒执行几个周期的触发器。

但是,要成为 DRD Type-C 设备,它内部必须有两个 USB 控制器,一个是 xHCI(主机控制器接口),另一个是“DCI”类型 - 设备控制器接口。这两个控制器的 IO 必须在 USB 端口引脚上复用。目前只有少数产品(特别是英特尔 SoC 又名“atom Chery trail”系列,以及手机中的其他面向移动的芯片)具有此功能。如果 PC 由台式机系列处理器组成,则尚无可用的 DRD。

如果两台 PC 的类型相同,则不会发生任何连接(也不会造成伤害)。

如果一台Type-C PC具有DRD功能,它将选择其“触发器广告”的阶段,其角色与所连接的单角色设备相反。如果连接设备是主机,则 DRD 设备将锁定为设备,反之亦然。如果两个设备都是DRD,角色会随机选择,以后应该可以在软件中切换。


Mac*_*fin 7

我一直在问自己同样的问题,并发现了一些事情。

首先,苹果笔记本电脑很早就有这种称为“目标磁盘模式”的功能。此模式位于计算机固件中,允许许多型号的 Apple 计算机充当另一台计算机的外部驱动器。此功能存在于带有 USB-C 端口的 Apple 电脑中。我已经用我自己的带有 USB-C 端口的 Apple 笔记本电脑对此进行了测试,将其置于目标磁盘模式,并将其像 USB 驱动器一样使用到另一台带有 USB-A 公头到 USB-C 公头电缆的 Apple 笔记本电脑。苹果在固件中做到了这一点,但我没有理由不明白为什么这不能在操作系统中完成,并且以一种不仅仅是看起来像存储设备的方式来完成。

我发现的第二件事是,苹果公司在其笔记本电脑中放置的具有此功能的 USB 芯片模型已被其他计算机制造商广泛使用。有证据表明,“hackintosh”人群在运行 macOS 的非 Apple 电脑上使用 Apple 驱动程序,并看到 USB 端口正常工作。

我发现的第三件事是,有一个名为“USB Gadgets”的项目,其目的是让运行开源操作系统的计算机能够像另一台计算机的 USB 设备一样工作。关于 USB 2.0 的信息有很多,但关于较新系统中的 USB 3.x 芯片的信息却很少。

我发现的第四件事是,用于为笔记本电脑充电/供电的 USB-C 端口必须进入设备模式才能充电。您可以通过将一台“设备”计算机(一台从 USB-C 获取电源的计算机)插入一台“主机”计算机(一台能够从 USB-C 提供电源的计算机)来看到这一点,并且计算机中的每个 USB-C 端口都会提供一些力量。如果要查看“主机”计算机上连接的 USB 设备,则会列出“设备”计算机。功率流向和功率流向的协商是通过 USB 端口的数据引脚完成的。与以前的系统不同,以前的系统在数据引脚上使用电阻器来以非常被动的方式传递此信息,而此新协议需要实际的数据连接。

第五,USB 3.x 规范中规定了通过“超高速”数据引脚进行主机到主机通信。这意味着电缆中的所有四根双绞线数据线均可用于主机到主机的通信,并且每条数据线都能够传输 5 Gbps 的数据。这意味着 20 Gbps 连接是可能的。

因此,如果您有两台带有 USB-C 端口的计算机和一条 USB-C 电缆,那么所有硬件都可以在两台计算机之间建立 20 Gbps 连接。只需一台计算机拥有正确的软件来支持 USB-C 端口上的网络设备,另一台计算机拥有正确的软件来模拟 USB-C 端口上的网络设备。

如果该软件存在,那么我还没有找到它。如果它不存在,那么现在可能有人正在写它。


Eku*_*kus 7

这可能对原始海报没有帮助,但如果您的 PC 都有 Thunderbolt,并且您有 Th​​underbolt 电缆,则支持它(TB3 和 TB4 电缆使用 USB-C 连接器,但通常较粗,长度很少超过 50 厘米)。

我刚刚连接了位于不同网络上的两台笔记本电脑,然后出现了一个新的以太网连接,我可以浏览共享文件夹并从一台笔记本电脑到另一台笔记本电脑使用远程桌面,而无需任何手动配置。

一台笔记本电脑是 Windows 10,另一台是 Windows 11。

通过TB3网络连接可以看到PC

通过 TB3 以 70 MB/s 的速度在 2 台 PC 之间复制文件

仅使用 TB3 电缆的 Thunderbolt 3 以太网

我还使用单独的 USB-C 电缆为笔记本电脑充电,因为我的另一台笔记本电脑未通过 TB3 为其充电


use*_*933 5

我可以确认它也适用于 Ubuntu 22.04。我连接了 Dell Latitude 7400 和 Lenovo T14 i7 Gen4,两者都运行 Ubuntu 22.04,并具有 USB-C 公头对公头(均支持 USB 3)。自动创建以太网连接。因此,从这里开始,任何网络的规则都适用。传输速度取决于所选择的方法。在我的测试中,FTP 明显胜出:

  • FTP:近1GB/秒
  • rcp、rsync(命令行)、SFTP:我的传输速率在 200 到 400 MB/s 之间
  • 与上面两个相同,但通过 WIFI(使用我的智能手机作为热点):12-20 MB / s(所以将其插入是值得的:))
  • SMB (samba),据我所知,它有用于 Windows 中的本地打印机网络的历史,并且传输速率与 @Ekus 显示的类似(50 MB/s)

非常简短的设置信息,如果可以帮助某人。我将触发传输的计算机称为客户端,将另一台计算机称为服务器或“远程”计算机。仅在从远程到客户端的测试传输中,因此您可能会说“下载”。在远程您需要安装以下软件包:

  • 对于 FTP: sudo apt install vsftpd
  • 对于 SSH 相关协议(SFTP、rcp、rsync):sudo apt install sshd
  • 对于桑巴舞:sudo apt install samba

在客户端计算机上,最简单的方法是使用 GUI 文件 > 其他位置。对于 SAMBA,网络应该直接出现(尽管我不记得是否必须设置其他任何东西......无论如何,这不是可行的方法)。对于其他“连接到服务器:”, ftp: //169.XXX.XX.XXX(最快)或 sftp://169.XXX.XX.XXX(由于加密而较慢,本地网络上不需要明显地)。用户名和密码就在这里。

请注意,当我插拔电缆时,旧 DELL 的连接有时会消失(幸运的是,不是在传输过程中!)。在较新的 LENOVO 上不会发生这种情况。如果发生这种情况,可以通过重新启动(次优!)或按照以下建议重置所有 USB3.1 端口来解决:

for port in $(lspci | grep xHCI | cut -d' ' -f1); do
    echo -n "0000:${port}"| sudo tee /sys/bus/pci/drivers/xhci_hcd/unbind;
    sleep 5;
    echo -n "0000:${port}" | sudo tee /sys/bus/pci/drivers/xhci_hcd/bind;
    sleep 5;
done
Run Code Online (Sandbox Code Playgroud)