Tutorial  Updated

Fix for Linux Battery issue

Here's a quick and easy fix for the turning off at 40% battery issue that people are seeing after running Linux. This is effectively the same fix as unplugging the battery, but does so without having to take apart the Switch.

Step 1: Download attached fusee-linux-battery-fix.rar
Step 2: Extract and load the binary with your favorite RCM Smash tool (I'm using TegraRcmSmash).
Step 3: You should see the typical fusee screen, at this point unplug the USB cable. The screen should go off.
Step 4 (optional?): Hold the power button for 10 seconds. Your switch won't turn on at this point, that's desired.
Step 5: Plug in a USB cable. Switch will turn on, and you're done.

This worked to fix my Switch, let me know if it works for you.

Edit:

Source is here:

github/crystalseedgba/BatteryFix/blob/master/fusee/src/main.c (Sorry it's not letting me post hyperlinks)

This doesn't fix the Linux bug, this is really just a crude workaround. At first I suspected that Linux is somehow mangling the battery gauge but this doesn't seem to be the case. The battery gauge reports around 40% and decent battery voltage when my Switch would turn off. I think Linux is misconfiguring some undervoltage lockout somewhere, but I don't know where.

Thanks to jjbredesen for his "How to make a custom Fusee payloads" tutorial.
 

Attachments

Last edited by Crystalseed,
Hold the phone. The way this is described, it sounds like you need to trigger bootrom > charging to bring the switch back to life if I am understanding correctly. People better be sure this isn't reliant on the bootrom as autorcm corrupts that. Autorcm can charge, but never trigger the battery / bootup sequence without first deploying a bootloader.

Has anyone confirmed bypassing this step by deploying a payload?
 
Last edited by Shadow LAG,
Hold the phone. The way this is described, it sounds like you need to trigger bootrom > charging to bring the switch back to life if I am understanding correctly. People better be sure this isn't reliant on the bootrom as autorcm corrupts that. Autorcm can charge, but never trigger the battery / bootup sequence.

Has anyone confirmed bypassing this step by deploying a payload?
The re-enablement of the BATFET, aka battery re-connection, is triggered only by plugging your device to USB (wall adapter or PC).
This re-enables it and you can inject a payload, or with no autorcm it will power on the console.
 
The re-enablement of the BATFET, aka battery re-connection, is triggered only by plugging your device to USB (wall adapter or PC).
This re-enables it and you can inject a payload, or with no autorcm it will power on the console.

Thank you for the clarification. Sounds like this is the way to go then.
 
Here's a quick and easy fix for the turning off at 40% battery issue that people are seeing after running Linux. This is effectively the same fix as unplugging the battery, but does so without having to take apart the Switch.

Step 1: Download attached fusee-linux-battery-fix.rar
Step 2: Extract and load the binary with your favorite RCM Smash tool (I'm using TegraRcmSmash).
Step 3: You should see the typical fusee screen, at this point unplug the USB cable. The screen should go off.
Step 4 (optional?): Hold the power button for 10 seconds. Your switch won't turn on at this point, that's desired.
Step 5: Plug in a USB cable. Switch will turn on, and you're done.

This worked to fix my Switch, let me know if it works for you.

Edit:

Source is here:

github/crystalseedgba/BatteryFix/blob/master/fusee/src/main.c (Sorry it's not letting me post hyperlinks)

This doesn't fix the Linux bug, this is really just a crude workaround. At first I suspected that Linux is somehow mangling the battery gauge but this doesn't seem to be the case. The battery gauge reports around 40% and decent battery voltage when my Switch would turn off. I think Linux is misconfiguring some undervoltage lockout somewhere, but I don't know where.

Thanks to jjbredesen for his "How to make a custom Fusee payloads" tutorial.

https://github.com/crystalseedgba/BatteryFix here for everyone thats lazy.
And thanks that worked for me. :)
 
Does nand backup cause battery desyncing?

There have been a few reports in the "battery after" thread that did report battery desync with random payloads including hekate; however, the most common desync occurs from Linux.
 
i don't really know if i done it right (i needed to plug my switch in to an ac adapter from my dock to turn on)
 
Step 1: Download attached fusee-linux-battery-fix.rar
Step 2: Extract and load the binary with your favorite RCM Smash tool (I'm using TegraRcmSmash).
Step 3: You should see the typical fusee screen, at this point unplug the USB cable. The screen should go off.
Step 4 (optional?): Hold the power button for 10 seconds. Your switch won't turn on at this point, that's desired.
Step 5: Plug in a USB cable. Switch will turn on, and you're done.
Is it absolutely required to do Step 4?
 
How was lakka? Will you keep using it?
Well, it was a mess to set up. At one point, I thought my Switch was bricked but it turned out it wasn't (what a relief). Right now, I still need Paragon extFS before I can transfer my ROMs over to the Switch.
I will probably use Lakka not very often, but only when I really feel like it.
 
  • Like
Reactions: Zumoly
This payload is brilliant, solved the battery desync issue.
was about to disassemble the switch to disconnect then reconnect the battery
thx
 

Site & Scene News

Popular threads in this forum