linux-surface icon indicating copy to clipboard operation
linux-surface copied to clipboard

installing on surface laptop 3 does not fix track pad and keyboard

Open xdumaine opened this issue 6 years ago • 35 comments
trafficstars

I installed this on a surface laptop 3 15 in which came out this week. Unfortunately I did not resolve issues with the trackpad and keyboard (specifically that they do not work at all). I did also try the 15.3 kernel from the fork of this repo and got the same results. If this is still active or if anyone is interested in helping I can get more detailed information about the machine. At this point I'm not going to attach them because it seems like the repo is dead.

xdumaine avatar Oct 23 '19 03:10 xdumaine

The repo is not dead. Development currently happens on qzeds fork, because jake seems to be busy, but this is still used for issue tracking across both versions.

Since the SL3 is new, you should probably post an acpidump (sudo acpidump > acpidump.out) and the kernel log from when you tried with the latest 5.3.6 surface kernel (dmesg > dmesg.txt)

But those are just the basic steps to get any information about the problem, nowhere near a fix yet.

StollD avatar Oct 23 '19 04:10 StollD

Awesome, thanks, I'll do that!

On Wed, Oct 23, 2019, 12:41 AM Dorian Stoll [email protected] wrote:

The repo is not dead. Development currently happens on qzeds fork, because jake seems to be busy, but this is still used for issue tracking across both versions.

Since the SL3 is new, you should probably post an acpidump (sudo acpidump

acpidump.out) and the kernel log from when you tried with the latest 5.3.6 surface kernel (dmesg > dmesg.txt)

But those are just the basic steps to get any information about the problem, nowhere near a fix yet.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/jakeday/linux-surface/issues/591?email_source=notifications&email_token=AAGLS56IKKSWQRHN6IQVCVTQP7IY3A5CNFSM4JD3IRM2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOECAA4GQ#issuecomment-545263130, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAGLS5Y6MU3LUXYK6KO6WG3QP7IY3ANCNFSM4JD3IRMQ .

xdumaine avatar Oct 23 '19 11:10 xdumaine

@xdumaine can upload the output of ls /sys/bus/acpi/devices and ls /sys/bus/platform/devices?

qzed avatar Oct 27 '19 19:10 qzed

Also see https://github.com/qzed/linux-surfacegen5-acpi/issues/22 for the relevant issue on surface-acpi.

qzed avatar Oct 27 '19 19:10 qzed

hey @xdumaine how did you fix the ima: error communicating to tpm chip error? I get that on boot.

If I disable tpm from the bios (hold down F4 at boot) I get a different error...

image

heapwolf avatar Oct 27 '19 21:10 heapwolf

