I am using the Mudi 7 as my primary, 24/7 router in my caravan. It is a fantastic device, but I am concerned about battery health due to permanent charging. Could you consider adding a 'battery charge limit' (e.g., stopping charge at 60-80%) in a future firmware update? This would make the Mudi the perfect, long-term solution for professional mobile setups
Yep, and it's what I've been asking for a while now.
I just removed the battery because it works without it installed, I asked them to add support for that feature and it's been a thing since 4.8.4 if I remember correctly.
yes please
I know, but isn’t the best way
the staff said that once it reaches 100% it cuts over to external power all the time and doesn't charge the battery
Most phones have a feature called bypass charging, which gets the device to use power instead of battery for the system, I guess they could try doing something like that for it, which to me would be awesome.
So when it's charging it can use the external power instead of the battery and I guess it could be adapted to to switch from battery to extend power.
Charging to 100% isn't good for the battery in the long run. But if there's a command for bypassing at 100%, could it be rewritten to bypass at 80%? Does anyone know how to do that?
Pull the battery out if you running 24/7 …… its not that hard
I know, its easy but not smart ![]()
I think this feature will help a lot in terms of durability and resistance. So it will be very grateful.
I’ve managed to figure out a way to limit the battery charge voltage (peak voltage for CC/CV charging), but it only applies to charging methods where the SGM41542S charger IC is performing voltage regulation (i.e. anything that isn’t PD PPS - e.g. PD with fixed-voltage PDO, QC, BC1.2, etc).
(With PD PPS, the PD source is the one performing voltage regulation. There are no sysfs toggles available to tweak this as far as I can tell, but I believe it’s possible to instruct the PD controller to request lower voltages)
A 80% charge limit would probably correspond to something like 4V, so just adjust the CV_VOLTAGE variable in this script accordingly.
Note that this means that your charging speeds will slow down as the voltage approaches the configured limit, but this is probably an acceptable tradeoff if it’s plugged in 24/7. If you don’t want this, you could also try applying the voltage limit only when the battery hits your desired max charge percentage (e.g. by listening to events with DRIVER=cw221X and looking at $CW2217-cap)
To use this, just ssh in and save this as /etc/hotplug.d/i2c/20-charge-limit.
#!/bin/sh
CV_VOLTAGE=4050000
# only care about aw35615 (pd controller) or sgm41542S-charger (qc charger controller)
[ "$DRIVER" = "aw35615" ] || [ "$DRIVER" = "sgm41542S-charger" ] || exit 0
CHARGING=0
# port A = "USB 3.1" side port, port B = "PD" bottom port
PORT_A_STATUS=`printenv 'aw35615-a'`
PORT_B_STATUS=`printenv 'aw35615-b'`
CHG_A_STATUS=`printenv TYPEC-A_CHG`
CHG_B_STATUS=`printenv TYPEC-B_CHG`
case "$PORT_A_STATUS" in
*_in)
logger -t charge_limit "PD src connected on port A"
CHARGING=1
;;
esac
case "$PORT_B_STATUS" in
*_in)
logger -t charge_limit "PD src connected on port B"
CHARGING=1
;;
esac
if [ "$CHG_A_STATUS" ]; then
logger -t charge_limit "Port A charging with $CHG_A_STATUS"
CHARGING=1
fi
if [ "$CHG_B_STATUS" ]; then
logger -t charge_limit "Port B charging with $CHG_B_STATUS"
CHARGING=1
fi
if [ $CHARGING -eq 1 ]; then
logger -t charge_limit "Limiting constant charge voltage to $CV_VOLTAGE mV"
(sh -c '
for i in `seq 1 5`; do
echo $0 > /sys/class/power_supply/charger/constant_charge_voltage;
sleep 2;
done
' $CV_VOLTAGE &)
fi
exit 0
Please support the limit of 80% to stop charging.
+1 for this.
Worth noting: the hotplug script posted above proves the E5800 can already do it — the charger driver exposes constant_charge_voltage, so this is software-only. It just needs to be a supported setting instead of an SSH patch that has to be reapplied after every firmware update.
A charge limit under System → Power (70–100 % in 5 % steps, default 100 %) would cover it.
And on "just pull the battery out": that loses the UPS behaviour during a power blip, and for anyone alternating between stationary and travel use it means opening the cover over and over — which the cover and its clips won't survive indefinitely.
Thanks for considering it.
Small addition in case it's useful: on the E5800 with a PPS charger the charging runs through the SGM41600 switched-cap charger rather than the SGM41542S buck (VBUS 8792 mV vs VBAT 4288 mV, ibus about half of ibat).
Setting charge_en = 0 on the SGM41600, plus the buck's vreg below the cell voltage so it doesn't take over, gives 0 mA into the cell with the router still running from the adapter.
I put it in a script: GitHub - ChiliApple/mudi7-battery-limit: Charge limit for GL.iNet Mudi 7 (GL-E5800) - stop charging at a configurable SoC while running on USB-C power · GitHub — glbattlimit on 80 / off, releases itself on unplug, nothing written to flash.
One thing to watch: the GUI percentage isn't the fuel gauge value. On mine GUI ≈ 1.39 × gauge − 19, so a gauge limit of 71 reads as ~80 on screen. The script converts, but I only have four data points so far.
Happy to be corrected if I've misread something.
Hi,
Thank you for sharing this suggestion and for explaining your usage scenario.
We have recorded this feature request and will submit it to the relevant product team for further evaluation.
Thank you again for your valuable feedback and continued support for the Mudi 7.
Hi Charles, this is a must feature. All my equipments are at 60% and i only go 100% for travel etc. Make it an option in menu and display please.
Simply a great solution. I’ve been using it for a month, and it works excellently. Thank you very much!
Glad it's working out for you! ![]()
If you'd rather have a GUI instead of SSH: Kevin (@kevinherzig) built a nice admin-panel add-on for the Mudi 7 — MudiModem — and wired my script in as the backend for its battery tab. You just set the limit with a slider there, with a history graph too. The panel itself is his work; I only contributed the charging script.
https://github.com/kevinherzig/MudiModem ![]()
Just remember to re-run it after a firmware update — it doesn't survive the flash.
If i install this GUI, how can i revert to stock later? Its switchable?
Regards