因笔者近期工作需要使用到云桌面的项目,故接触到了一系列的瘦终端。其中,在小黄鱼上收到的 Dell Wyse 3040 终端中,我安装好 Debian12 后,就遇到了无法关机的一个问题。经过笔者的查询,在 Debian Wiki 上发现了有关于这个问题的解决方案。下面这篇文章就来记录一下这个问题的解决方法。

准备材料

  • Dell Wyse 3040 瘦终端主机,并安装了 Debian12 系统

解决方法

  1. 进入 root 用户,使用以下命令:nano /etc/modprobe.d/blacklist.conf 打开编辑器,编辑 /etc/modprobe.d/blacklist.conf 文件,新增以下内容并保存:
1
2
3
blacklist dw_dmac_core
install dw_dmac /bin/true
install dw_dmac_core /bin/true
  1. 使用以下命令,更新 initramfs 引导:
1
update-initramfs -u
  1. 重启终端,即可正常开关机

问题原因

某些内核版本在关机或重启时会卡住。该问题与 Cherry Trail SoC 上 HSUART DMA 的内核模块有关,仅影响 UP 主板。即使禁用 DMA 支持后,HSUART 仍可在 PIO 模式下使用,但 CPU 效率会降低。