我正在开发基于微芯片微控制器的USB设备。我可以使用webusb打开设备,与之交谈。
只是productName和ManufacturerName字段为空字符串,然后选择设备弹出窗口,显示“ Microchip Technology Inc.的未知设备”。而不是设备实际返回的内容。
Windows会正确枚举设备,读取包含USB 2.0扩展描述符(LPM),WebUSB平台描述符和MS OS 2.0条目的BOS描述符。
我正在使用USBlyzer软件捕获USb通信,并且可以看到:
Windows会正确安装WinUSB驱动程序,并且从本机应用程序打开(使用libusb)后,该设备即可运行。我还可以从设备读取产品名称和制造商名称字符串。
我已经在以下条件下对此进行了测试:最新的铬,最新的铬金丝雀,最新的铬(来自树),最新的歌剧 在所有这些之下,该设备显示为“ Microchip Technology Inc.的未知设备”。 (基本上是从VID中扣除的名称)。我一定做错了什么,但我什至不知道从哪里开始追踪这个问题。
在“ chrome:// device-log”中,我看到的条目类似于:“未能提交传输:找不到实体”,紧接在“添加USB设备:vendor = 1240“”,product = 60944“”,serial = “ 4326”,guid = fcc527ca-5c19-45e0-9334-745475ae430d',效果不是很好。
答案 0 :(得分:0)
Chrome在枚举期间从设备读取诸如productName
和manufacturerName
之类的字符串的方式在Windows上是有问题的,因为它与Windows驱动程序堆栈的其他部分竞争。目前正在Windows上实现USB的新后端,以解决此问题。 issue 637404正在跟踪该工作。对于某些设备类型,它已经可以正常工作,您可以通过将chrome://flags#new-usb-backend
设置为启用来对其进行测试。