从事了二年的Windows系统USB驱动开发

2020年4月份的时候换的工作,从事了以前一直想干但永远没有长期干的Windows驱动开发,以前像偶尔搞搞PCIE等设备驱动,感觉还挺有意思的。后来又做了一些内核的服务性驱动,不过2020年的这次机会是搞USB驱动。其实对我来说吧,只要是Windows驱动,至于干什么类型的,我已经不再乎了。因为再也不像以前那样,天天在扯淡,搞一些觉地没有意义的东西,就像去排接线盒的故障,分析硬件电路的问题,搞搞工艺,和客户谈谈需求。。。

讲道理,进公司的时候对USB的了解和大家差不多的,最多知道一个BUSHOUND抓包工具。 其它也就不清楚了。还记得面试的时候人家问我懂UVC么,我给人家扯YUV,现在想起来那个尴尬啊,不过确实代表了自己当时的水平。

入职后,痛苦的学习期。从USB规范到UVC规范,后来的UAC规范,HID报告描述符,BOT规范,甚至USB3.2的规范,学习一直在学习,一直在翻译。白天上班,晚上回家学习规范。

后来自己实现怕学的忘了,也就弄了一个USB网站,用来记录自己学习USB的过程,知识总结,调试记录等。半年的时候,发现竟有很多人加我QQ,索性建个群,人越来越多。自己也在群里给大家回答问题,大家相互讨论,学习真的是很快。特别是有人问题的问题,自己通过学习,帮助解决,发现自己的USB知识得到了很大的提升。

2021年五一,闲的没事干,就干脆独立弄个域名www.usbzh.com,建立了一个USB中文网 - USB技术开发交流,将自己以前的文章全搞过来,整理分类,方便自己,也能方便别人,简直不要太开心。

网站

慢慢的文章也写了一些,为了解决实际工作中的问题,需要仔细的研究USB规范,自己就想了一个方法,就是通过WINDOWS驱动虚拟USB设备,所以说干就干。现在看来确实不错,自己的知道得到了很大的加强,也能帮助解决很多问题。自己这一年多虚拟出的USB设备包括:虚拟UVC摄像头,虚拟USB麦克风,虚拟扬声器,USB键盘,鼠标,触摸屏,虚拟U盘。当然为了提高自己平时的工作效率,自己也搞了很多USB的分析工具,像报告描述符分析工具,UVC扩展单元分析工具,后来了为再方便些,就弄了一些在线的工具,如USB标准请求等描述符分析工具,URB在线分析工具,UVC摄像头数据协商格式在线分析工具等。。。

呃,,,其实说真的,搞USB只是工作需要,或者是个意外,我真实的还是对系统驱动开发感兴趣。所以我又把我的魔抓伸向了Windows内核,开发看ReactOS关于USB的实现代码,像USBCCGP.sys,usbhid.sys,hidclass.sys,hid.dll,parser.sys等驱动的源代码,也解密了很多未解之迷:如你知道为什么HID报告描述符在Windows下获取时会比HID描述符中大于64字节:Windows获取HID报告描述符长度比实际长度大64字节 - USB中文网,这种结合ReactOS的源代码,并逆向一些东西,简单就是快乐的来源。

最后贴一张图吧,是百度关于USB中文网的后统计,虽然今天USB中文网的访问趋势虽然达不到,但看着还是心情不错的。所以我也就写了这篇文章,以示得瑟。
在这里插入图片描述

  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

站长漫谈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值