RNDIS的usb网卡功能调试

http://blog.csdn.net/flyfish30/article/details/5970473

很久没有写博客了,前几天完成了rndis的usb网卡的移植和调试,觉得有必要记录下些东西,便在博客上作些记录。

折腾了好几天,终于给高通8250的linux内核加上了rndis的usb网卡功能,并保留了u盘和adb功能。总结几点经验。 
1. 不改动影响面广的控制器驱动,改动只影响该功能的功能驱动,便于调试。 
2. 从别的设备可以用的usb描述符出发,再逐步增加自己对描述符的改动。 
3. 对协议基础体系的掌握是很重要的,尽量多做逻辑推理和判断,尽量不用调试器,usb逻辑分析仪这些高级的玩艺。 
过程中碰到在linux主机上可以正常识别rndis的usb网卡,但在windows上却不行,搞得郁闷了好几天。后来发现是windows的usb8023.sys这个驱动实现的很不好,对rnids的usb网卡只认接口0和接口1,换成其他的接口都不认,AddDevice时不成功。另外windows 7和windows xp对usb设备的IAD功能支持也让人很不爽,一个可以一个不行,而linux则完全不挑食。 
另外,windows下的驱动开发确实是比较痛苦,太不自由了,linux下调试主机驱动则轻松多了,自由自在,可以深入到系统的任何一个角落。这次对软件自由又多了些体会。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值