本站的1位用户
加入于2021-05-27
B站搜索 站长漫谈 看视频。
pnpon内核开发网,USB中文网
站长
    前几天有人给了一个UVC相机,支持USB3.0协议,只不过因为种种原因,接入系统中,有一大半概率会被识别成USB2.0。本人在此之前也没有过多的问题,以为就是一个USB2.0相机,所以就继续做后续的windows驱动开发。驱动开发的功能也很简单,就是通过根据需要屏蔽配置描述符中不需要的格式和分辨率,......
    阅读数:0点赞数:02025-02-11 10:45:44
    USB接口电源描述符(USB Interface Power Descriptor)的类型ID为8struct _INTERFACE_POWER_DESCRIPTOR_STRUCT { BYTE bLength; //描述符的字节数大小 BYTE bDes......
    阅读数:31点赞数:02025-02-05 16:08:33
    关于UVC输入头描述符的介绍可详见:https://www.usbzh.com/article/detail-98.html在usbvideo.sys驱动中,调用IRP_MJ_PNP的回调函数USBVideoPnpStart调用StartUSBVideoDevice,该函数在获取的UVC相机的配配......
    阅读数:29点赞数:02025-01-21 16:34:54
    手中的UVC相机支持多种格式和分辨率,为了过滤掉不需要的格式和分辨率,需要对UVC配置描述符进行挂购重置修改,使其满足我们的需求。在原来的配置描述符上进行修改,确实是一个不错的方法。不过由于UVC配置描述符本身布局复杂,没有一点的熟练度,也很难搞出来。在这个艰难的调试过程中,要么因配置描述符的修改......
    阅读数:28点赞数:02025-01-21 16:06:17
    今天在调试HOOK一个USB设备驱动,在追踪返回HOOK之后配置描述符之后,上层驱动没有下发SET_CONFIGURATION请求。从设备管理器来看,设备直接返回的是启动失败,请求失败。故为了分析该问题,需要进行调试追踪,不过意外发现了Windows中UVC驱动的默认超时。在Windows系统中,......
    阅读数:27点赞数:02025-01-21 11:42:18
    UVC相机驱动信息主要包括两大类:分别为USB信息获取和系统信息获取。USB信息获取USB信息包括设备描述符、配置描述符、字符串描述符及配置选择,接口选择及UVC特定类请求等。这些信息都是通过IRP_MJ_INTERNAL_DEVICE_CONTROL请求实现的。其具体对应的是IRP_MJ_INT......
    阅读数:38点赞数:02025-01-14 11:09:25
    为什么需要进行USB唤醒与挂起答案就是电源管理,节能。连接到USB主机端的设备必须遵守主机功率预算求。USB总线电源是一种有限的资源。USB设备(总线供电或自供电)必须将VBUS的功耗限制在更低直到它们进入配置状态。作为一种省电方式,当USB设备观察到超过3ms没有总线活动(恒定空闲状态),它们进入......
    阅读数:299点赞数:02024-11-28 10:14:43
    有时为了进行USB压测,或者记录USB设备在使用过程中有没有中途中断复位甚至掉电。这时我们一般是通过系统的WM_DEIVCECHANGE事件来检测,不过这需要我们编写代码来实现这样的工具。这样很不方便。现在nirsoft.net就有这样的工具,我们可以直接拿来主义。USBLogView 是一个在后......
    阅读数:203点赞数:02024-11-14 11:11:23
    支持了逻辑设备的显示支持了HID报告描述符的解析USB调试工具大全:https://www.usbzh.com/article/detail-1192.htmlHID调试工具大全:https://www.usbzh.com/article/detail-1191.htmlUVC摄像头调试及辅助......
    阅读数:336点赞数:02024-11-05 17:33:05
    符合HID标准的系统控制器 HID-compliant system control device符合HID标准的用户控制设备 HID-compliant consumer control device符合HID标准的无线通信设备符合HID标准的触模板 HID-compliant touch p......
    阅读数:86点赞数:02024-11-05 17:32:35
    Windows10驱动程序从功能上分分为USB主机驱动程序和设备端驱动程序,从支持的协议栈来分为USB3.0驱动程序和USB2.0驱动程序(包括兼容USB1.0和USB1.1)。USB主机驱动程序USB主机驱动程序指的是USB控制器和USB集线器驱动程序(包括根集线器)。按协议栈又分为USB3.......
    阅读数:212点赞数:02024-11-05 09:44:50
    以往开发的虚拟USB键盘鼠标HID设备都是直接通过虚拟USB总线虚拟出设备,其在设备管理器中如下:其具体实现可详见:https://www.usbzh.com/article/detail-1182.html但在某些情况下,关于HID键盘鼠标的检测会更加深入,比如需要检测其所在的集线器端口,根据U......
    阅读数:129点赞数:22024-10-21 17:48:28
    GET_CUR请求 //GET CUR UsbBuildVendorRequest( Urb, //urb UR......
    阅读数:64点赞数:02024-09-27 15:51:31
    读数据NTSTATUS GetHidData(PFDO_DEVICE_EXTENSION FdoDeviceExternsion, PUCHAR pData, ULONG nLen){ if (FdoDeviceExternsion->SetHandle == NULL) {......
    阅读数:84点赞数:02024-09-27 15:47:31
    然后来看看实际上的work routine,先看通用的这个。root hub的是一个特殊的函数。USBPORT_DmaEndpointWorker(pEndpoint){ call _USBPORT_GetEndpointState(pEndpoint) curState = ......
    阅读数:23点赞数:02024-09-27 12:07:20