chefan

手机往电脑上传下载文件跑满 400MB/s,搞了套“双 5G 网卡+网线直连”,

  •  
  •   chefan · 11h 7m ago · 446 views
    ### [分享] 彻底干掉 MTP !搞了套“双 5G 网卡+网线直连”,手机往电脑传文件跑满 400MB/s

    平时经常要把手机里几十上百 G 的视频素材和日志包导出到电脑,天下苦 MTP 久矣。

    走 MTP 协议经常卡死不说,速度顶多三四十兆,遇到海量小文件直接假死;走无线局域网或者快传,又总受限于路由器性能和无线干扰,速度忽高忽低。

    最近自己折腾出了一套**硬件级点对点以太网专线**的方案,手机和电脑直接用网线拉起来。实测传输速度直接拉满 **400+ MB/s**(大概 3.2 Gbps 左右),基本上把 5G 网卡扣除损耗后的极限、以及手机 UFS 闪存的读取速度全部挤干了。

    附上实测和架构截图:
    [https://imgur.com/K85Jpig]( https://imgur.com/K85Jpig)
    [https://imgur.com/pXdgYLV]( https://imgur.com/pXdgYLV)
    [https://imgur.com/9YyZpho]( https://imgur.com/9YyZpho)

    这套方案我自己用了阵子感觉非常爽,分享给有类似大文件传输需求的朋友。

    ---

    #### 1. 怎么接硬件?

    结构很简单,相当于拼了一个“三截式”的物理数据线:

    **`手机` ➔ `Type-C 转 5G 网卡` ➔ `网线` ➔ `USB-A/Type-C 转 5G 网卡` ➔ `电脑**`

    * **手机**:接口需要支持 USB 3.0+,且系统支持外接网卡(现在比较新的安卓机基本都行)。
    * **网卡**:买了两个瑞昱 RTL8156B 芯片的 5G USB 网卡(一个 C 口,一个 A 口)。**注意电脑端最好装一下 Realtek 官方的 USB 网卡驱动**,别用 Win 自带的默认驱动,性能更稳。
    * **网线**:随便一根 Cat6 或以上的短网线。

    ---

    #### 2. 软件与网络配置(关键避坑点)

    本质上就是让手机和电脑建立一个点对点局域网,由手机充当 DHCP 服务器:

    1. **连上硬件**:把手机、网卡、网线和电脑全部接好。
    2. **电脑网卡设置(重点)**:在电脑的网络适配器属性里,把这个 5G 网卡的“速度和双工”手动拉到 **5.0 Gbps 全双工**,避免自动协商降频。
    3. **开启共享**:手机打开 `设置` ➔ `个人热点 / 网络共享` ➔ 勾选 **以太网共享**。这时候手机会自动给电脑网卡分配一个 `10.x.x.x` 开头的内网 IP 。
    4. **搭建服务端与客户端**:
    * **PC 端**:用 FileZilla Server 搭建本地 FTP 服务端(或者 Mac 直接开原生 SMB 文件共享)。
    * **手机端**:推荐用 **MT 管理器** 或 Solid Explorer 等文件管理器,连接电脑的内网 IP 。**用 MT 管理器的话,记得在设置里把 FTP 传输开启多线程**,对跑满带宽和处理小文件很有帮助。



    ---

    #### 3. 为什么能跑这么快?

    * **避开 MTP 的坑**:MTP 是单线程请求-响应模式,效率极低;而 FTP 走的是纯粹的 TCP/IP 数据流,配合多线程开销极小。
    * **物理专线无干扰**:双网卡直连延迟不到 1ms ,零丢包,TCP 协议不用频繁重传,数据流可以一直处于满载状态。
    * **吃满接口带宽**:RTL8156B 在 USB 3.2 接口下理论能到 5Gbps ,全双工+官方驱动加持下,实测 400MB/s 已经是硬件物理层面的真极限了。

    ---

    #### 4. 总结

    * **优点**:速度极其狂暴,传输非常稳定,而且完全跨平台( Win / Mac / Linux 都行)。
    * **缺点**:得买两个 5G 网卡(成本大概三四百块),且出门带两块网卡加网线稍微有点重。

    如果你也需要频繁从手机向电脑导出几百 G 的大文件,这个方案绝对比折腾各种无线快传或者慢吞吞的 MTP 靠谱得多。大家有更好的优化思路也欢迎一起讨论!
    10 replies    2026-08-08 00:12:50 +08:00
    slowman
        1
    slowman  
       10h 42m ago
    RTL8156B 是 2.5G
    chefan
        2
    chefan  
    OP
       10h 36m ago
    @slowman 谢谢提醒文案里面搞错了更正一下 Network Interface Controllers > 5G Gigabit Ethernet > USB 3.2 Gen2

    RTL8157 我用的这个 5G 网卡
    驱动 https://www.realtek.com/download/List?cate_id=585
    hellododoo
        3
    hellododoo  
       10h 18m ago
    牛,图片看不到了
    chefan
        4
    chefan  
    OP
       10h 2m ago
    @hellododoo 链接打开可以看到 应该发这种带后缀的
    chefan
        5
    chefan  
    OP
       10h 1m ago

    chefan
        6
    chefan  
    OP
       10h 0m ago
    chefan
        7
    chefan  
    OP
       9h 56m ago
    shoaly
        8
    shoaly  
       7h 54m ago
    感觉你还可以再进一步把手机的 WiFi 的带宽也一起加进来
    反正都是多线程把文件切片的, 对吧
    chefan
        9
    chefan  
    OP
       7h 28m ago
    @shoaly 一般的 FTP 客户端(比如 MT 管理器、Solid Explorer 等)建立 TCP 套接字时,底层都会遵从系统的路由表,把流量全部绑定到‘以太网’这单个网络接口上。

    用具体的 IP 来看就非常清晰了:

    假设你手机现在同时连着 Wi-Fi 和网线:

    Wi-Fi 通路:手机拿到 192.168.1.105 ,对应电脑 Wi-Fi 的 192.168.1.200

    网线专线:手机开启以太网共享拿到 10.42.0.1 ,对应电脑网卡的 10.42.0.2

    当你在手机 FTP 客户端里填入电脑网线的 IP 10.42.0.2 并点击连接时:

    Socket 绑定:手机 Android 内核一查路由表,发现要发往 10.42.0.2 的数据包只能从 eth0 (网线网卡)出去。

    线程叠加:就算你在 MT 管理器里开了 16 线程切片,这 16 个 Socket 连接全部都是建立在 10.42.0.1 -> 10.42.0.2 这同一条以太网通道上的。

    Wi-Fi 完全旁观:因为没有任何一个线程的目标地址是 192.168.1.200 ,Wi-Fi ( wlan0 )在整个过程中根本接收不到任何传输指令,流量自然不可能分流过去。

    要想真把 Wi-Fi 带宽加进来,必须让客户端同时向 10.42.0.2 (网线)和 192.168.1.200 ( Wi-Fi )两个不同的 IP 建立连接并切片分发。但普通的 FTP 客户端和协议架构根本没有这种跨 IP/跨网卡的聚合逻辑,所以它只能死死走网线这一条物理专线。
    那除非电脑端和安卓端都自己开发一个协议软件并行 不过我觉得这样的话又比较复杂而且我感觉单线路的话有一个好处就是文件不容易出现错乱漏传
    wusibacg
        10
    wusibacg  
       3h 36m ago
    实际上这样也可以把手机网络共享到电脑吧 除了可以传文件?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   902 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 19:49 · PVG 03:49 · LAX 12:49 · JFK 15:49
    ♥ Do have faith in what you're doing.