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下调试主机驱动则轻松多了,自由自在,可以深入到系统的任何一个角落。这次对软件自由又多了些体会。

RNDIS的usb网卡功能调试相关推荐

  1. 树莓派搭载EC200U 4G模块(USB网卡上网和PPP拨号上网)

    文章目录 一.EC200U模块4G模块介绍 二.USB转串口驱动设置 (1)打开树莓派的串口 (2)lsusb是否有EC200U模块 (3)添加 VID 和 PID 信息 三.USB网卡驱动上网 四. ...

  2. 【ESP32S2】esp32s2开发板做为usb网卡使用

    概述 使用 esp-iot-solution 中的 usb_dongle 例程(esp-iot-solution/examples/usb/device/usb_dongle),实现USB网卡功能.操 ...

  3. 把arm开发板做成USB网卡(RNDIS /Ethernet Gadget)

    /******************************************************* 原文地址: http://hi.baidu.com/deep_pro/item/ec4 ...

  4. 4G网卡驱动调试-ec20

    4G网卡驱动调试分三步走: 一.基本概念 USB 部分的功能接口 APN 二.驱动移植 USB Driver GobiNet Driver 或者 QMI WWAN PPP 拨号配置 三.RIL 移植 ...

  5. 野火 RT1052 移植网卡功能(LAN8720A)

    野火 RT1052 移植网卡功能(LAN8720A) 开发环境 RT-Thread: v4.0.2(master) SOC: i.MX RT1050 Board: 野火 RT1052 目的 在 RT- ...

  6. android usb rndis驱动,usb绑定rndis驱动下载-RNDIS驱动工具 2.0.1.1 最新版 - 河东下载站...

    usb绑定rndis驱动是款功能非常强大的手机共享上网的必备驱动:现在随着手机的越来越普遍,也会拥有越来越多的功能,其实现在大家应该都知道怎么进行连接,WiFi应该是大家都经常用到的一种连接方式,还有 ...

  7. 水星UD6S网卡Linux驱动,水星UD6S无线usb网卡驱动程序下载-水星网络UD6S网卡驱动1.0 最新版-东坡下载...

    UD6S专业的无线usb网卡,在目前来说是很多的家庭以及办公室都是会使用到的,你可以通过官方的水星网络UD6S网卡驱动进行全方面的管理! 官方介绍 UD6S双频无线网卡适用于台式 PC 机.笔记本等设 ...

  8. usb打印机驱动调试记录

    USB打印机驱动调试总结 主流的操作系统里面都会支持usb打印机驱动,比如linux,windows,vxworks等,但是这里指的驱动是指的打印机最底层的驱动,而不是指特定打印机的 驱动.打印机驱动 ...

  9. 【C/C++】libusb实现ADB的USB通信功能

    libusb实现ADB的USB通信功能 前言 一.ADB 1.简介 2.工作原理 3.USB通信 二.libusb 1.简介 2.常用接口 三.实现步骤 1.编译环境 2.添加libusb库 3.代码 ...

  10. OpenWRT添加无线USB网卡

    说明 要完成网线网卡的驱动需要在内核中添加驱动,同时还需要将固件放入rootfs中正确的位置,如果需要固件的话. 内核驱动添加 因为内核中对常规的USB网卡均支持,所以直接添加即可, 例如下面是对91 ...

最新文章

  1. Servlet 3.0 新特性概述
  2. mysql脚本简书,mysql一键安装脚本
  3. Problem executing scripts APT::Update::Post-Invoke-Success ‘if /usr/bin/test -w /var/lib/command-not
  4. Linux如何修改用户名?
  5. 征战蓝桥 —— 2013年第四届 —— C/C++A组第7题——错误票据
  6. 【Android Studio安装部署系列】二十三、Android studio查看Gradle版本号
  7. Firefox 的使用(firefox 拓展应用程序)
  8. active mq topic消费后删除_【SpringBoot MQ 系列】RabbitListener 消费基本使用姿势介绍
  9. 办公利器:IBM Lotus Symphony轻松之旅
  10. .NET(C#)代码性能优化
  11. 浅谈算法和数据结构: 二 基本排序算法
  12. 如何查看oracle客户端的版本,如何查看Oracle客户端版本
  13. 制作MHDD启动U盘
  14. android timepicker分割线颜色,Android TimePicker 的使用
  15. My learning backups
  16. 百度识图上线,体验以图搜图
  17. 音频耦合电容容值大小如何确定
  18. Gravity 介绍
  19. python基础笔试面试题_python基础面试常见题
  20. requireJS常用用法

热门文章

  1. ubuntu 18.04.6 内网PXE实战preseed案例
  2. 数据拟合(excel)
  3. 掌财社:10年财务造假 乐视网、贾跃亭等被11名投资者诉至法院!
  4. python之自动化部署SpringCloud,且脱离python环境运行
  5. 抖音姓名测试软件,抖音名字大全霸气
  6. Android视频播放器没声,Windows/Android/iOS全平台支持的视频播放器EasyPlayerPro,iOS版播放无音频问题如何解决?...
  7. 华硕鹰眼ZenFone Zoom推动潮流:比肩专业相机几率几何?
  8. 如何修改鼠标指针的样式
  9. hdu 4585 Shaolin两种方法(暴力和STL map set)
  10. SAP SHIFT语法注意