部署文档补内核控制台坑: 仅关getty不够
实测: printk legacy console [ttyS0] 未清时内核日志混入吊舱协议流, 表现为 收几帧后 OSError errno 5; 补充 cmdline.txt 清理步骤与串口静默后三连验证
This commit is contained in:
+10
-1
@@ -80,7 +80,16 @@ pytest # 仅上机自测需要,部署运行可省
|
|||||||
串口硬件选 Yes**(等价于 `enable_uart=1` + 关闭 serial-getty 抢占);
|
串口硬件选 Yes**(等价于 `enable_uart=1` + 关闭 serial-getty 抢占);
|
||||||
- Pi 4B 上 `/dev/serial0` 默认指向 mini-UART(ttyS0,波特率随主频漂移),
|
- Pi 4B 上 `/dev/serial0` 默认指向 mini-UART(ttyS0,波特率随主频漂移),
|
||||||
115200 下不稳——在 `/boot/firmware/config.txt` 加 `dtoverlay=disable-bt`
|
115200 下不稳——在 `/boot/firmware/config.txt` 加 `dtoverlay=disable-bt`
|
||||||
把 PL011(ttyAMA0)换回来,`/dev/serial0` 随之改指 ttyAMA0;
|
把 PL011(ttyAMA0)换回来,`/dev/serial0` 随之改指 ttyAMA0
|
||||||
|
(想保留蓝牙改用 `dtoverlay=miniuart-bt`);
|
||||||
|
- **必须同时清掉内核控制台**(2026-09-28 实测踩坑):`dmesg` 出现
|
||||||
|
`printk: legacy console [ttyS0] enabled` 说明内核 printk 也在往同一个口
|
||||||
|
吐日志,与吊舱协议流混在一起(表现为能收几帧后 `OSError errno 5` 或
|
||||||
|
持续坏帧)。编辑 `/boot/firmware/cmdline.txt`(**单行文件,务必先备份**)
|
||||||
|
删掉 `console=serial0,115200` / `console=ttyS0,115200` 后重启;
|
||||||
|
- 串口静默后三连验证(缺一不可):`ls -l /dev/serial0`→ttyAMA0、
|
||||||
|
`ps aux | grep "[a]getty"` 无串口 getty、`dmesg | grep -i "console \["`
|
||||||
|
不再出现 ttyS0;
|
||||||
- **Pi 是 3.3V 电平,绝不直连 5V/RS232 电平**,会烧 GPIO。
|
- **Pi 是 3.3V 电平,绝不直连 5V/RS232 电平**,会烧 GPIO。
|
||||||
- 接线三线:TX/RX **交叉**、**必须共地(GND)**,不共地是通讯乱码的第一大原因。
|
- 接线三线:TX/RX **交叉**、**必须共地(GND)**,不共地是通讯乱码的第一大原因。
|
||||||
- 用户权限:`sudo usermod -aG dialout $USER`,重登录生效,否则 open 串口 Permission denied。
|
- 用户权限:`sudo usermod -aG dialout $USER`,重登录生效,否则 open 串口 Permission denied。
|
||||||
|
|||||||
Reference in New Issue
Block a user