Linux平台下借助网线实现文件互拷

两个设备传输大文件用热点太蛋疼了,速度不知为何远没有想象中的高。又试了下USB-A2USB-C线连接两个设备,发现内核编译选项里没支持USB-Gadget,懒得重新编译而且不知道硬件上是否支持。

USB Gadget 是 Linux 早期(2.4 以后)引入的子系统,允许具备 USB Device 模式的硬件通过软件模拟成 USB 从设备,例如 U 盘、串口、网卡等功能。这一机制为实现 USB OTG(On-The-Go)提供了基础支持。智能手机等嵌入式设备通常具备这样的硬件能力,因此插入电脑后可以被识别为存储或调试设备。而多数 PC 和笔记本电脑由于 USB 控制器只支持 Host 模式,即使是 USB-C 接口,也很少支持 USB Gadget 功能,因此这类用法在普通电脑之间较少见。

最后没办法发现箱子里扔着一个USB转rj45转换器和一个网线,而且另一个设备刚好有rj45口,遂决定网线互连传输文件。

Ethernet-P2P传输

针对网络使用NetworkManager的步骤如下。

设备名可以使用ip a查看。

设备1:

1
2
sudo ip addr add 192.168.100.1/24 dev enp0s20f0u2 # 替换为实际网卡名称 
sudo ip link set enp0s20f0u2 up

设备2:

1
2
3
4
5
6
7
8
9
# 创建一个新的连接
nmcli con add type ethernet\
ifname enp0s20f0u3\
con-name direct-link\
ip4 192.168.100.2/24\
gw4 ""

# 启用连接
nmcli con up direct-link

完成后就可以用静态ip+网络文件系统互传文件了,我用的是scp,也可以用rsync等。

作者

xeonds

发布于

2025-06-02

更新于

2025-06-02

许可协议

评论