2015-06-22 51 views
0

我正在尝试使用chrome.usb连接到智能卡阅读器窗体的Chrome应用。清单中的权限设置正确,并且lsusb识别设备。Chrome应用未能打开USB设备

chrome.usb.getDevices检测设备,但是当我尝试使用chrome.usb.openDevice我去打开它“无法打开设备”。我已经在Windows 7上用chrome 43和ubuntu用chrome 42尝试过它,并得到了相同的结果。我也安装了chrome device-info sample app,并得到了相同的信息。

有什么我应该看设备本身?它可能与权限有关吗?

+1

Windows用户可以尝试http://zadig.akeo.ie/这里:https://code.google.com/p/chromium/issues/detail?id=302278 – gui47

+0

有趣的是,我试图做同样的事情。使用Zadig是唯一的方法来攻击驱动程序吗? ***为什么**不能* Chrome无法在Windows上打开设备?这是另一个Microsoft Mystery™吗? – ADTC

+0

我使用了[USB设备信息](https://chrome.google.com/webstore/detail/usb-device-info/igkmggljimacfdfalpeelenjeicmfnll)应用程序,发现Chrome可以列出的11个设备中有10个设备“未能打开“(包括一个ACS智能卡读卡器),打开的一台设备是我的有线光电鼠标...... – ADTC

回答

0

新闻?我在chrome://device-log/发现消息:

usb_device_impl.cc:259无法打开设备:拒绝访问(权限不足)

0

首先你需要弄清楚的供应商和产品ID为您的设备。如果您运行lsusb它会列出你的系统上的设备在这样的格式:

~$ lsusb 

Bus {Bus number} Device {device id}: ID {vendorid in hexa}:{product id in hexa} Manufacturer Product 

一旦你知道了这个信息,你可以创建/etc/udev/rules.d/一个文件名为{deviceid}.rules。将{deviceid}替换为从那里的输出获得的值。

含量应为以下:

SUBSYSTEM=="usb", ATTRS{idVendor}=="vendorid", ATTR{idProduct}=="productid", MODE="0666", GROUP="plugdev"

替换vendoridproductid与对应通过运行上述命令获得的十六进制值。