部分身份证阅读器与USB 3.0接口的兼容问题

近期因为要做人事管理系统的开发工作,需要使用到身份证阅读器以录入新员工的信息。但在测试过程中发现一个问题,就是身份证阅读器无法被系统正常识别,在Windows 10的设备管理器中显示为“未知的USB设备(设备描述符请求失败)”,且无法通过添加驱动程序来解决(哪怕驱动程序是正确的)。开始以为是Windows 10的问题,就找了一台安装了Windows 7的笔记本电脑来测试一下,在那台笔记本电脑中能正确识别并安装驱动程序,这更加坚定了我们认为是Windows 10的问题的想法。随后不断地在各大网站上找相关的驱动程序,但始终还是无功而返,甚至一度以为这个身份证阅读器与Windows 10不兼容且没有合适的驱动程序。但我们还是不死心,因为我们认为,既然Windows 10推出市场已经有5年多,有很多设备其实应该是适配了Windows 10,而且Windows 7的内核本质上与Windows 10并无太大区别,因此适用于Windows 7的驱动,其实也应该适合Windows 10的。

为了验证是否是操作系统的问题,我找了另一台最近这两年买的安装了Windows 7的电脑上测试,把身份证阅读器安装到那台电脑上,结果发现那台电脑居然无法正确识别身份证阅读器,在设备管理器里显示“Unknown Device”,情况就跟Windows 10很类似(只是描述的文字不一样,但实质上是同样的内容)。在Windows 7出现这种情况,说明这种问题的出现可能跟操作系统没关系。但为何在笔记本上的Windows 7可以,在那台台式机上的Windows 7不行?难道是USB的驱动程序问题?再细想一下,这两台电脑之间的不同,不止是台式机与笔记本之间的差别,在生产年份上,笔记本电脑在2011年制造,而台式机是最近这两年的,另外,那台笔记本电脑并不支持USB 3.0,而台式机主板则支持Intel原生的USB 3.0。难道就是USB 3.0的问题?为了验证这个设想,我找来一台带有USB 3.0接口且可通过BIOS关闭USB 3.0功能的笔记本电脑来测试(该笔记本电脑安装了Windows 10),在关闭USB 3.0的情况下,Windows 10能正常识别身份证阅读器且可以可以正常安装驱动程序,但打开USB 3.0选项后,操作系统就无法正常识别身份证阅读器。由于我们目前现有的硬件基本都是Intel方案,因此我们认为,这个身份证阅读器与Intel USB 3.0驱动存在兼容性的问题。

为了验证在其它厂商的USB 3.0方案中也是否存在这种问题,我特意把身份证阅读器拿回家里的AMD电脑(带USB 3.0)进行测试,测试结果是AMD USB 3.0平台下,Windows 10也无法正确识别身份证阅读器,但在USB 2.0接口下却没有问题。因此我们基本可以判定,我们所使用的这款身份证阅读器与USB 3.0的接口或驱动存在兼容性问题。

在身份证阅读器或USB 3.0 芯片相关公司没有推出解决方案之前,我们可以使用以下的临时方案,来解决这个问题:

(1)购买一个USB Hub,插在电脑任意一个USB接口都可以(不管是不是USB 3.0)。经测试买USB 3.0的Hub也可以,但最好买USB 2.0的Hub。

(2)在网上购买一个PCI-E转USB 2.0的转接卡,安装在电脑上,让身份证阅读器与这个USB转接卡相连即可。

为您推荐