为啥 ch341-uart 会与 ttyUSB 断开连接?

Posted

技术标签:

【中文标题】为啥 ch341-uart 会与 ttyUSB 断开连接?【英文标题】:Why would ch341-uart is disconnected from ttyUSB?为什么 ch341-uart 会与 ttyUSB 断开连接? 【发布时间】:2022-01-04 10:58:26 【问题描述】:

这就是交易,我想用我的 USB 串行端口刷新我的 stm32 板。我的 stm32 板带有一个扩展板,带有 CH340。

当我将板子连接到我的电脑时,我可以通过命令lsusb看到设备,输出为Bus 001 Device 039: ID 1a86:7523 QinHeng Electronics CH340 serial converter

但我在/dev 路径下找不到ttyUSB 文件。

然后我运行dmesg | grep tty,这是输出:

[1182096.667353] usb 1-9: ch341-uart converter now attached to ttyUSB0
[1182096.729868] audit: type=1130 audit(1637925474.011:3648): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=brltty-device@sys-devices-pci0000:00-0000:00:14.0-usb1-1\x2d9 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[1182096.800144] audit: type=1130 audit(1637925474.081:3649): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=brltty@-sys-devices-pci0000:00-0000:00:14.0-usb1-1\x2d9 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[1182096.803145] usb 1-9: usbfs: interface 0 claimed by ch341 while 'brltty' sets config #1
[1182096.803731] ch341-uart ttyUSB0: ch341-uart converter now disconnected from ttyUSB0

有人知道这里有什么问题吗?谢谢。

【问题讨论】:

可能重复Unable to use USB dongle based on USB-serial converter chip 【参考方案1】:

好吧,我刚刚在 forum.manjaro.org 找到了一个帖子,这是链接:https://forum.manjaro.org/t/cant-connect-serial-port-error-ch341-uart-disconnected-from-ttyusb0/87208

好像是arch/manjaro系统(不确定是否适合其他发行版),需要去掉一些udev规则。

sudo mv /usr/lib/udev/rules.d/90-brltty-device.rules /usr/lib/udev/rules.d/90-brltty-device.rules.disabled
sudo mv /usr/lib/udev/rules.d/90-brltty-uinput.rules /usr/lib/udev/rules.d/90-brltty-uinput.rules.disabled
sudo udevadm control --reload-rules

我不知道为什么,但我做到了。它奏效了。现在我可以找到我的ttyUSB0 设备文件了。

【讨论】:

以上是关于为啥 ch341-uart 会与 ttyUSB 断开连接?的主要内容,如果未能解决你的问题,请参考以下文章

当它出现时打开 /dev/ttyUSB*

为啥“<<-”会与 Shiny 中的函数范围混淆

为啥 jQuery UI 的日期选择器会与动态 DOM 发生冲突?

为啥转换后的 UIView 会与层次结构中较高的其他视图重叠?

为啥表单标签会与我的 ngModel 和属性绑定混淆? ngModel 在 ngFor 里面 Form 标签

为啥matlabcontrol在代理创建时中断调用线程?