树莓派供电踩坑:为什么你的 4B 总是重启

树莓派 · 4 分钟阅读· 6 次阅读

如果你搜「树莓派 4B 随机重启」,会看到一堆答案:电源不够、SD 卡坏了、系统问题、散热问题。

我前后踩过四次,四次都是供电,但具体原因各不相同。这篇把它们拆开讲。

先看症状对不对

供电不足的典型表现,按出现频率排序:

  1. 右上角出现黄色闪电图标(低电压警告)
  2. USB 外设随机断开(尤其是移动硬盘、USB 网卡)
  3. WiFi 突然消失,dmesg 里 brcmfmac: brcmf_fw_alloc_request 之类的报错
  4. HDMI 输出闪一下黑屏
  5. 系统日志出现 Under-voltage detected! 然后整机重启

第 5 条是最严重的,一般发生在电源适配器虚标或者线材太细的时候。

先确认:

vcgencmd get_throttled
# 0x0 = 正常
# 0x50000 = 曾经低电压
# 0x50005 = 正在低电压 + 曾经降频

这个命令比看闪电图标靠谱,因为它记录的是历史。

第一层:电源适配器

树莓派 4B 的官方要求是 5V/3A(15W),USB-C 口。

市面上大量「5V/3A」的充电头实际带不动:

  • 手机快充头(QC/PD)大多不支持 5V 持续 3A,PD 协议协商失败后会降到 5V/2A 甚至 5V/1A
  • 便宜的「3A」头,标称是峰值,持续输出 1.5A 就开始掉压

实测:我用一个标称 5V/3A 的杂牌头,空载 5.12V,接上树莓派 + USB 网卡后掉到 4.62V。

树莓派的低电压阈值大约是 4.63V。也就是说,它一直在临界点上。

解决方案:买带 PD 协议、明确标注 5V/3A 以上的电源,或者直接用官方电源。 官方那颗 15W 的在满载时输出稳定在 5.1V。

第二层:线材

这一层最容易被忽略。

USB-C 线有「充电线」和「数据线」之分,充电线往往只有两根电源线,线径细。1 米、2A 的线,在 3A 电流下压降可以到 0.4V。

实测数据(同一颗电源,不同线):

线材 空载 带载(约 2.6A)
官方短线 30cm 5.12V 5.05V
杂牌 1m 5.12V 4.74V
杂牌 2m 5.12V 4.58V ← 重启

结论:线长每增加 1 米,压降大概增加 0.15~0.2V。 超过 1 米基本没救,除非用 20AWG 以上的粗线。

第三层:USB 外设的浪涌

移动硬盘启动瞬间电流能到 1A 以上。树莓派 4B 的 USB 总电流限制是 1.2A(四个口合计)。

接一块 2.5 寸机械盘 + 一个 USB 网卡,启动瞬间就超了,表现是盘转起来的那一刻树莓派重启。

三种解法:

# 1. 提高 USB 电流限制(有风险,官方不建议)
# /boot/firmware/config.txt
max_usb_current=1
# 2. 用带外部供电的 USB Hub(推荐)
# 3. 用 SSD 代替机械盘(启动电流小很多)

我最后用的是带 12V 供电的 Hub,硬盘单独供电,树莓派只管数据,问题彻底消失。

第四层:断电(UPS)

前三个都解决了,还是偶发重启。查日志:

-- Boot 8f2c... --
Oct 12 02:14:31 raspberrypi systemd[1]: Startup finished in 8.2s

凌晨两点重启,没有任何错误日志——这是直接断电的特征。

小区那晚跳过一次闸。

树莓派做常年运行的服务,尤其上面跑着 DNS、网关这种一旦停了全家断网的,UPS 是必需品。我用的是一个 12V/2A 输出的迷你 UPS 模块(给路由器用的那种),改成 USB-C 输出,成本 90 块,能撑 40 分钟。

一张排查表

按这个顺序查,基本能覆盖 95% 的情况:

  1. vcgencmd get_throttled 看历史低电压
  2. 换官方电源,观察是否复现
  3. 换短线(<50cm),观察
  4. 拔掉所有 USB 外设,观察
  5. 逐个加回,找出罪魁祸首
  6. dmesg | grep -i "under-voltage" 确认
  7. 检查是否断电(看 boot 日志里有没有非正常关机记录)

一个反直觉的点

很多人(包括我)一开始会怀疑 SD 卡或者系统。但 SD 卡坏掉的症状通常是文件系统只读(mount 看变成 ro)或者启动卡住,而不是随机重启。

随机重启 + 没有任何内核报错 = 电。这个判断帮我省了很多时间。

现在我这台树莓派已经连续跑了 214 天没重启。

评论 (0)

还没有评论,来说两句吧~

发表评论

验证码

提交后需站长审核,通过后才会显示。