我正在使用 Arduino Nano(以前是 UNO)从传感器收集数据,然后通过供电集线器通过 USB 连接将数据发送回运行 Jessie 4.1.19+ 2016 年 3 月 15 日和 Python 2.7 的 Raspberry Pi model B 。 python代码使用pyserial readline来获取数据。
一般来说,它工作正常,但偶尔(通常是一天几次)它会失败并显示上述消息。解决这个问题的唯一方法似乎是拔掉 USB 连接,重新连接并重新启动程序。我更改了代码以捕获异常,但它不会重新打开连接,并给出错误:
serial.serialutil.SerialException:无法打开端口 /dev/ttyUSB0:[Errno 2] 没有这样的文件或目录:'/dev/ttyUSB0'
UNO(位于 /dev/ttyAMA0)和 NANO(位于 /dev/ttyUSB0)都会出现此问题。
就在最近,我发现出现此故障后,Nano 已移至 /dev/ttyUSB1。然后,Python 代码将针对 /dev/ttyUSB1 成功运行,但当问题再次发生时,它会切换回 /dev/ttyUSB0。
因此,我更改了代码以拦截异常并打开替代设备并继续。到目前为止,这工作正常,但显然不正确。
谁能建议问题可能出在哪里以及我如何诊断它?我技术不高!另外,我已经看到了有关此主题的其他几篇文章,但在这种情况下恢复到以前的内核级别并不实际。
更新为包括下面的日志输出。有两个设备:NANO (1a86:7523) 和 OWL 功率监视器 (0fde:ca05)。
$ dmesg -T
[2017 年 2 月 11 日星期六 14:53:02] USB 1-1.3-port2:被集线器禁用(EMI?),重新启用...
[2017 年 2 月 11 日星期六 14:53:02] USB 1-1.3.2:USB 断开连接,设备编号 71
[2017 年 2 月 11 日星期六 14:53:03] dwc_otg_hcd_handle_hc_fsm:173 个回调被抑制
[2017 年 2 月 11 日星期六 14:53:03] 传输到设备 72 端点 0x1 帧 1649 失败 - FIQ 报告 NYET。数据可能已丢失。
[2017 年 2 月 11 日星期六 14:53:03] 传输到设备 72 端点 0x1 帧 1650 失败 - FIQ 报告 NYET。数据可能已丢失。
[2017 年 2 月 11 日星期六 14:53:03] ch341-uart ttyUSB1:usb_serial_generic_read_bulk_callback - urb 停止:-32
[2017 年 2 月 11 日星期六 14:53:03] 传输到设备 72 端点 0x1 帧 1651 失败 - FIQ 报告 NYET。数据可能已丢失。
[2017 年 2 月 11 日星期六 14:53:03] 传输到设备 72 端点 0x1 帧 1652 失败 - FIQ 报告 NYET。数据可能已丢失。
[2017 年 2 月 11 日星期六 14:53:03] 传输到设备 72 端点 0x1 帧 1653 失败 - FIQ 报告 NYET。数据可能已丢失。
[2017 年 2 月 11 日星期六 14:53:03] ch341-uart ttyUSB1:usb_serial_generic_read_bulk_callback - urb 停止:-32
[2017 年 2 月 11 日星期六 14:53:03] 传输到设备 72 端点 0x1 帧 1654 失败 - FIQ 报告 NYET。数据可能已丢失。
[2017 年 2 月 11 日星期六 14:53:03] 传输到设备 72 端点 0x1 帧 1655 失败 - FIQ 报告 NYET。数据可能已丢失。
[2017 年 2 月 11 日星期六 14:53:03] 传输到设备 72 端点 0x1 帧 1656 失败 - FIQ 报告 NYET。数据可能已丢失。
[2017 年 2 月 11 日星期六 14:53:03] 传输到设备 72 端点 0x1 帧 1657 失败 - FIQ 报告 NYET。数据可能已丢失。
[2017 年 2 月 11 日星期六 14:53:03] 传输到设备 72 端点 0x1 帧 1658 失败 - FIQ 报告 NYET。数据可能已丢失。
[Sat Feb 11 14:53:03 2017] usb 1-1.3.2:使用 dwc_otg 的新全速 USB 设备编号 73
[2017 年 2 月 11 日星期六 14:53:03] usb 1-1.3.2:找到新 USB 设备,idVendor=0fde,idProduct=ca05
[2017 年 2 月 11 日星期六 14:53:03] usb 1-1.3.2:新 USB 设备字符串:Mfr=1、Product=2、SerialNumber=3
[Sat Feb 11 14:53:03 2017] USB 1-1.3.2:产品:OWL 无线电力监测器 USB 版本已连接
[2017 年 2 月 11 日星期六 14:53:03] USB 1-1.3.2:制造商:Silicon Labs
[2017 年 2 月 11 日星期六 14:53:03] USB 1-1.3.2:序列号:001A3C26
[2017 年 2 月 11 日星期六 14:53:03] cp210x 1-1.3.2:1.0:检测到 cp210x 转换器
[2017 年 2 月 11 日星期六 14:53:03] USB 1-1.3.2:cp210x 转换器现已连接到 ttyUSB0
[2017 年 2 月 11 日星期六 14:53:03] USB 1-1.3-port3:被集线器禁用(EMI?),重新启用...
[2017 年 2 月 11 日星期六 14:53:03] USB 1-1.3.3:USB 断开连接,设备编号 72
[Sat Feb 11 14:53:03 2017] ch341-uart ttyUSB1:ch341-uart 转换器现已与 ttyUSB1 断开连接
[2017 年 2 月 11 日星期六 14:53:03] ch341 1-1.3.3:1.0:设备已断开连接
[Sat Feb 11 14:53:03 2017] USB 1-1.3.3:使用 dwc_otg 的新全速 USB 设备编号 74
[2017 年 2 月 11 日星期六 14:53:03] usb 1-1.3.3:找到新 USB 设备,idVendor=1a86,idProduct=7523
[2017 年 2 月 11 日星期六 14:53:03] usb 1-1.3.3:新 USB 设备字符串:Mfr=0、Product=2、SerialNumber=0
[2017 年 2 月 11 日星期六 14:53:03] USB 1-1.3.3:产品:USB2.0-串行
[2017 年 2 月 11 日星期六 14:53:03] ch341 1-1.3.3:1.0:检测到 ch341-uart 转换器
[2017 年 2 月 11 日星期六 14:53:03] USB 1-1.3.3:ch341-uart 转换器现已连接到 ttyUSB2
[Sat Feb 11 14:53:05 2017] cp210x ttyUSB0:cp210x 转换器现已与 ttyUSB0 断开连接
[2017 年 2 月 11 日星期六 14:53:05] cp210x 1-1.3.2:1.0:设备已断开连接
我知道这是一个旧线程,但我最近遇到了这个问题树莓派 3 B 型修订版 1.2运行 Debian 内核 5.4.0-3-arm64,同时连接3018 CNC Pro控制板。当我lsusb
,董事会显示为
Bus 001 Device 011: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
每当我打开串口时,USB 设备就会重置。我进行了广泛的搜索,应用了来自不同论坛的一堆配置参数,但是事实证明这个问题与我的电源有关.
虽然 3018 CNC Pro 板具有独立电源,但板上的 USB 串行芯片是总线供电的(在lsusb -v
)。我的 Raspberry Pi 有充足的可用电源,但我通过金属夹并沿着金属通道运行 1m USB 电缆,该金属通道必须有足够的电感来抵抗通过 USB 电缆所需的电源浪涌。取下夹子就解决了这个问题。
希望这篇笔记对某人有所帮助!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)