Zorin OS doesn't recognise my battery

Hi there, PLEASE help me. I am running Zorin OS on my Surface Laptop Go. It runs fine and well BUT… it doesn’t recognise my battery!!! HELP!
I tried the following commands: trying to find the battery directory (acpi) and checking the config files. But the battery directory (/proc/acpi/battery/BAT1/info) was deleted somehow. I couldn’t find any drivers. I’m running an Intel i5 64 bit arch.

Please run this in terminal and see if the driver recognizes your device:

sudo modprobe - r surface_sam_sid_power && sudo modprobe surface_sam_sid_power

1 Like

Does the Surface battery work (e.g., when you unplug it, it stays on for the duration of the battery life) and you just can’t see the icon on the task bar, or does the Surface shut off as soon as you unplug it?

1 Like

Yes it works, but Zorin doesn’t recognize it.

I also ran the command - apparently the module isn’t found in directory /lib/modules/5.4.0-65-generic/.

I can’t see the icon, and I tried everything but Zorin says that the battery does not exist.

Apparently, this is not unusual with Surface notebooks:

Nothing happened. The commands didn’t work.

It said that the directories didn’t exist.

I’m considering switching back to Windows 10, but that would’ve been a shame to waste this cool OS. I need to get the battery problem solved ASAP.

I certainly understand your frustration. And in thinking of switching back to Windows puts you between a rock and a hard place.
I am currently reading this page here:
https://01.org/linux-acpi/documentation/overriding-dsdt

I tried searching your issue on this - for Surface - Many users complained the problem began after a certain Windows update. Now, this does not mean it was a Deliberate Sabotage on Linux systems by Windows. But it may mean that that update holds a clue to solving the issue.

I just tested the above commands on a separate notebook (My old one) just for testing and had mixed results.
I recently (Finally) replaced my desktop notebook with an actual tower PC, making it harder to replicate Notebook battery issues.
But I am hitting the books, so to speak, to see what I can find.

In the meantime, can you paste the output of "List Modules"?

lsmod

EDIT: Also, can you clarify if you are using Zorin OS Lite or Zorin OS Core?

I’m using Core

