USB虚拟为网卡驱动程序

来源:互联网 发布:淘宝给好评怎么看不到 编辑:程序博客网 时间:2024/05/02 00:57
最近在做一个USB网卡的程序, 其实并不是普通意义上的网卡,就是利用USB接口再通过USB连接线在两天机器上传输文件, .   我们的需求是一端是基于Linux内核的一个嵌入式系统另一端是WInxp.   Linux下有默认的驱动程序, 现在主要是写winxp下的驱动,  基于Winxp肯定要用DDK写了.   方法:

1.  注册一个微端口
2. 注册一个NIC, 并分配相关的资源;
3. 初始化USB设备,  首先取得USB设备的相关描述符,  接口信息等.  并选择一个接口即配置,  使USB设备进入配置状态并初始化数据管道, 保存数据管道句柄;

以上是必须要做的初始化工作;

然后就是,  对网卡的收发数据, 间接调用USB的读写功能实际上就是提交URB给USBD.     其中需要对Packet 中buffer的提取,   还需要对读到的数据组装成Packet并向上层协议报告.


最后驱动退出时,要释放相关的资源. 


PS:需要注意的是注意函数的IRQL, 分配内存是否必需时非分页内存. 

原创粉丝点击