Linux Windows下USB RNDIS网络传输方式实现步骤详解(已验证)

 在介绍USB的驱动开发时,我通常会用用Linux的的USB网络来演示,它兼容RNDIS网络,一台Linux即可充当USB的device端,也可以由另一台Linux来充当USB的Host端,Host端的也可以由安装的微软的标准的Rndis驱动来充当.
 
  这种网络有相当强的实用价值,而且完整实现的Linux USB Slave驱动和Linux USB Gadget两种驱动,因此有很强演示效果.
 
  应用场景:
   一.智能手机共享网络
     现在智能手机采用3G网络,通过Linux/Android手机上安装相关驱动,可以用USB线在主机和手机建一个共享网络,这样智能手机充当一个无线路由器的功能.现在手机一般都有这个功能,WINDOWS安装Rndis驱动即可.而且就是用的我们后面提到的g_ether.ko驱动.
     这种方式,远远优于把手机当成3G的modem,用USB来拨号这种方式,共享网络相当于手机和电脑都上网不误.
   这种方式跟用手机WIFI作无线热点的功能一样,但是APN的实现的要求较高,很多手机不一定能支持,而且USB还有同时供电.还是有其优点.
 
 二.增加第二个有线网络.
   在教室上课时,很多时候服务器和学生用机只有一个网络口接口,我把网线接到局域网时,我的开发板就无法用NFS接我的机器,学生机也是如此,现在服务器上把有线网络接入局域网,而我的开发板与服务器则直接相连.
 
   
一.USB 网络的结构
 
  在与以太网不同,在USB网络里各终端不是对等的,即USB Host端和USB Device端的所需要软件和硬件接口不一样.
   USB网络有很多种,其中用得最多是RNDIS网络。它的全称是
   Remote  Networ

你可能感兴趣的:(嵌入式linux,linux,kernel,linux驱动,rndis,gadget)