Ubuntu 24 键盘没有电,换usb才行 问题解决

📄 文章 🌐 公开
📋 列表 ✏️ 编辑 🎨 画布版 📋 复制MD

如果是 Ubuntu 24.04 (Noble Numbat) 系统,这个问题就非常明朗了。Linux 内核的 挂起/省电策略(Autosuspend) 在新版本内核(Ubuntu 24 默认使用 Linux 6.8+ 内核)中对 USB 设备管理得更加激进。

当系统认为你的 USB 键盘“空闲”时,内核会自动将该 USB 端口置于挂起模式(Suspend),而部分键盘的主控固件无法响应系统的唤醒信号,这就表现为“突然断电/失效”,重新插拔会重置该端口。

在 Linux 下可以通过以下几步彻底解决:


1. 禁用 USB 设备的自动挂起 (Autosuspend)

方法 A:通过 Kernel 启动参数全局禁用(最推荐)

修改 GRUB 配置,让内核不再对 USB 设备实施自动休眠:

  1. 打开终端,编辑 GRUB 配置文件:
sudo nano /etc/default/grub
  1. 找到以 GRUB_CMDLINE_LINUX_DEFAULT 开头的那一行(通常形如 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash")。
  2. 在双引号内加上 usbcore.autosuspend=-1。例如修改后为:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash usbcore.autosuspend=-1"
  1. 保存并退出(在 nano 中按 Ctrl + O 保存,Enter 确认,再按 Ctrl + X 退出)。
  2. 更新 GRUB 配置并重启:
sudo update-grub
sudo reboot

方法 B:使用 TLP 或 Powertop 调整(如果安装了电源管理软件)

如果你安装了 tlp 这类电源优化工具:

  1. 编辑配置文件:
sudo nano /etc/tlp.conf
  1. 找到 USB_AUTOSUSPEND=1,将其改为 0
USB_AUTOSUSPEND=0
  1. 保存后重启 TLP 服务:
sudo systemctl restart tlp

2. 临时排查:仅针对键盘设备关闭挂起

如果不希望影响全局 USB 省电,可以先找出键盘的 VID/PID(厂商与设备 ID):

  1. 运行 lsusb 命令找到你的键盘,比如:
Bus 001 Device 004: ID 046d:c52b Logitech, Inc. Unifying Receiver

这里的 046d:c52b 就是 ID(Vendor ID 为 046d,Product ID 为 c52b)。

  1. 查看当前该设备的挂起状态:
cat /sys/bus/usb/devices/1-2/power/control
# 结果如果是 "auto",说明系统会尝试自动断电挂起
  1. 将其设置为 on(禁止挂起):
echo "on" | sudo tee /sys/bus/usb/devices/1-2/power/control

3. 排查 Ubuntu 24 的 Pipewire / USB Audio 干扰(特殊情况)

如果你的键盘带有音频接口/麦克风(比如某些带有 3.5mm 音频口、外置声卡或 RGB 绘图板功能的复合键盘),Ubuntu 24.04 默认的 PipeWire 音频服务在挂起音频设备时,可能会导致整个 USB 复合设备跟着被强行断电。

  • 验证方法:尝试在终端中运行 systemctl --user stop pipewire-pulse 观察一段时间看看是否还会掉电。如果是这个问题,可以在 /etc/pipewire/ 的配置中禁用 USB 声卡的空闲休眠(node.pause-on-idle)。

总结

在 Ubuntu 24 下,优先推荐方法 1 的全局禁用 usbcore.autosuspend=-1,基本上 95% 以上因为内核省电策略导致的外设随机“掉电”问题都能一劳永逸地解决。

💬 留言 ⋮⋮

加载中…
💡 不登录也可留言(IP 限制:每文/每天各 1/10 条)

加载中…

纸张白
护眼绿
羊皮卷
夜间黑
100%