本站的1位用户
加入于2021-05-27
Windows驱动开发,网站开发
好好学习,天天向上。
    USB2.0采用的是四线制,分别为Vbus电源线,GND地线和两根差分数据线D+和D-。USB的信号线采用的是一对差分信号线D+和D-,故USB2.0的四线制线缆是半双工的。USB信号抗干扰能力USB2.0采用一结差分信号线是为了降低其它信号对USB数据信号的干扰。我们通过学习模拟电路可知道,差分......
    阅读数:4点赞数:02021-10-16 13:38:22
    使用工具zadig进行安装winusb以管理员方式运行zadig-2.4.exe,然后在菜单的选择中选择列出所有设备。这会软件会枚举系统中所有的USB设备,并显示在下列组合对话框中。我们选中我们需要安装winusb的设备,然后点击ReInstallDriver按钮进行安装。如本人选中一个USB扬声器......
    阅读数:8点赞数:02021-10-15 17:25:27
    WinUSB是Windows从Vista操作系统版本以来,新增加的一个USB设备功能驱动程序。使用该驱动,可以将设备变成一个自定义通讯的设备,当然该驱动也可应用于自定义设备驱动程序。WinUSB的组成WinUSB包括两大部分,分别为内核部分和应用层部分:内核部分,主要是WinUSB.sys,该......
    阅读数:8点赞数:02021-10-15 16:20:13
    Windows为WinUSB设备提供了API,主要通过以下几个步骤访问设备。通过扩展描述符中的GUID查看接口的路径用接口的路径作为参数,调用CreateFile打开接口使用WinUsb_Initialize得到WinUSB句柄通过WinUsb_WritePipe和WinUsb_ReadPipe对......
    阅读数:9点赞数:02021-10-15 15:50:05
    USB规范定义了不同的描述符,如设备描述符为1,配置描述符为2,字符串描述符为3,接口描述符为4,端点描述符为5…,,他们的类别编号定义如下: USB2.0规范定义的描述符类型描述符类型值DEVICE1CONFIGURATION2STRING3INTERF......
    阅读数:14点赞数:02021-10-15 10:01:11
    WCID全称”Windows Compatible ID,中文名为“Windows兼容ID”。 WCID设备是一种向Windows系统提供额外信息的USB设备,以便于自动安装驱动程序,并在某些情况下允许立即访问。USB设备驱动的匹配安装一般是以VID/PID进行驱动匹配的,但WCID设备却是根据C......
    阅读数:37点赞数:02021-10-14 14:54:14
    前言使用BUSHOUND是抓不到这种包的。而且一些令牌包如SOF等这些是统计不到的。BUSHOUND是一个基本windows过滤驱动的,所以抓到的是数据已经传输的并且已经在主机方面的,所以USB总线上的一些状态是统计不到的。案例1-获取设备描述符使用一些USB抓包工具,会经常看到一些传输数据长度为......
    阅读数:11点赞数:02021-10-14 11:29:35
    对于虚拟的UAC设备,实现了虚拟的UAC扬声器,总是想着再一个USB虚拟的UAC麦克风。因为这样,才算完美。本着完了完美的结果,自己又忍不住给自己找了一个活-USB虚拟麦克风虚拟麦克风的大体开发和USB虚拟扬声器类似,只是一个是输入设备,另一个是输出设备而已。所以参考UAC规范,基于UAC虚拟扬声......
    阅读数:67点赞数:02021-10-13 16:43:02
    去年的时候,使用portclass驱动模型在windows下虚拟了一个虚拟扬声器和虚拟麦克风。扬声器和麦克风在内部通过拓扑结构进行数据关联,即麦克风的数据的来源于扬声器,实现了这样的回环。最近突然有个需求,就是不需要麦克风,只要一个扬声器,即虚拟声卡。那怎么办呢?既然本人是专门做USB驱动开发的,在......
    阅读数:60点赞数:02021-10-13 11:38:11
    Bulk-Only Protocol传输是通过主机向设备发送CBW请求,设备响应CBW返回CSW响应。Bulk-Only Protocol传输开始是从设备复位(MASS_STORAGE_RESET)之后开始的,设备在接收到CBW请求和主机收到CSW回应后,是需要对CBW和CSW进行拆包解析。CBW......
    阅读数:21点赞数:02021-09-29 16:49:16
    GET_MAX_LUN特定类请求用于获取最大逻辑单元。GET_MAX_LUN是:控制请求,通过端点0来发送。主机发送组设备,设备返回1字节数据。发送的目标对象是接口。bmRequestTypebRequestwValuewIndexwLengthData1010000......
    阅读数:32点赞数:02021-09-29 10:24:57
    Bulk-Only Mass Storage Reset类特定请求是USB大容量存储设备独有的。 该特定类请求的功能用于复位大容量存储设备和与之关联的接口。通知设备接下来的批量端点输出数据为命令块包(CBW)。由于该请求是控制请求,所以是通过端点0发送的。在设备完成该请求即复位之前,设备应......
    阅读数:21点赞数:02021-09-29 10:09:41
    读写数据抓包USB传输中:每一个传输包含一笔或多笔事务,每一笔事务又包含一个、两个或三个信息包。事务:Setup(设置)事务、IN(输入)事务、OUT(输出)事务信息包:令牌信息包、数据信息包、联络信息包传输|——>事务——>令牌信息包+数据信息包+联络信息包|——>事务——&......
    阅读数:14点赞数:02021-09-26 17:26:35
    CSW 应从包的边界开始,在传输了 13 个字节以后结束, CSW 的说明如下表:struct CSW{ DWORD dCSWSignature; // CSW的标识,固定值:53425355h (小端模式) DWORD dCSWTag; //主机发送的一个命令块标......
    阅读数:18点赞数:02021-09-26 16:53:57
    CBW即Command Block Wrapper,命令块包)是从 USB 主机发送到设备的命令包,它由 31 个字节构成,其中包含的命令遵从接口描述表中的 bInterfaceSubClass 域所指定的命令集,一般采用 SCSI 传输命令集。 USB 设备从 CBW 中取出并执行相应命令,......
    阅读数:37点赞数:02021-09-26 16:32:22