snd_seq_dummy 16384 0 - Live 0x0000000000000000
ip6t_REJECT 16384 0 - Live 0x0000000000000000
nf_reject_ipv6 20480 1 ip6t_REJECT, Live 0x0000000000000000
nf_log_ipv6 16384 0 - Live 0x0000000000000000
xt_recent 24576 0 - Live 0x0000000000000000
xt_hl 16384 0 - Live 0x0000000000000000
ip6t_rt 20480 0 - Live 0x0000000000000000
ipt_REJECT 16384 0 - Live 0x0000000000000000
nf_reject_ipv4 16384 1 ipt_REJECT, Live 0x0000000000000000
nf_log_ipv4 16384 0 - Live 0x0000000000000000
nf_log_common 16384 2 nf_log_ipv6,nf_log_ipv4, Live 0x0000000000000000
xt_LOG 20480 0 - Live 0x0000000000000000
xt_limit 16384 0 - Live 0x0000000000000000
xt_tcpudp 20480 0 - Live 0x0000000000000000
xt_addrtype 16384 0 - Live 0x0000000000000000
xt_conntrack 16384 0 - Live 0x0000000000000000
ip6table_filter 16384 1 - Live 0x0000000000000000
ip6_tables 32768 1 ip6table_filter, Live 0x0000000000000000
nf_conntrack_netbios_ns 16384 0 - Live 0x0000000000000000
nf_conntrack_broadcast 16384 1 nf_conntrack_netbios_ns, Live 0x0000000000000000
nf_nat_ftp 20480 0 - Live 0x0000000000000000
nf_nat 40960 1 nf_nat_ftp, Live 0x0000000000000000
nf_conntrack_ftp 24576 1 nf_nat_ftp, Live 0x0000000000000000
nf_conntrack 139264 6 xt_conntrack,nf_conntrack_netbios_ns,nf_conntrack_broadcast,nf_nat_ftp,nf_nat,nf_conntrack_ftp, Live 0x0000000000000000
nf_defrag_ipv6 24576 1 nf_conntrack, Live 0x0000000000000000
nf_defrag_ipv4 16384 1 nf_conntrack, Live 0x0000000000000000
libcrc32c 16384 2 nf_nat,nf_conntrack, Live 0x0000000000000000
iptable_filter 16384 1 - Live 0x0000000000000000
bpfilter 24576 0 - Live 0x0000000000000000
ccm 20480 6 - Live 0x0000000000000000
rfcomm 81920 16 - Live 0x0000000000000000
cmac 16384 1 - Live 0x0000000000000000
bnep 24576 2 - Live 0x0000000000000000
snd_hda_codec_hdmi 61440 1 - Live 0x0000000000000000
nls_iso8859_1 16384 0 - Live 0x0000000000000000
8250_dw 16384 0 - Live 0x0000000000000000
joydev 28672 0 - Live 0x0000000000000000
snd_sof_pci 20480 0 - Live 0x0000000000000000
snd_sof_intel_hda_common 65536 1 snd_sof_pci, Live 0x0000000000000000
snd_soc_hdac_hda 24576 1 snd_sof_intel_hda_common, Live 0x0000000000000000
snd_sof_intel_hda 20480 1 snd_sof_intel_hda_common, Live 0x0000000000000000
snd_sof_intel_byt 20480 1 snd_sof_pci, Live 0x0000000000000000
snd_sof_intel_ipc 20480 1 snd_sof_intel_byt, Live 0x0000000000000000
snd_sof 98304 4 snd_sof_pci,snd_sof_intel_hda_common,snd_sof_intel_byt,snd_sof_intel_ipc, Live 0x0000000000000000
snd_sof_xtensa_dsp 16384 1 snd_sof_pci, Live 0x0000000000000000
snd_hda_ext_core 28672 3 snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_sof_intel_hda, Live 0x0000000000000000
snd_soc_acpi_intel_match 32768 2 snd_sof_pci,snd_sof_intel_hda_common, Live 0x0000000000000000
iwlmvm 385024 0 - Live 0x0000000000000000
snd_soc_acpi 16384 2 snd_sof_pci,snd_soc_acpi_intel_match, Live 0x0000000000000000
intel_rapl_msr 20480 0 - Live 0x0000000000000000
snd_soc_core 241664 3 snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_sof, Live 0x0000000000000000
uvcvideo 94208 0 - Live 0x0000000000000000
snd_compress 24576 1 snd_soc_core, Live 0x0000000000000000
videobuf2_vmalloc 20480 1 uvcvideo, Live 0x0000000000000000
snd_hda_codec_realtek 126976 1 - Live 0x0000000000000000
ac97_bus 16384 1 snd_soc_core, Live 0x0000000000000000
snd_hda_codec_generic 81920 1 snd_hda_codec_realtek, Live 0x0000000000000000
mei_hdcp 24576 0 - Live 0x0000000000000000
ledtrig_audio 16384 3 snd_sof,snd_hda_codec_realtek,snd_hda_codec_generic, Live 0x0000000000000000
gpio_keys 20480 0 - Live 0x0000000000000000
snd_pcm_dmaengine 16384 1 snd_soc_core, Live 0x0000000000000000
videobuf2_memops 20480 1 videobuf2_vmalloc, Live 0x0000000000000000
mac80211 851968 1 iwlmvm, Live 0x0000000000000000
videobuf2_v4l2 24576 1 uvcvideo, Live 0x0000000000000000
snd_hda_intel 49152 6 - Live 0x0000000000000000
videobuf2_common 53248 2 uvcvideo,videobuf2_v4l2, Live 0x0000000000000000
snd_intel_dspcfg 24576 3 snd_sof_pci,snd_sof_intel_hda_common,snd_hda_intel, Live 0x0000000000000000
snd_hda_codec 135168 5 snd_hda_codec_hdmi,snd_soc_hdac_hda,snd_hda_codec_realtek,snd_hda_codec_generic,snd_hda_intel, Live 0x0000000000000000
intel_rapl_common 24576 1 intel_rapl_msr, Live 0x0000000000000000
videodev 217088 3 uvcvideo,videobuf2_v4l2,videobuf2_common, Live 0x0000000000000000
x86_pkg_temp_thermal 20480 0 - Live 0x0000000000000000
intel_powerclamp 20480 0 - Live 0x0000000000000000
snd_hda_core 90112 9 snd_hda_codec_hdmi,snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_sof_intel_hda,snd_hda_ext_core,snd_hda_codec_realtek,snd_hda_codec_generic,snd_hda_intel,snd_hda_codec, Live 0x0000000000000000
coretemp 20480 0 - Live 0x0000000000000000
kvm_intel 253952 0 - Live 0x0000000000000000
libarc4 16384 1 mac80211, Live 0x0000000000000000
mc 53248 4 uvcvideo,videobuf2_v4l2,videobuf2_common,videodev, Live 0x0000000000000000
kvm 655360 1 kvm_intel, Live 0x0000000000000000
snd_hwdep 20480 1 snd_hda_codec, Live 0x0000000000000000
snd_pcm 102400 8 snd_hda_codec_hdmi,snd_sof_intel_hda_common,snd_sof,snd_soc_core,snd_pcm_dmaengine,snd_hda_intel,snd_hda_codec,snd_hda_core, Live 0x0000000000000000
snd_seq_midi 20480 0 - Live 0x0000000000000000
snd_seq_midi_event 16384 1 snd_seq_midi, Live 0x0000000000000000
snd_rawmidi 36864 1 snd_seq_midi, Live 0x0000000000000000
snd_seq 69632 3 snd_seq_dummy,snd_seq_midi,snd_seq_midi_event, Live 0x0000000000000000
btusb 57344 0 - Live 0x0000000000000000
crct10dif_pclmul 16384 1 - Live 0x0000000000000000
btrtl 24576 1 btusb, Live 0x0000000000000000
crc32_pclmul 16384 0 - Live 0x0000000000000000
btbcm 16384 1 btusb, Live 0x0000000000000000
btintel 24576 1 btusb, Live 0x0000000000000000
:
List modules

