WebSerial API 设备无法在 Ubuntu 上打开端口
Posted
技术标签:
【中文标题】WebSerial API 设备无法在 Ubuntu 上打开端口【英文标题】:WebSerial API Device cannot open port on Ubuntu 【发布时间】:2020-07-27 09:43:48 【问题描述】:在 Windows 和 ChromeOS 上运行后,我尝试在 Ubuntu 上使用 WebSerial API。
当我尝试连接设备时,出现此错误:DOMException: Failed to open serial port.
Error
我创建了一个 udev 规则,但它不起作用。
SUBSYSTEM=="tty", ATTRidVendor=="0eb8", ATTRidProduct=="f010", ATTRSserial=="0000:00:14.0", SYMLINK+="ttyMettler0"
设备信息:
looking at device '/devices/pci0000:00/0000:00:14.0/usb1/1-6':
KERNEL=="1-6"
SUBSYSTEM=="usb"
DRIVER=="usb"
ATTRidProduct=="f010"
ATTRbNumConfigurations=="1"
ATTRavoid_reset_quirk=="0"
ATTRconfiguration==""
ATTRbNumInterfaces==" 2"
ATTRltm_capable=="no"
ATTRquirks=="0x0"
ATTRmanufacturer=="METTLER TOLEDO"
ATTRserial=="67022056LW"
ATTRspeed=="12"
ATTRurbnum=="10"
ATTRbusnum=="1"
ATTRtx_lanes=="1"
ATTRbConfigurationValue=="1"
ATTRdevnum=="5"
ATTRbDeviceSubClass=="00"
ATTRbmAttributes=="c0"
ATTRidVendor=="0eb8"
ATTRversion==" 1.10"
ATTRauthorized=="1"
ATTRmaxchild=="0"
ATTRproduct=="BCA-222-60U-1301-120 "
ATTRbcdDevice=="100f"
ATTRbDeviceClass=="02"
ATTRrx_lanes=="1"
ATTRbMaxPacketSize0=="8"
ATTRbMaxPower=="500mA"
ATTRdevpath=="6"
ATTRremovable=="removable"
ATTRbDeviceProtocol=="00"
looking at parent device '/devices/pci0000:00/0000:00:14.0/usb1':
KERNELS=="usb1"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRSbMaxPower=="0mA"
ATTRSversion==" 2.00"
ATTRSdevpath=="0"
ATTRSbusnum=="1"
ATTRSbConfigurationValue=="1"
ATTRSremovable=="unknown"
ATTRSauthorized_default=="1"
ATTRSserial=="0000:00:14.0"
我的 udev 正确吗?有没有人有类似的问题?
【问题讨论】:
请将 udev 规则放在问题本身而不是屏幕截图中 检查udev规则是否真正生效,运行Chrome的用户是否能够打开设备节点。 @Jon 我添加了更多细节 @ReillyGrant 我添加了更多细节。 runnig 用户是 admin 并且在所有组中 当您在 Chrome 中选择端口时,它应该会列出设备名称,例如“ttyUSB0”。如果您运行ls -l /dev/ttyUSB0
,是否设置了文件的所有权和权限,以便运行 Chrome 的用户可以访问它?
【参考方案1】:
在我的例子中,这个问题是通过将我的用户添加到带有sudo adduser [username] dialout
的“拨出”组来解决的(考虑到机器应该在那之后重新启动)然后它就可以工作了!
【讨论】:
以上是关于WebSerial API 设备无法在 Ubuntu 上打开端口的主要内容,如果未能解决你的问题,请参考以下文章
ubunt 安装 yum出现 ubuntu 解决“无法获得锁 /var/lib/dpkg/lock -open (11:资源暂时不可用)”的方法
无法在 Google 地图位置点按 Kitkat 设备的自动完成 API 问题
无法定期在 IOS 中进行后台 API 调用以推送应用程序中从 BLE 设备接收的数据
Flutter 物理 iOS 设备无法向我的本地 asp.net 服务器发出 api 请求