mantianyu
V2EX  ›  问与答

手机通过 usb 共享 PC 网络是用啥技术实现的?

  •  
  •   mantianyu · Apr 3, 2014 · 3694 views
    This topic created in 4425 days ago, the information mentioned may be changed or developed.
    今天才知道这个玩意儿, 惭愧... 这之中的技术细节是啥啊??
    4 replies    1970-01-01 08:00:00 +08:00
    loading
        1
    loading  
       Apr 3, 2014 via iPhone
    以前的是手机当猫
    现在是就是一根线传数据,手机转发
    shawngao
        2
    shawngao  
       Apr 3, 2014
    这是手机端USB驱动实现的
    以Android为例:你可以Google “Android USB Tethering"
    具体的实现还得看modem芯片套件怎么对接
    allenforrest
        3
    allenforrest  
       Apr 3, 2014
    usb net 驱动,一般使用 cdc driver
    jt6562
        4
    jt6562  
       Apr 3, 2014
    其实就是usb rndis gadget,kernel源码里有,只要设备支持USB device或OTG就可以加载这个驱动(当然,前提是编译好)。加载后,当设备连接到PC时,PC(尤其是windows,毕竟rndis是windows实现的cdc ether协议版本)就会出现一个网卡。这个时候,在PC端设置好网关、路由就能上网了。

    android稍有一点不同,android在kernel里增加了一个android的gadget,这个gadget是个大杂烩,包括U盘功能,串口,ADB调试,MTP,PTP,NET等功能。但是,android不会同时支持这些功能,毕竟USB的端点数不是无限的,而是根据手机配置选择一个或两个(ADB+其他)。这样修改的好处是,功能的选择和组合更灵活,也不需要来回卸载/加载ko
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   891 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 61ms · UTC 20:51 · PVG 04:51 · LAX 13:51 · JFK 16:51
    ♥ Do have faith in what you're doing.