@heapwolf I think the last error can be fixed by blacklisting intel_lpss via the kernel boot parameter modprobe.blacklist=intel_lpss_pci (as suggested in https://github.com/jakeday/linux-surface/issues/589#issuecomment-545522548).

qzed avatar Oct 27 '19 21:10 qzed

I think you need to add the modprobe ... to the linux ... line, for example after splash

qzed avatar Oct 27 '19 22:10 qzed

success! I will capture ls /sys/bus/acpi/devices and ls /sys/bus/platform/devices next.

heapwolf avatar Oct 27 '19 22:10 heapwolf

I can get that tonight after I get the baby to bed.

xdumaine avatar Oct 27 '19 22:10 xdumaine

Thank you! I'll try to test a patch to fix the intel-lpss-pci/boot issue and include it in the repo if it works. See https://github.com/qzed/linux-surface-kernel/issues/12 for some additional links (this bug is already taken care of upstream).

qzed avatar Oct 27 '19 22:10 qzed

@qzed Here's the output of those-

xdumaine@xsl3:~$ ls /sys/bus/acpi/devices
ACPI0007:00  ACPI000E:00  AMDI0011:01  device:00  device:08  device:10  device:18  device:20    LNXPOWER:05  LNXTHERM:04  MSFT0101:00  MSHW0184:00  PNP0501:03  PNP0C02:03
ACPI0007:01  ACPI0010:00  AMDI0020:00  device:01  device:09  device:11  device:19  device:21    LNXSYBUS:00  LNXTHERM:05  MSHW0040:00  PNP0000:00   PNP0800:00  PNP0C02:04
ACPI0007:02  AMD0004:00   AMDI0020:01  device:02  device:0a  device:12  device:1a  device:22    LNXSYBUS:01  LNXTHERM:06  MSHW0084:00  PNP0100:00   PNP0A08:00  PNP0C02:05
ACPI0007:03  AMDI0010:00  AMDI0020:02  device:03  device:0b  device:13  device:1b  LNXPOWER:00  LNXSYSTM:00  LNXTHERM:07  MSHW0091:00  PNP0103:00   PNP0B00:00  PNP0C02:06
ACPI0007:04  AMDI0010:01  AMDI0020:03  device:04  device:0c  device:14  device:1c  LNXPOWER:01  LNXTHERM:00  LNXVIDEO:00  MSHW0110:00  PNP0200:00   PNP0C01:00  PNP0C02:07
ACPI0007:05  AMDI0010:02  AMDI0030:00  device:05  device:0d  device:15  device:1d  LNXPOWER:02  LNXTHERM:01  MAX34417:00  MSHW0124:00  PNP0501:00   PNP0C02:00  PNP0C02:08
ACPI0007:06  AMDI0010:03  AMDI0040:00  device:06  device:0e  device:16  device:1e  LNXPOWER:03  LNXTHERM:02  MAX34417:01  MSHW0153:00  PNP0501:01   PNP0C02:01  PNP0C04:00
ACPI0007:07  AMDI0011:00  AMDI0060:00  device:07  device:0f  device:17  device:1f  LNXPOWER:04  LNXTHERM:03  MAX34417:02  MSHW0162:00  PNP0501:02   PNP0C02:02  PNP0C0D:00
xdumaine@xsl3:~$ ls /sys/bus/platform/devices
ACPI000E:00  AMD0004:00   AMDI0010:01  AMDI0020:00  AMDI0060:00        efivars.0         gpio-keys.1.auto  MSHW0040:00  MSHW0110:00  pcspkr      PNP0800:00  PNP0C0D:00  regulatory.0
alarmtimer   AMDI0010:00  AMDI0011:01  AMDI0030:00  efi-framebuffer.0  gpio-keys.0.auto  microcode         MSHW0091:00  MSHW0153:00  PNP0103:00  PNP0C04:00  reg-dummy   serial8250

xdumaine avatar Oct 27 '19 23:10 xdumaine

@xdumaine Thanks!

qzed avatar Oct 28 '19 00:10 qzed

And for mine...

user@linux:~$ ls /sys/bus/acpi/devices/
ACPI000C:00  device:16  device:2e  device:46  device:5e  device:76  device:8e   INT3407:00   LNXPOWER:03  MSHW0125:00
ACPI000E:00  device:17  device:2f  device:47  device:5f  device:77  device:8f   INT3455:00   LNXPOWER:04  MSHW0153:00
device:00    device:18  device:30  device:48  device:60  device:78  device:90   INT3519:00   LNXPOWER:05  MSHW0184:00
device:01    device:19  device:31  device:49  device:61  device:79  device:91   INT3532:00   LNXPOWER:06  PNP0000:00
device:02    device:1a  device:32  device:4a  device:62  device:7a  device:92   INT3F0D:00   LNXPOWER:07  PNP0100:00
device:03    device:1b  device:33  device:4b  device:63  device:7b  device:93   LNXCPU:00    LNXPOWER:08  PNP0103:00
device:04    device:1c  device:34  device:4c  device:64  device:7c  device:94   LNXCPU:01    LNXSYBUS:00  PNP0A08:00
device:05    device:1d  device:35  device:4d  device:65  device:7d  device:95   LNXCPU:02    LNXSYBUS:01  PNP0B00:00
device:06    device:1e  device:36  device:4e  device:66  device:7e  device:96   LNXCPU:03    LNXSYSTM:00  PNP0C02:00
device:07    device:1f  device:37  device:4f  device:67  device:7f  device:97   LNXCPU:04    LNXTHERM:00  PNP0C02:01
device:08    device:20  device:38  device:50  device:68  device:80  INT0E0C:00  LNXCPU:05    LNXTHERM:01  PNP0C02:02
device:09    device:21  device:39  device:51  device:69  device:81  INT33A1:00  LNXCPU:06    LNXTHERM:02  PNP0C02:03
device:0a    device:22  device:3a  device:52  device:6a  device:82  INT3400:00  LNXCPU:07    LNXTHERM:03  PNP0C02:04
device:0b    device:23  device:3b  device:53  device:6b  device:83  INT3403:00  LNXCPU:08    LNXTHERM:04  PNP0C04:00
device:0c    device:24  device:3c  device:54  device:6c  device:84  INT3403:01  LNXCPU:09    LNXTHERM:05  PNP0C0D:00
device:0d    device:25  device:3d  device:55  device:6d  device:85  INT3403:02  LNXCPU:0a    LNXTHERM:06  PNP0C14:00
device:0e    device:26  device:3e  device:56  device:6e  device:86  INT3403:03  LNXCPU:0b    LNXVIDEO:00  PRP00001:00
device:0f    device:27  device:3f  device:57  device:6f  device:87  INT3403:04  LNXCPU:0c    MAX34417:00  USBC000:00
device:10    device:28  device:40  device:58  device:70  device:88  INT3403:05  LNXCPU:0d    MAX34417:01
device:11    device:29  device:41  device:59  device:71  device:89  INT3403:06  LNXCPU:0e    MAX34417:02
device:12    device:2a  device:42  device:5a  device:72  device:8a  INT3403:07  LNXCPU:0f    MSHW0040:00
device:13    device:2b  device:43  device:5b  device:73  device:8b  INT3403:08  LNXPOWER:00  MSHW0084:00
device:14    device:2c  device:44  device:5c  device:74  device:8c  INT3403:09  LNXPOWER:01  MSHW0091:00
device:15    device:2d  device:45  device:5d  device:75  device:8d  INT3403:0a  LNXPOWER:02  MSHW0114:00
user@linux:~$ ls /sys/bus/platform/devices/
 ACPI000C:00         eisa.0              INT3403:01   INT3532:00         MSHW0114:00   PNP0C14:00
 ACPI000E:00        'Fixed MDIO bus.0'   INT3403:04   intel_rapl_msr.0   MSHW0153:00   reg-dummy
 alarmtimer          INT33A1:00          INT3403:08   microcode          pcspkr        regulatory.0
 coretemp.0          INT3400:00          INT3407:00   MSHW0040:00        PNP0103:00    serial8250
 efi-framebuffer.0   INT3403:00          INT3455:00   MSHW0091:00        PNP0C0D:00    snd-soc-dummy

heapwolf avatar Oct 28 '19 00:10 heapwolf

@heapwolf Thanks!

qzed avatar Oct 28 '19 10:10 qzed

@heapwolf I assume you've got the 13"/intel model? If so, can you upload an acpidump (sudo acpidump > acpidump.out)?

qzed avatar Oct 28 '19 10:10 qzed

@qzed correct assumption. acpidump gisted here.

heapwolf avatar Oct 28 '19 19:10 heapwolf

Thanks!

qzed avatar Oct 29 '19 23:10 qzed

One weird thing I'm noticing is that my speakers play a low static sound on boot as well (after bootloader selects ubuntu)

xdumaine avatar Nov 01 '19 02:11 xdumaine

@xdumaine see https://github.com/jakeday/linux-surface/issues/354

archseer avatar Nov 01 '19 09:11 archseer

same for me. how can i support you in getting the keyboard of a surface laptop 3 working?

mistay avatar Nov 07 '19 00:11 mistay

@mistay We're already tracking the changes here: https://github.com/qzed/linux-surfacegen5-acpi/issues/22

I have a set of patches that fixes both the keyboard and the trackpad and I hope to merge into qzed's repo in the next few days.

archseer avatar Nov 07 '19 01:11 archseer

Could someone with the 15" model post the output of cat /sys/bus/acpi/devices/MSHW0110/path and /sys/bus/acpi/devices/MSHW0124/path?

qzed avatar Nov 07 '19 19:11 qzed

@qzed those don't exist, but they do with a :00 suffix -

xdumaine@xsl3:~$ cat /sys/bus/acpi/devices/MSHW0110:00/path
\_SB_.WSID
xdumaine@xsl3:~$ cat /sys/bus/acpi/devices/MSHW0124\:00/path 
\_SB_.I2CC.FINK

xdumaine avatar Nov 08 '19 22:11 xdumaine

@mistay We're already tracking the changes here: qzed/linux-surfacegen5-acpi#22

I have a set of patches that fixes both the keyboard and the trackpad and I hope to merge into qzed's repo in the next few days.

thanks @archseer. i found your feature branch "sl3" in your forked repro (https://github.com/archseer/linux-surfacegen5-acpi/tree/feature/sl3) and tried installing by running jake's 5.1.5-surface kernel (https://github.com/jakeday/linux-surface/releases) cloning your repro, checking-out that feature branch, changing to module/ directory, build ("make") & insmod surface_sam.ko

but ... unfortunatly the keyboard of my surface laptop3 13" (pro) still does not work. does it work for you @archseer ?

mistay avatar Nov 08 '19 22:11 mistay

@xdumaine Ah yeah sorry forgot the :00 suffix. Thanks!

qzed avatar Nov 08 '19 23:11 qzed

@mistay AFAIK in the current state only the touchpad will work. Without going into too much detail: Both touchpad and keyboard work over HID reports, so they're the same as far as the required driver is concerned. Both however require some setup, that again is the same, but at the moment only done manually for the touchpad (mainly for testing). The plan is to auto-detect those HID devices (in case of SL3 keyboard and touchpad) and automatically configure them.

qzed avatar Nov 08 '19 23:11 qzed

@mistay Jake's kernel is outdated. You need to use qzed's fork which is up to date (5.3), but right now the driver still won't work without swapping the HID patch and recompiling the kernel: https://github.com/qzed/linux-surface/pull/17

archseer avatar Nov 09 '19 00:11 archseer

@mistay Jake's kernel is outdated. You need to use qzed's fork which is up to date (5.3), but right now the driver still won't work without swapping the HID patch and recompiling the kernel: qzed#17

aah ok. is it mentioned that one has to use qzed‘s fork instead of jake‘s kernel? in qzed‘s repro it‘s statet that you have to use one of jake‘s (binary/release) kernels.

ok so i‘ll try to build 5.3 ... fingers crossed...

mistay avatar Nov 09 '19 00:11 mistay

@mistay Jake's kernel is outdated. You need to use qzed's fork which is up to date (5.3), but right now the driver still won't work without swapping the HID patch and recompiling the kernel: qzed#17

don‘t think so. as far as i understood @archseer provided support for that keyboard...

mistay avatar Nov 09 '19 00:11 mistay

I added support for both keyboard and the touchpad, but if you build the current commit the keyboard won't work. I'm still developing a few things in the driver.

You can probably just wait a few days for my PR to be complete. At that point qzed will merge it and build a pre-built kernel so you don't have to deal with re-compiling.

archseer avatar Nov 09 '19 00:11 archseer

sorry, i don't get it: so what if i cloned qzed's repro (https://github.com/qzed/linux-surfacegen5-acpi, branch feature sl/3), should the trackpad work?

btw: any news? ;) i'm very looking forward to get that feature, thanks @archseer & @qzed!

mistay avatar Nov 10 '19 20:11 mistay

just cloned https://github.com/qzed/linux-surface-kernel, built kernel with config from https://github.com/qzed/linux-surface-kernel-configs/blob/v5.3/debian-5.3-x86_64.config and tried to boot on surface laptop 3 but hangs immediatly after selecting kernel in grub

Loading Linux 5.3.0+ ...
Loading initial ramdisk ...

<stalls>

expected that kernel to boot, what do you think?

mistay avatar Nov 10 '19 23:11 mistay

IMG_8564

mistay avatar Nov 10 '19 23:11 mistay

@archseer is there anything else I could do to help with this one?

xdumaine avatar Jan 03 '20 16:01 xdumaine

@xdumaine My changes has been merged into qzed's kernel mid-Novembe and I've been running Surface Laptop 3 on a daily basis now. It's now hosted at https://github.com/linux-surface/linux-surface

Follow the install guide then look at device specific quirks

@mistay I'm pretty sure you were still booting from the normal kernel instead of qzed's, you need to modify your bootloader to start the new kernel. The normal one is missing this patch so you need to press e and then modeprobe.blacklist=intel_lpss_pci to get it to boot.

Ah I see you got it fixed: https://github.com/linux-surface/kernel/issues/17

archseer avatar Jan 04 '20 04:01 archseer