我正在使用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
如果我在船坞外面运行我的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上,我也无法让它再次运行。我再次尝试 rmmod “ftdi_sio”和“usbserial”以及 modprobe ,但没有任何改变。修复它的唯一方法是重启电路板。
我正在尝试使用pylibftdi,vpc驱动程序和d2xx驱动程序等模块,但没有运气。
我也在Nanopi NEO PLUS2上使用相同的SW(emmc,armv8 64位, Linux主机测试4.14.0#82 SMP Fri Dec 8 14:33:14 CST 2017 aarch64 aarch64 aarch64 GNU / Linux )我有相同的问题...没有docker都没问题,使用docker时会出现类似的问题(稍微不同的dmesg)。
我的docker-compose没什么特别的,它只是将串口映射到“devices: - / 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
答案 0 :(得分:0)
尝试sudo apt-get remove brltty