docker - "FTDI USB Serial Device converter now disconnected"docker 和 arm 的问题

标签 docker arm docker-compose ftdi orange-pi

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

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

uname -a 给我:

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

如果我在 docker 外运行我的软件,一切正常,几周后我不会遇到任何崩溃。问题是,如果我使用 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,然后再次对它们进行modprobe,但没有任何变化。修复它的唯一方法是重新启动电路板。
  • 我正在对 pylibftdi、vpc 驱动程序与 d2xx 驱动程序等模块进行大量试验……但运气不佳。
  • 我还在 Nanopi NEO PLUS2 上使用相同的软件(emmc、armv8 64bit、Linux host-test 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

    关于docker - "FTDI USB Serial Device converter now disconnected"docker 和 arm 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48736486/

    相关文章:

    postgresql - CSRF token 在 docker pgadmin 中丢失错误

    mysql - 无法登录docker容器中的远程Mysql服务器

    c++ - 如何在arm可执行文件中获取printf函数的地址

    assembly - 将调用者的 lr 从子例程获取到 C 变量 -arm

    Docker 撰写文件内存,cpu 限制

    docker - 热重载无法在带有 golang 的 docker 中工作 (github.com/cosmtrek/air)

    linux - 我在使用 docker compose 安装多个应用程序时遇到问题

    docker - Windows操作系统上的Kubernetes集群主节点

    c - C中2个微 Controller 之间的执行同步

    docker - https://localhost:8080/console:Hasura控制台不适用于Chrome浏览器