CFCL
V2EX  ›  程序员

求助!有没有会 WINUSB 驱动开发的,需要提供一下思路或者方法

By CFCL at 2023 年 9 月 22 日 · 2990 次点击

有没有会 WINUSB 驱动开发的,需要提供一下思路或者方法

需求

  1. 给已知 pid,vid 的设备安装 WINUSB 驱动。
  2. 可以自定义设备管理器显示的名称。
  3. 设备插入电脑就自动识别为 WINUSB 设备。

自己没有这方面的经验,网上找资料不是很多,不知如何下手,所以请各位提供一下思路。

9 条回复  •  2023-09-23 17:22:44 +08:00
ysc3839
   1
ysc3839  
   2023 年 9 月 22 日 via Android
只需要个 inf 文件让对应设备加载 WinUSB 驱动即可,内容可以参考网上各种 WinUSB 的 inf 文件。不过这个 inf 需要签名,如果没钱买签名的话可以自签名然后添加到系统信任证书列表里。
CFCL
   3
CFCL  
OP
   2023 年 9 月 22 日
@ysc3839 数字签名的钱没问题的。inf 这个方法不是很懂,设备不止一种,串口的也得换成 WINUSB 的。
ysc3839
   4
ysc3839  
   2023 年 9 月 22 日 via Android
@CFCL Zidag 原理就是根据设备 id 生成一个 inf ,然后自签名并安装。
“inf 这个方法不是很懂”
就是按对应格式写一个 inf ,签名安装即可。设备不止一种的话,inf 里允许你写多个设备 id 。
RikkaW
   5
RikkaW  
   2023 年 9 月 22 日
设备的名称不是由设备本身回报的吗?能否通过强行给它安装驱动更改它不知道。
自动识别为 WinUSB 需要在设备端实现,需要设备实现回报 MS OS 2.0 描述符,可以阅读 https://www.usbzh.com/article/detail-1069.html https://developer.chrome.com/articles/build-for-webusb/(其中也包含了 MS OS 2.0 描述符)。
ysc3839
   6
ysc3839  
   2023 年 9 月 22 日 via Android
@RikkaW inf 能设置设备名称。而且设备管理器里面不会显示设备报告的名称,只会显示驱动提供的,比如一个 U 盘报告叫 USB Disk ,设备管理器里只会显示 USB Mass Storage 。
TESTFLIGHT2021
   7
TESTFLIGHT2021  
   2023 年 9 月 23 日
LIBUSB
TESTFLIGHT2021
   8
TESTFLIGHT2021  
   2023 年 9 月 23 日
要不就用 cypress 的驱动
electronic
   9
electronic  
   2023 年 9 月 23 日
WINUSB 不需要驱动,直插直用,用 STM32 实现过。
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
© 2026 V2EX · 83ms · 3.9.8.5