Ubuntu Snap Chromium 无法访问 WebHID

问题描述 投票:0回答:1

我正在使用 Ubuntu 23.10,并尝试使用具有 WebHID 的设备。我已经添加了所有适当的规则,即

KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1209", ATTRS{idProduct}=="d035", GROUP="plugdev", MODE="0660"

/etc/udev/rules.d/99-oledscope.rules

并且,我可以看到 hidraw* 已正确配置:

ls -lah /dev/hidraw*
crw-rw---- 1 root plugdev 241, 0 Apr 24 04:40 /dev/hidraw0
crw-rw---- 1 root plugdev 241, 1 Apr 24 04:40 /dev/hidraw1

我还验证了我在 Plugdev 组中。

这是我的报告描述符:

    HID_USAGE_PAGE ( 0xff ), // Vendor-defined page.
    HID_USAGE      ( 0x00 ),
    HID_REPORT_SIZE ( 8 ),
    HID_COLLECTION ( HID_COLLECTION_LOGICAL ),
        HID_REPORT_COUNT   ( 254 ),
        HID_REPORT_ID      ( 0xaa )
        HID_USAGE          ( 0x01 ),
        HID_FEATURE        ( HID_DATA | HID_VARIABLE | HID_ABSOLUTE ) ,
        HID_REPORT_COUNT   ( 63 ), // For use with `hidapitester --vidpid 1209/D003 --open --read-feature 171`
        HID_REPORT_ID      ( 0xab )
        HID_USAGE          ( 0x01 ),    
        HID_FEATURE        ( HID_DATA | HID_VARIABLE | HID_ABSOLUTE ) ,
    HID_COLLECTION_END,

通过上述内容,我可以使用 hidapi.h 访问设备并发送/接收适当的报告,但是当我使用 Chrome(来自 Snap 的 124.0.6367.60)时,我收到以下错误:

Could not open; NotAllowedError: Failed to open the device.

然后,如果我查看设备日志中的

chrome://device-log/
,我会看到源源不断的

HIDEvent[04:40:26] Failed to open '/dev/hidraw1': FILE_ERROR_ACCESS_DENIED
HIDEvent[04:40:26] Access denied opening device read-write, trying read-only.

我不确定这是因为我使用的是 snap 包,但是,无论哪种方式,我都无法从 Chrome 访问我的 WebHID 设备。

我可以做些什么来确保 snap 包可以访问 hidraw?

google-chrome ubuntu hid webhid
1个回答
0
投票

哇!我只是想在这里问一下!事实证明,这是因为一些严格的规则,并且有一个解决方法:

https://askubuntu.com/a/1296762指出您可以创建一个chrome启动器,但取消捕捉它,如下所示。虽然很受诅咒。

/snap/chromium/current/usr/lib/chromium-browser/chrome --user-data-dir=~/ChrUnsnapped --class="ChrUnsnapped" %U

如果有人有其他解决方案,我很想知道!

© www.soinside.com 2019 - 2024. All rights reserved.