Thanks for the module list- not seeing battery mod but am seeing acpi.

On your surface, given the link in your other thread; Have you had any luck in accessing your BIOS or UEFI?

Here is my logic:
It seems many users that were Dual Booting Linux and Windows on a Surface Pro have had this issue- after an update from Windows.
The only way a windows update can effect Linux on a separate Partition or drive is if it changed a value in UEFI or BIOS.
So, that is the point I would like to check next.
First, let's check your GRUB.
Can you paste the output of

sudo nano /etc/default/grub

This is the part we need to see:

GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=lsb_release -i -s 2> /dev/null || echo Debian
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=lsb_release -i -s 2> /dev/null || echo Debian
GRUB_CMDLINE_LINUX_DEFAULT=“quiet splash”
GRUB_CMDLINE_LINUX=""

I’m not dual-booting, I replaced Windows 10 completely with Zorin

I also don’t have DSDT.bat, but my Surface has a UEFI already

I understand, but that there are those that experience it in Dual booting and you experience it without shows a casual connection.
Have you had any luck opening your UEFI on that machine to check its settings?
Here is a guide from Microsoft:

Secure Boot Control
This should be disabled on your machine. If it is enabled, it will cause problems.

EDIT: Also, can you use your File Manger to check the following locations for contents?

pkexec nautilus

Enter your password to enable root privilages
Then navigate to "Other locations"
/sys/class/power_supply/BAT1/
/sys/class/power_supply/BAT0/
/sys/class/power_supply/battery/

Please check if you have an capacity files in those locations, since earlier you were getting the error "No such file or directory"

Hi,
I’m at my school right now, it said “Could not connect: Connection refused”. What is the host?

For nautilus