Persistence on USB Stick on Microsoft Surface 6

Briefly describe your issue below:
Great install, however:

  • battery is not recognized
  • touchscreen does not work
  • computer does not suspend or hibernate

I have extensively researched these topics on the web and in this forum and it would be really great if I could move forward with your help.

Regarding the battery:

I get a message on the system tray icon saying: No batteries available.

The battery is not listed/present anywhere (usb, pci, etc)

Not found here:
inxi -Fxz
lsusb
/proc/acpi/battery/BAT0/info
/proc/acpi/battery/BAT1/info

Anywhere.

Computer works great on battery. I just can’t track battery level.

Obs. acpi -a
Adapter 0: off-line

I am suggested to add GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash acpi_osi=Linux” to /etc/default/grub.

However, on a persistence installation, grub is not present at the usual locations.

I tried finding grub with command find. Could only find directories with this name, where in some cases there was a grub.cfg file, which is unwritable.

Looking for a file named grub (as in /etc/default/grub to gedit) no results are found.

Regarding touchscreen: (if you decide, we could focus on just one issue at a time, so not talking about touchscreen at all until battery is not solved)

lsmod finds hid_multitouch 28672 0

I have tried rebooting on the “Live” option of the booter as some pages suggested, but the touchscreen didn’t work there either.

I am suggested to build the latest kernel. I have just sudo apt install linux-image-5.5.0-1parrot1-amd64, which is the latest in the repository, despite the fact that we can find the latest stable version to be the 5.6.8 on kernel.org.

I have got the following error messages (apart from several other above these, basically saying that I cannot do such a thing as build the latest kernel on a “live” installation):

Error! The /var/lib/dkms/wireguard/1.0.20200413/5.5.0-1parrot1-amd64/x86_64/dkms.conf for module wireguard includes a BUILD_EXCLUSIVE directive which
does not match this kernel/arch. This indicates that it should not be built.
.
/etc/kernel/postinst.d/initramfs-tools:
I: update-initramfs is disabled (live system is running on read-only media).
Scanning application launchers
Removing duplicate launchers from Debian

Any help would be greatly appreciated!

Thanks a lot in advance!

Gabriel Queiroz

What version of Parrot are you running?
Kernel: 4.19.0-parrot4-28t-amd64 x86_64 bits: 64 compiler: gcc v: 8.3.0 Desktop: KDE Plasma 5.17.5
Distro: Parrot GNU/Linux 4.9 base: Debian parrot
Machine: Type: Laptop System: Microsoft product: Surface Pro 6

What method did you use to install Parrot? (Debian Standard / Debian GTK / parrot-experimental)
Parrot-experimental

Configured to multiboot with other systems? (yes / no)
No

List your hardware specs to include make, model and firmware (when applicable):
CPU: Topology: Quad Core model: Intel Core i5-8250U bits: 64 type: MT MCP arch: Kaby Lake rev: A L2 cache: 6144 KiB
flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 28800
Speed: 500 MHz min/max: 400/3400 MHz Core speeds (MHz): 1: 594 2: 594 3: 574 4: 598 5: 542 6: 598 7: 597 8: 598
Graphics: Device-1: Intel UHD Graphics 620 vendor: Microsoft driver: i915 v: kernel bus ID: 00:02.0
Display: x11 server: X.Org 1.20.8 driver: modesetting unloaded: fbdev,vesa resolution: 1536x1024_60.00~60Hz
OpenGL: renderer: Mesa DRI Intel UHD Graphics 620 (Kabylake GT2) v: 4.6 Mesa 19.3.3 direct render: Yes
Audio: Device-1: Intel Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Imaging Unit driver: N/A bus ID: 00:05.0
Device-2: Intel CSI-2 Host driver: N/A bus ID: 00:14.3
Device-3: Intel Sunrise Point-LP HD Audio driver: snd_hda_intel v: kernel bus ID: 00:1f.3
Sound Server: ALSA v: k4.19.0-parrot4-28t-amd64
Network: Device-1: Marvell 88W8897 [AVASTAR] 802.11ac Wireless driver: mwifiex_pcie v: 1.0 port: 3000 bus ID: 01:00.0
IF: mlan0 state: up mac:
Device-2: Marvell Bluetooth and Wireless LAN Composite Device type: USB driver: btusb bus ID: 1-5:3
Drives: Local Storage: total: 296.52 GiB used: 67.63 GiB (22.8%)
ID-1: /dev/nvme0n1 vendor: SK Hynix model: BC501 NVMe 128GB size: 119.24 GiB
ID-2: /dev/sda type: USB vendor: SanDisk model: Ultra USB 3.0 size: 57.28 GiB
ID-3: /dev/sdb type: USB vendor: Generic model: SD MMC size: 120.00 GiB
Partition: ID-1: / size: 52.45 GiB used: 27.75 GiB (52.9%) fs: overlay source: ERR-102
Sensors: System Temperatures: cpu: 34.5 C mobo: N/A
Fan Speeds (RPM): N/A
Info: Processes: 295 Uptime: 6h 15m Memory: 7.72 GiB used: 4.61 GiB (59.7%) Init: systemd runlevel: 5 Compilers:
gcc: 9.3.0 clang: 9.0.1-12 Shell: bash v: 5.0.16 inxi: 3.0.38

