固件更改USB摄像头名称不生效
2023-08-09
498
0
做USB摄像头开发时,可以通过指定 USB字符串描述符iProduct来指定生成的摄像头名称,详见: https://www.usbzh.com/article/detail-1202.html
不过经常出现的一个问题是,第一次设备枚举正常。这时我们觉地以前的设备名称不够霸气时,会重新改一个名字。更改之后本以为可以交付完工时,发现设备重新插入电脑后,还是保留的原来的名称,新的名称根本没有生效。有的时候,我们甚至怀疑我们的固件程序没有修改成功之类,一顿操作之后,发现在别的电脑上是正常的,但就是在自己这具以前测试的电脑上就是不生效。
这个问题产生的原因就是因为,当一个USB摄像头插入电脑之后,系统通过枚举到正常工作之后,会在注册表中记录这个设备的名称,俗称FriendlyName。当以后同样的PID,VID设备插入之后,系统大部分的时间会认为是同一个设备,这时就会直接从注表中读取设备的名称来使用,而不再是通过从固件中读取。
这时为了使新的名称生效,我们可以通过2种方法来生效:
第一种方法也是最简单的方法,通过修改设备的PID和VID中任意一个值即可。
第二种方法是在系统中删除原有的历史记录。具体的方法如下:
- 断开USB设备与系统的连接
- 打开设备管理器
- 点击菜单查看,显示隐藏的设备
- 找到我们以前的设备,这里如我电脑的中摄像头C-CF
- 选中摄像头C-CF,然后在菜单中选择查看,按连接列出设备
- 可以看到设备的树状关系如图:
我们从子设备到根设备,分别选中这些历史记录设备,点击右键,然后卸载设备。
当删除这些设备之后,再次插入我们的设备,系统就因找不到历史记录而使用我们新的设备名称。
HID人机交互QQ群:564808376
UAC音频QQ群:218581009
UVC相机QQ群:331552032
BOT&UASP大容量存储QQ群:258159197
STC-USB单片机QQ群:315457461
USB技术交流QQ群2:580684376
USB技术交流QQ群:952873936