V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
mantianyu
V2EX  ›  问与答

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

  •  
  •   mantianyu · 2014-04-03 14:24:51 +08:00 · 2939 次点击
    这是一个创建于 3894 天前的主题,其中的信息可能已经有所发展或是发生改变。
    今天才知道这个玩意儿, 惭愧... 这之中的技术细节是啥啊??
    4 条回复    1970-01-01 08:00:00 +08:00
    loading
        1
    loading  
       2014-04-03 14:33:45 +08:00 via iPhone
    以前的是手机当猫
    现在是就是一根线传数据,手机转发
    shawngao
        2
    shawngao  
       2014-04-03 14:34:44 +08:00
    这是手机端USB驱动实现的
    以Android为例:你可以Google “Android USB Tethering"
    具体的实现还得看modem芯片套件怎么对接
    allenforrest
        3
    allenforrest  
       2014-04-03 14:36:23 +08:00
    usb net 驱动,一般使用 cdc driver
    jt6562
        4
    jt6562  
       2014-04-03 16:49:43 +08:00
    其实就是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
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1031 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 19:45 · PVG 03:45 · LAX 11:45 · JFK 14:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.