Skip to content

Surface Pro 9 Business: Suspend/wake up with lid does not work properly #3

@Lucrtz

Description

@Lucrtz

Hi,

I'm using a Surface Pro 9 Business with freshly installed Arch Linux and the linux-surface Kernel set up according to the instructions. So far everything works perfectly, except for the problem that the device only goes into suspend mode once after a reboot when I close the lid. It never wakes up from suspend mode when I open the lid. After it goes into suspend mode once by closing the lid, it doesn't work again.

I also tried messing around with the logind.conf under /etc/systemd/logind.conf by commenting out

HandleLidSwitch=suspend
HandleLidSwitchExternalPower=suspend

which had no effect.

When I investigated the dmesg output, I found the following problem, which led me here:

[    3.868851] surface_gpe: no compatible Microsoft Surface device found, exiting
[    3.990270] surface_serial_hub serial0-0: SAM firmware version: 6.101.139
[   24.600041] surface_serial_hub serial0-0: event: unhandled event (rqid: 0x02, tc: 0x02, tid: 0x01, cid: 0x1a, iid: 0x01)
[   27.542263] surface_serial_hub serial0-0: event: unhandled event (rqid: 0x02, tc: 0x02, tid: 0x01, cid: 0x1a, iid: 0x01)
[  102.812272] surface_serial_hub serial0-0: rx: parser: invalid start of frame, skipping

Then i looked in the surface_gpe.c file and found one entry for the normal Surface Pro 9 which searches for the following SKU number:
DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "Surface_Pro_9_2038")

My sudo dmidecode -t system output is:

# dmidecode 3.5
Getting SMBIOS data from sysfs.
SMBIOS 3.3.0 present.

Handle 0x000A, DMI type 1, 27 bytes
System Information
	Manufacturer: Microsoft Corporation
	Product Name: Surface Pro 9
	Version: 124I:00093T:000M:0000000D:0B:11F:1C:04P:01Y:1U:00
	Serial Number: xxxxxxxxxxx
	UUID: ef3657c2-ef21-a3b9-a1a6-467f93525e80
	Wake-up Type: Power Switch
	SKU Number: Surface_Pro_9_for_Business_2038
	Family: Surface

Does the problem occur because of a missing entry for the Business model of the Surface Pro 9 in surface_gpe.c?

Expected behaviour
Surface goes to suspend and wakes up from suspend when closing/opening the lid.

System information
Machine: Microsoft Surface Pro 9 Business
Kernel: 6.6.6-arch1-1-surface
OS: Arch Linux

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions