Laptop not booting on battery power

My Toshiba Satellite c850 (amd64) won’t boot if the charger is not plugged in. The screen goes blank after 2-3 seconds.

After booting on AC power, if I can plug off the charger I can use the battery with no probs and as much as the battery lives. It’s just a boot problem on battery power.

I’ve already tried to change power management options with no success.

OS: Ubuntu Mate 16.04 LTS x86_64

Mmmm I really doubt this being a Software issue, specially when the fail is when there’s still no OS running. Contact a technician. Well, if I understood you correctly…

Of what? pressing the power button or after the OS loaded??

after pressing the power button to turn on the laptop… it’s like it’s starting to load the os, but it never accomplishes to complete it coz it gets stuck as black screen.

ps. I don’t think I should contact a technician, the laptop booted always fine on battery power with Windows and other Linux distros (Peppermint the last one I used before installing Ubuntu Mate).

It’s a problem caused from Ubuntu Mate.

So it happens after GRUB?

exactly , few moments after grub… Googling a bit for similar problems, someone suggest to edit ACPI kernel parameters, but have no idea how to do it and how relevant it is to my situation

I would be pulling out the memory card if possible, cleaning the contacts, and reseating the card. Maybe the same with batteries and harddrive too if possible.

well it’s much easier for me going back to Peppermint :smiley: I’m not going to touch any hardware because the same hardware works with other os/distros. I will just check the battery contacts but I’m pretty sure everything is fine with the battery since it works for 4-5 hours as usual.

For some reason, the LCD backlight is getting turned off by the linux kernel when you boot on battery power. The probable reason is an ACPI bug.

See my reply in this post for a way to test for this bug:

1 Like

still the same problem. I edited the grub, according to your link I replaced that quiet splash value with an empty string, I updated it and rebooted on battery power. After displaying all those lines of text from loading the os, screen goes black and the process is stuck.

From the GRUB menu, select "Advanced Options for Ubuntu"

From the Advanced Options menu, select "Ubuntu, with Linux ..... (recovery mode)"

From the Recovery Menu, select "resume"

You should eventually see the GUI screen.

I suspect that just the backlight is off and not a stuck process.

What version of PepperMint worked OK? What Linux kernel version was it?
(In the terminal in PepperMint, run "uname -a" and post output here.)

Still not working, there was some message saying kernel corrupted stackxend detected… sorry I don’t remember this stack word and all the message of error… Unfortunately I don’t have Peppermint anymore but it was P7 and I think the last updated kernel was 4.4.0-46 (or 45 if 46 is not correct).

But I remember when I used Peppermint, while loading the os, under dev/sda1 message it displayed a line saying backlight is set off, or backlight not recognized… I don’t remember the exact message now because everything was fine.

I will have to see if I can find out some more info on your hardware.

The “Stack Xend” message and PepperMint saying something concerning the backlight are related. The ROM ACPI code seems to be changing some low memory locations critical to UM. In PepperMint it seems to be benign – it is not changing anything critical to PepperMint.

Do this:

(1) In a terminal, while on AC power and running OK, type “dmesg | grep corrupt” to see what area the kernel is checking for low memory corruption.

(2) Lets look at the syslog from when you tried to boot on battery. Use the “System Log Viewer” and look through the historical syslog.1 to see if the corrupt memory location gets logged.

Terminal output:
[ 0.000000] Scanning 1 areas for low memory corruption
[ 6.114322] Scanning for low memory corruption every 60 seconds

But I can’t find this 6.114322 in the log viewer if it’s what you asked me.

Something that might be relevant in the log viewer is this:

[drm:radeon_acpi_init [radeon]] ERROR Cannot find a backlight controller
[Firmware Bug]: ACPI: BIOS _OSI(Linux) query ignored
[Firmware Bug]: ACPI: No _BQC method, cannot determine initial brightness

ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 7 10 11 12 14 15) *0
ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 7 10 11 12 14 15) *0
ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 7 10 11 12 14 15) *0
ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 7 10 11 12 14 15) *0
ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 7 10 11 12 14 15) *0
ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 7 10 11 12 14 15) *0
ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 7 10 11 12 14 15) *0
ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 7 10 11 12 14 15) *0

Ouch! They left the code for the backlight out?!?

No. The kernel just can’t read the ACPI tables correctly.

Looks to be a known kernel limitation fixed in a later kernel. Looks like 4.8.x or 4.9.x has the fix.

You could try an upstream Ubuntu mainline kernel.

You will probably want 4.8.11


Good luck.

ok thanks Dave for all the help :slight_smile:

Hi Dave, instead of trying with mainline builds, could I just replace UM 16.04 LTS by installing UM 16.10? I’ve read 16.10 is based on kernel 4.8, so that would solve my problem?

I think that solution is much easier for me.

That would be fine. Let us know the result.

Upgraded to 16.10, kernel 4.8.0-22, still the same story :frowning:

edit: I just gave up, I lost 2 days on it, and can’t waste more time as a linux newbie. I just switched to Fedora, kernel 4.8.6 and I have no problems. When UM will be at least 4.8.6 I’ll be back :wink:

I've been facing the same problem with Ubuntu Mate 20.04 recently and after a couple of days and countless attempts to find the solution finally discovered a simple one that has worked for me.
Try editing grub adding the "nomodeset" option in the line "GRUB_CMDLINE_LINUX_DEFAULT" (if present),
so that it reads as follows:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset".
Hope that might help someone as well.

More details on nomodeset here: