我正在使用Orange Pi PC PLUS2(emmc内存,arv7l 32位)通过使用FTDI芯片(sparkfun bob 09822)的串行转换器通过串行连接(RS485)控制另一个设备。

我正在使用docker容器和docker-compose嵌入我的应用程序并轻松部署/共享它。它没有做任何复杂的事情,只是通过rs485从传感器连续读取(每半秒1个)值,将其存储在本地db中,然后将数据发送到我的服务器。

ame -a给我:

Linux host-test 4.14.15-sunxi #28 SMP Mon Jan 29 07:24:48 CET 2018 armv7l GNU/Linux

如果我在docker外部运行SW,那么一切正常,几周后我不会遇到任何崩溃。问题是,如果我使用docker,则在几天之内会收到以下错误(dmesg):
[135431.500807] ftdi_sio ttyUSB0: ftdi_set_termios urb failed to set baudrate
[137213.011801] ftdi_sio ttyUSB0: ftdi_set_termios urb failed to set baudrate
[138650.664850] ftdi_sio ttyUSB0: ftdi_set_termios urb failed to set baudrate
[140559.020691] ohci-platform 1c1b400.usb: frame counter not updating; disabled
[140559.020972] ohci-platform 1c1b400.usb: HC died; cleaning up
[140559.025797] usb 6-1: USB disconnect, device number 2
[140560.099001] ftdi_sio ttyUSB0: ftdi_set_termios urb failed to set baudrate
[140560.099018] ftdi_sio ttyUSB0: urb failed to clear flow control
[140560.099652] ftdi_sio ttyUSB0: FTDI USB Serial Device converter now disconnected from ttyUSB0
[140560.099738] ftdi_sio 6-1:1.0: device disconnected

之后,我不能再使用串行转换器了。它没有出现在ttyUSB0上,并且我无法使其再次工作。我尝试同时对“ftdi_sio”和“usbserial”进行rmmod并再次对其进行探测,但没有任何变化。修复它的唯一方法是重新启动板。
  • 我正在使用pylibftdi,vpc driver vs d2xx模块等模块进行大量实验,但是没有运气。
  • 我还在Nanopi NEO PLUS2(emmc,armv8 64bit,Linux主机测试4.14.0#82 SMP Fri Dec 8 14:33:14 CST 2017 aarch64 aarch64 aarch64 GNU / Linux)上使用相同的软件问题...没有docker没关系,使用docker时也会发生类似问题(dmesg稍有不同)。
  • 我的docker-compose没什么特别的,它只是将串行端口映射为“设备:-/ dev / ttyUSB0:/ dev / ttyUSB0”

  • 问题

    有谁知道如何解决这个使我的工作完全停滞的大问题?

    额外(快速又脏)

    至少,作为一个临时补丁,是否有人知道如何在不重启的情况下恢复串行线路,并希望为我提供有关注释的提示?

    编辑

    为了完整起见,这是Nanopi中的错误(dmesg):
    [159155.585672] ohci-platform 1c1d400.usb: frame counter not updating; disabled
    [159155.593147] ohci-platform 1c1d400.usb: HC died; cleaning up
    [159155.600959] usb 8-1: USB disconnect, device number 2
    [159156.608522] ftdi_sio ttyUSB0: ftdi_set_termios FAILED to set databits/stopbits/parity
    [159156.616559] ftdi_sio ttyUSB0: ftdi_set_termios urb failed to set baudrate
    [159156.623461] ftdi_sio ttyUSB0: urb failed to clear flow control
    [159156.629832] ftdi_sio ttyUSB0: FTDI USB Serial Device converter now disconnected from ttyUSB0
    [159156.629907] ftdi_sio 8-1:1.0: device disconnected
    

    最佳答案

    尝试sudo apt-get remove brltty

    07-24 09:39
    查看更多