Linux Debian下STM32CubeProgrammer串口连接失败解决方案
主流 Linux 发行版(包括 Debian)默认集成了 CH341所需的驱动, Linux 内核中对应的驱动模块名称是 CH341。这个驱动同时兼容 CH340、CH341 等系列芯片。Linux Debian13系统使用USB转TTL串口模块,STM32CubeProgrammer连接STM32F103C8T6开发板,提示连接串口失败,虽然打开命令终端运行ls /dev/ttyUSB*,出现ttyUSB0串口
bash
debian@debian:~$ ls /dev/ttyUSB*
/dev/ttyUSB0
但是连接串口失败,执行下面命令,临时才能连接成功,
bash
dabian@debian:~$ sudo chmod 666 /dev/ttyUSB0
sudo chmod 666 虽然能立刻解决问题,但它只是临时修改了当前这次插入的 /dev/ttyUSB0 文件的权限,一旦你拔掉 USB 转串口模块再重新插上,设备节点会被重新创建,权限又会恢复原样。
要一劳永逸地解决,核心是让你的用户账户拥有访问串口设备的权限。
方案:将用户加入 dialout 组(推荐,最标准)
Debian 系统默认将串口设备(如 /dev/ttyUSB0)的所有者设为 root,所属组设为 dialout,并且组权限通常是可读写的。你只需要把自己加入这个组即可。
-
执行添加命令:
bashsudo usermod -a -G dialout $USER$USER会自动替换为你的当前用户名。 -
使更改生效 :
这一点非常关键,需要直接重启电脑。
-
验证 :
重新登录后,可以运行
groups命令,确认输出中包含dialout。之后你直接运行 STM32CubeProgrammer 连接/dev/ttyUSB0应该就不会再报权限错误了。
