查看: 1473|回复: 2

[原创] 解决blhost.exe在某些Win10上无法打开HID设备的方法

[复制链接]

该用户从未签到

30

主题

61

帖子

0

高级会员

Rank: 4

积分
980
最后登录
2025-7-28
发表于 2024-7-4 16:53:49 | 显示全部楼层 |阅读模式
本帖最后由 lszisgood 于 2024-7-4 17:02 编辑

问题描述:
LPC55xx,RT10xx进入ISP模式后,在设备管理器里能够看到HID设备枚举成功。但使用blhost.exe无法打开HID设备。返回如下信息:

Microsoft Windows [版本 10.0.22631.3737]
(c) Microsoft Corporation。保留所有权利。

C:\test\blhost>blhost.exe -u 0x1fc9,0x0021 -- get-property 10
Error: UsbHidPeripheral() cannot open USB HID device (vid=0x1fc9, pid=0x0021, sn=).


Root cause原因分析:
在某些Windows 10 OS版本,系统进程会默认打开HID设备,share_mode模式是FILE_SHARE_READ|FILE_SHARE_WRITE。但blhost使用的HIDAPI调用CreateFile的share模式不正确,导致打开HID设备返回失败。

Thefirst application that opens a HID gets to determine its sharing settings. The second application can only access the HID permissions that areshared, and the specified permissions must exactly match those of what the first applicationspecified, or else the file open operation will fail.


  
To fix this,  please recompile HIDAPI with a change of one line in hid.c (starting at line  222):
  Before:
  
    DWORD share_mode =  (enumerate)? FILE_SHARE_READ|FILE_SHARE_WRITE:FILE_SHARE_READ;
  
After:
  
    DWORD share_mode =  (enumerate)?
  
               FILE_SHARE_READ|FILE_SHARE_WRITE:
  
               FILE_SHARE_READ|FILE_SHARE_WRITE;
  

修改方法:
到NXP 网站下载blhost源代码,修改libusbsio库文件hid.c,然后重新编译生成新的blhost.exe。附件是一个已经修改好的版本,供参考。

blhost.zip (239.06 KB, 下载次数: 12)
回复

使用道具 举报

  • TA的每日心情
    慵懒
    前天 10:47
  • 签到天数: 1787 天

    连续签到: 16 天

    [LV.Master]伴坛终老

    54

    主题

    4400

    帖子

    21

    金牌会员

    Rank: 6Rank: 6

    积分
    9225
    最后登录
    2025-7-30
    发表于 2024-7-5 11:18:28 | 显示全部楼层
    是不是用 MCUXpresso Secure Provisioning Tool 工具会稳定些
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 00:56
  • 签到天数: 2381 天

    连续签到: 90 天

    [LV.Master]伴坛终老

    84

    主题

    1万

    帖子

    3

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    22094
    最后登录
    2025-7-30
    发表于 2024-7-5 11:21:01 | 显示全部楼层
    学习学习
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-31 05:46 , Processed in 0.087720 second(s), 21 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表