My Mi A3 (laurel_sprout, SM6125) now runs Nura (formerly postmarketOS) on mainline 7.2 as an always-on box on the charger: Docker containers, Tailscale, ssh. Stock pmOS boots on it, but a lot of hardware was missing. Here's what I added:
- Battery: fuel gauge driver for the PMI632 (%, current, voltage) and a charge limit that holds it at 50 % so it doesn't swell on the charger
- Wi-Fi + Bluetooth: WCN3990/WCN3988 via device-tree changes and firmware from the phone's own stock partitions
- IR blaster: a TV remote in the dashboard
- Bottom speaker: MAX98937 amp through the ADSP, with volume/gain and alert chimes
- GPU, cpufreq, temperature sensors: plus a thermal guard that powers off if it overheats
- Touch dashboard on the phone's screen (overview, containers, processes, network, files, power) and a web dashboard
Not working: modem (only half set up, enough for Wi-Fi), earpiece, mics, GPS, fingerprint, cameras. It's a server, not a daily driver.
One script on your PC builds the modules in Docker and hopefully installs everything over ssh. Point your favorite agent at this and everything should work out great. Can i turn this into a simple 1 button situation? Maybe lets see if this even interested anyone or works for others. ¯_(ツ)_/¯ Yes this was made using vibes and dreams - bite me. The README has a stock-to-here guide.
Most of this is out-of-tree hacks (runtime DT overlays, userspace amp init), so not upstream-ready yet. The DT bits (Wi-Fi, BT, IR, cpufreq) are what I'd try to upstream first. Feedback welcome, especially from anyone else running SM6125.