If there are any similar issues or solutions, link to them below:
https://dennis2society.de/ubuntu-14-04-doesnt-recognize-laptop-battery-dell-inspiron-15-7537

https://wiki.ubuntu.com/Touchscreen

If there are any error messages or relevant logs, post them below:
No batteries available

Welcome to the ParrotOS Community :hugs:
I’m also using live+persistence thus my grub is in /etc/default/grub.d/parrot.cfg
use kdesu dolphin in terminal to open file manager as superuser
then you will be able to edit it.


if kdesu dolphin does not work then try Rootactions service menu
Screenshot at 2020-05-02 07-01-04

Thanks a lot!

I was able to do the proposed change to the Grub configuration file.

cat parrot.cfg
GRUB_DISTRIBUTOR=lsb_release -i -s 2> /dev/null || echo Parrot
GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash acpi_osi=Linux”
#GRUB_GFXMODE=640x480

Unfortunately, the batteries are still not recognized by the system after update-grub and reboot.

update-grub returned:

Searching for GRUB installation directory … found: /boot/grub

And after reboot:

acpi -a
Adapter 0: off-line

inxi -Fxz
System: Kernel: 4.19.0-parrot4-28t-amd64 x86_64 bits: 64 compiler: gcc v: 8.3.0 Desktop: KDE Plasma 5.17.5
Distro: Parrot GNU/Linux 4.9 base: Debian parrot
Machine: Type: Laptop System: Microsoft product: Surface Pro 6 v: D:0B:13F:5C:10P:38S:01E:0 serial:
Mobo: Microsoft model: Surface Pro 6 serial: UEFI: Microsoft v: 234.2706.768 date: 04/18/2019
CPU: Topology: Quad Core model: Intel Core i5-8250U bits: 64 type: MT MCP arch: Kaby Lake rev: A L2 cache: 6144 KiB
flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 28800
Speed: 700 MHz min/max: 400/3400 MHz Core speeds (MHz): 1: 700 2: 700 3: 700 4: 700 5: 700 6: 700 7: 700 8: 700
Graphics: Device-1: Intel UHD Graphics 620 vendor: Microsoft driver: i915 v: kernel bus ID: 00:02.0
Display: x11 server: X.Org 1.20.8 driver: modesetting unloaded: fbdev,vesa resolution: 1536x1024_60.00~60Hz
OpenGL: renderer: Mesa DRI Intel UHD Graphics 620 (Kabylake GT2) v: 4.6 Mesa 19.3.3 direct render: Yes
Audio: Device-1: Intel Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Imaging Unit driver: N/A bus ID: 00:05.0
Device-2: Intel CSI-2 Host driver: N/A bus ID: 00:14.3
Device-3: Intel Sunrise Point-LP HD Audio driver: snd_hda_intel v: kernel bus ID: 00:1f.3
Sound Server: ALSA v: k4.19.0-parrot4-28t-amd64
Network: Device-1: Marvell 88W8897 [AVASTAR] 802.11ac Wireless driver: mwifiex_pcie v: 1.0 port: 3000 bus ID: 01:00.0
IF: mlan0 state: up mac:
Device-2: Marvell Bluetooth and Wireless LAN Composite Device type: USB driver: btusb bus ID: 1-5:3
Drives: Local Storage: total: 1.13 TiB used: 75.05 GiB (6.5%)
ID-1: /dev/nvme0n1 vendor: SK Hynix model: BC501 NVMe 128GB size: 119.24 GiB
ID-2: /dev/sda type: USB vendor: SanDisk model: Ultra USB 3.0 size: 57.28 GiB
ID-3: /dev/sdb type: USB vendor: Generic model: SD MMC size: 976.56 GiB
Partition: ID-1: / size: 52.45 GiB used: 37.52 GiB (71.5%) fs: overlay source: ERR-102
Sensors: System Temperatures: cpu: 43.5 C mobo: N/A
Fan Speeds (RPM): N/A
Info: Processes: 287 Uptime: 8m Memory: 7.72 GiB used: 4.18 GiB (54.2%) Init: systemd runlevel: 5 Compilers: gcc: 9.3.0
clang: 9.0.1-12 Shell: bash v: 5.0.16 inxi: 3.0.38

