V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
CFCL
V2EX  ›  程序员

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

  •  
  •   CFCL · Sep 22, 2023 · 2517 views
    This topic created in 951 days ago, the information mentioned may be changed or developed.

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

    需求

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

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

    9 replies    2023-09-23 17:22:44 +08:00
    ysc3839
        1
    ysc3839  
       Sep 22, 2023 via Android
    只需要个 inf 文件让对应设备加载 WinUSB 驱动即可,内容可以参考网上各种 WinUSB 的 inf 文件。不过这个 inf 需要签名,如果没钱买签名的话可以自签名然后添加到系统信任证书列表里。
    CFCL
        3
    CFCL  
    OP
       Sep 22, 2023
    @ysc3839 数字签名的钱没问题的。inf 这个方法不是很懂,设备不止一种,串口的也得换成 WINUSB 的。
    ysc3839
        4
    ysc3839  
       Sep 22, 2023 via Android
    @CFCL Zidag 原理就是根据设备 id 生成一个 inf ,然后自签名并安装。
    “inf 这个方法不是很懂”
    就是按对应格式写一个 inf ,签名安装即可。设备不止一种的话,inf 里允许你写多个设备 id 。
    RikkaW
        5
    RikkaW  
       Sep 22, 2023
    设备的名称不是由设备本身回报的吗?能否通过强行给它安装驱动更改它不知道。
    自动识别为 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  
       Sep 22, 2023 via Android
    @RikkaW inf 能设置设备名称。而且设备管理器里面不会显示设备报告的名称,只会显示驱动提供的,比如一个 U 盘报告叫 USB Disk ,设备管理器里只会显示 USB Mass Storage 。
    TESTFLIGHT2021
        7
    TESTFLIGHT2021  
       Sep 23, 2023
    LIBUSB
    TESTFLIGHT2021
        8
    TESTFLIGHT2021  
       Sep 23, 2023
    要不就用 cypress 的驱动
    electronic
        9
    electronic  
       Sep 23, 2023
    WINUSB 不需要驱动,直插直用,用 STM32 实现过。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   880 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 22:12 · PVG 06:12 · LAX 15:12 · JFK 18:12
    ♥ Do have faith in what you're doing.