自己没有这方面的经验,网上找资料不是很多,不知如何下手,所以请各位提供一下思路。
1
ysc3839 2023-09-22 17:31:11 +08:00 via Android
只需要个 inf 文件让对应设备加载 WinUSB 驱动即可,内容可以参考网上各种 WinUSB 的 inf 文件。不过这个 inf 需要签名,如果没钱买签名的话可以自签名然后添加到系统信任证书列表里。
|
2
CFCL OP 我目前用的是 Zadig 这个软件的 API( https://github.com/pbatard/libwdi/wiki/Usage),但是不太行,它好像是驱动替换,得插入设备才能替换,而且问题很多。
|
4
ysc3839 2023-09-22 17:52:21 +08:00 via Android
@CFCL Zidag 原理就是根据设备 id 生成一个 inf ,然后自签名并安装。
“inf 这个方法不是很懂” 就是按对应格式写一个 inf ,签名安装即可。设备不止一种的话,inf 里允许你写多个设备 id 。 |
5
RikkaW 2023-09-22 20:47:23 +08:00
设备的名称不是由设备本身回报的吗?能否通过强行给它安装驱动更改它不知道。
自动识别为 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 描述符)。 |
6
ysc3839 2023-09-22 22:19:16 +08:00 via Android
@RikkaW inf 能设置设备名称。而且设备管理器里面不会显示设备报告的名称,只会显示驱动提供的,比如一个 U 盘报告叫 USB Disk ,设备管理器里只会显示 USB Mass Storage 。
|
7
TESTFLIGHT2021 2023-09-23 11:48:04 +08:00
LIBUSB
|
8
TESTFLIGHT2021 2023-09-23 11:48:28 +08:00
要不就用 cypress 的驱动
|
9
electronic 2023-09-23 17:22:44 +08:00
WINUSB 不需要驱动,直插直用,用 STM32 实现过。
|