Hope this Helps :smiley:
Visit : Linux Kernel for Surface Devices

Hello my friend,

Thanks for trying to help me!

I already had a linux-surface folder. Anyhow I renamed it and did the operation again.

Unfortunately, all my issues remain.

The current info of my system is the same as before, so apparently I had done that recently.

The kernel was already the most updated (4.19.0-parrot4-28t-amd64 x86_64).

I will post on the threads I have found online that changing the grub config file as suggested did not help me showing the battery level (same for touchscreen) and also wait if someone has an idea here.

Thanks again,

Gabriel

:thinking: i dont understand how parrot os 4.9 is running 4.19 kernel

my:
Screenshot at 2020-05-05 07-57-20

Yes, I am trying to update kernel now.

I have rebooted, went into GRUB2 and clicked “e” to edit the configuration of the option I always chose “Encrypted partition”.

And it says something like:

linux /live/linux-image …

This folder (/run/live/ or /live from sda does not accept changes. It is at 100% capacity).

I am now trying to copy the new kernel image files to this folder or find another solution.

The /boot folder has the updated kernel but it is not from where the GRUB option is looking for.

grub-mkconfig gives me:
/usr/sbin/grub-probe: error: failed to get canonical path of `overlay’.

Rather than doing this i would recommend you to download and install the latest version of Parrot OS
(I have also upgraded my system and all seems good)
Screenshot at 2020-05-15 15-33-31

Hello, thanks for your message.

It is a rolling release though, meaning that this should not be necessary.

I would not mind do it, I just don’t see how to keep every change I have done to my system, configuration steps, applications, files.

Do you have an idea?

Thank you,

Gabriel

I have Never used any Backup tools, (i remember my configs or either write it in a .txt file if needed).

you can give a try to these tools :
11 Best Linux Backup Solutions

News on this topic.

I have followed @I_Have_Treasure advice on downloading and installing the latest version of Parrot Os.

I have also switched from an USB Persistence install to a Dual boot.

Result: same problems continue to occur.

I have tested the same live bootable installation on my other computer (ASUS N-550JK) and noticed battery and touchscreen to be working out of the box.

Which makes me conclude that these such important errors (not being able to track the amount of battery left or use the touchscreen) are specific to the Microsoft Surface 6 model and version.

I wonder if other users/owners of this pc could be having the same issues and/or maybe already found a solution.

Cheers

this worked for a friend of mine, on his surface pro 5, have a look


good luck
1 Like

Battery, touchscreen and suspend/hibernate working well after booting with the surface kernel.

Thanks a lot!!

[SOLVED]