Skip to content

Pi Provisioning

Ethan Knox edited this page May 8, 2026 · 2 revisions

One-time configuration applied to every onboard Raspberry Pi (Pi 5 specifically). These tweaks silence the boot-time low-power warning, enable full USB current, and assert that the PSU is the 5A USB-C type — necessary because the boat's 12V→5V buck supplies don't identify themselves as Pi-recognized PSUs over USB-C PD.

What gets configured

Two separate stores. Both must be set; either alone leaves a warning behind.

/boot/firmware/config.txt — userland boot config

Append under the [all] section:

[all]
usb_max_current_enable=1

Effect: removes the firmware's 600 mA per-port USB current cap (Pi 5 default when it can't negotiate 5A from the PSU), so USB-attached storage / hubs / dongles work at full power. Without it, the kernel logs usb 1-1: rejected ... no over-current detection and high-draw devices brown out.

EEPROM (rpi-eeprom-config) — bootloader config

PSU_MAX_CURRENT=5000

Effect: tells the bootloader the PSU is rated for 5 A, which suppresses the rainbow-square low-power splash and the kernel Under-voltage detected! messages on boot.

Apply on a new Pi

# 1. /boot/firmware/config.txt — make sure usb_max_current_enable=1 is under [all]
sudo sed -i '/^\[all\]/a usb_max_current_enable=1' /boot/firmware/config.txt
# (verify, dedupe if you ran the sed twice)
sudo grep -n usb_max_current /boot/firmware/config.txt

# 2. EEPROM — add PSU_MAX_CURRENT=5000
TMP=$(mktemp)
sudo rpi-eeprom-config > "$TMP"
echo 'PSU_MAX_CURRENT=5000' | sudo tee -a "$TMP" >/dev/null
sudo rpi-eeprom-config --apply "$TMP"
rm "$TMP"

# 3. Reboot — both changes only take effect after restart
sudo reboot

Verify

After reboot:

vcgencmd bootloader_config | grep PSU_MAX_CURRENT   # should print 5000
grep usb_max_current /boot/firmware/config.txt       # should print =1
vcgencmd get_throttled                                # should print throttled=0x0

get_throttled=0x0 is the live "no current throttling" reading. If you see anything else (e.g. 0x50000), the supply isn't actually delivering 5 A and the warning is real — increase the buck output or fix the wire gauge before trusting these flags.

Hosts where this is applied

  • boatflix.local
  • ironclaw.local (EEPROM update flashed; takes effect on next reboot)
  • openplotter.local
  • salonviewscreen.local — confirm during next visit
  • homeassistant.local (HAOS) — not yet done; HAOS doesn't expose rpi-eeprom-config or shell access to /boot/firmware/config.txt the same way raspberrypi-os does. Open question: easiest path is probably the SSH/Terminal HA add-on + mount -o remount,rw /mnt/boot or pulling the SD/NVMe out and editing on another host.

Cross-refs

Clone this wiki locally