Package: linux-image-4.19.0-1-amd64 Severity: important Device: Surface Go
Debian Version: Buster with latest updates Summary: In general it is working fine, but it seems that some stuff is missing because device ID is not known and then its loaded in a generic mode and not device specific. E.g. the assumed battery should be remove because it is a touchscreen and also the power control needs adjustement. Please let me know which outputs are needed to get the Elantech toucschreen recognized properly. First: The touchscreen is reporting a battery status in GNOME Settings -> Energy and also in general in the system. This can be seen here: pink@debian:/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-1/i2c-ELAN9038:00/0018:04F3:261A.0001/power_supply/hid-0018:04F3:261A.0001-battery$ ls capacity model_name power present status type device online powers scope subsystem uevent pink@debian:/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-1/i2c-ELAN9038:00/0018:04F3:261A.0001/power_supply/hid-0018:04F3:261A.0001-battery$ cat uevent POWER_SUPPLY_NAME=hid-0018:04F3:261A.0001-battery POWER_SUPPLY_PRESENT=1 POWER_SUPPLY_ONLINE=1 POWER_SUPPLY_CAPACITY=0 POWER_SUPPLY_MODEL_NAME=ELAN9038:00 04F3:261A POWER_SUPPLY_STATUS=Unknown POWER_SUPPLY_SCOPE=Device and pink@debian:~$ cat /sys/class/power_supply/hid-0018\:04F3\:261A.0001-battery/uevent POWER_SUPPLY_NAME=hid-0018:04F3:261A.0001-battery POWER_SUPPLY_PRESENT=1 POWER_SUPPLY_ONLINE=1 POWER_SUPPLY_CAPACITY=0 POWER_SUPPLY_MODEL_NAME=ELAN9038:00 04F3:261A POWER_SUPPLY_STATUS=Unknown POWER_SUPPLY_SCOPE=Device In general, the device seems not to be recognized properly, see pink@debian:~$ sudo journalctl | grep i2c [sudo] Passwort für pink: Jan 17 19:35:44 debian kernel: i2c_hid i2c-ELAN9038:00: i2c-ELAN9038:00 supply vdd not found, using dummy regulator Jan 17 19:35:44 debian kernel: i2c_hid i2c-ELAN9038:00: Linked as a consumer to regulator.0 Jan 17 19:35:44 debian kernel: i2c_hid i2c-ELAN9038:00: i2c-ELAN9038:00 supply vddl not found, using dummy regulator Jan 17 19:35:44 debian kernel: input: ELAN9038:00 04F3:261A Touchscreen as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-1/i2c-ELAN9038:00/0018:04F3:261A.0001/input/input1 Jan 17 19:35:44 debian kernel: input: ELAN9038:00 04F3:261A as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-1/i2c-ELAN9038:00/0018:04F3:261A.0001/input/input2 Jan 17 19:35:44 debian kernel: input: ELAN9038:00 04F3:261A as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-1/i2c-ELAN9038:00/0018:04F3:261A.0001/input/input3 Jan 17 19:35:44 debian kernel: input: ELAN9038:00 04F3:261A as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-1/i2c-ELAN9038:00/0018:04F3:261A.0001/input/input4 Jan 17 19:35:44 debian kernel: input: ELAN9038:00 04F3:261A as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-1/i2c-ELAN9038:00/0018:04F3:261A.0001/input/input6 Jan 17 19:35:44 debian kernel: input: ELAN9038:00 04F3:261A as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-1/i2c-ELAN9038:00/0018:04F3:261A.0001/input/input7 Jan 17 19:35:44 debian kernel: input: ELAN9038:00 04F3:261A as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-1/i2c-ELAN9038:00/0018:04F3:261A.0001/input/input8 Jan 17 19:35:44 debian kernel: hid-generic 0018:04F3:261A.0001: input,hidraw0: I2C HID v1.00 Device [ELAN9038:00 04F3:261A] on i2c-ELAN9038:00 Jan 17 19:35:45 debian kernel: input: ELAN9038:00 04F3:261A as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-1/i2c-ELAN9038:00/0018:04F3:261A.0001/input/input20 Jan 17 19:35:45 debian kernel: input: ELAN9038:00 04F3:261A Pen as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-1/i2c-ELAN9038:00/0018:04F3:261A.0001/input/input23 Jan 17 19:35:45 debian kernel: hid-multitouch 0018:04F3:261A.0001: input,hidraw0: I2C HID v1.00 Device [ELAN9038:00 04F3:261A] on i2c-ELAN9038:00 and output of pink@debian:~$ cat /proc/bus/input/devices I: Bus=0011 Vendor=0001 Product=0001 Version=ab83 N: Name="AT Translated Set 2 keyboard" P: Phys=isa0060/serio0/input0 S: Sysfs=/devices/platform/i8042/serio0/input/input0 U: Uniq= H: Handlers=sysrq kbd leds event0 B: PROP=0 B: EV=120013 B: KEY=402000000 3803078f800d001 feffffdfffefffff fffffffffffffffe B: MSC=10 B: LED=7 I: Bus=0003 Vendor=045e Product=096f Version=0111 N: Name="Microsoft Surface Type Cover" P: Phys=usb-0000:00:14.0-7/input0 S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/0003:045E:096F.0004/input/input10 U: Uniq= H: Handlers=sysrq kbd leds event1 B: PROP=0 B: EV=120013 B: KEY=1000000000007 ff9f207ac14057ff febeffdfffefffff fffffffffffffffe B: MSC=10 B: LED=7 I: Bus=0003 Vendor=045e Product=096f Version=0111 N: Name="Microsoft Surface Type Cover Consumer Control" P: Phys=usb-0000:00:14.0-7/input1 S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.1/0003:045E:096F.0005/input/input11 U: Uniq= H: Handlers=kbd event2 B: PROP=0 B: EV=1f B: KEY=3f0003007f 0 0 483ffff17aff32d bf54444600000000 1 130f938b17c000 677bfad9415fed 9ed68000004400 10000002 B: REL=40 B: ABS=100000000 B: MSC=10 I: Bus=0003 Vendor=045e Product=096f Version=0111 N: Name="Microsoft Surface Type Cover" P: Phys=usb-0000:00:14.0-7/input1 S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.1/0003:045E:096F.0005/input/input12 U: Uniq= H: Handlers=event3 B: PROP=0 B: EV=9 B: ABS=10000000000 I: Bus=0019 Vendor=0000 Product=0000 Version=0000 N: Name="Intel HID events" P: Phys= S: Sysfs=/devices/platform/INT33D5:00/input/input15 U: Uniq= H: Handlers=kbd rfkill event6 B: PROP=0 B: EV=13 B: KEY=81000300000000 5000004000 1e294000000020 0 B: MSC=10 I: Bus=0019 Vendor=0000 Product=0000 Version=0000 N: Name="Intel HID 5 button array" P: Phys= S: Sysfs=/devices/platform/INT33D5:00/input/input16 U: Uniq= H: Handlers=kbd event7 B: PROP=0 B: EV=13 B: KEY=2000000000000 0 0 0 0 1000000000000 0 201c000000000000 0 B: MSC=10 I: Bus=0019 Vendor=0000 Product=0001 Version=0000 N: Name="Power Button" P: Phys=PNP0C0C/button/input0 S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input17 U: Uniq= H: Handlers=kbd event8 B: PROP=0 B: EV=3 B: KEY=10000000000000 0 I: Bus=0019 Vendor=0000 Product=0005 Version=0000 N: Name="Lid Switch" P: Phys=PNP0C0D/button/input0 S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0D:00/input/input18 U: Uniq= H: Handlers=event9 B: PROP=0 B: EV=21 B: SW=1 I: Bus=0010 Vendor=001f Product=0001 Version=0100 N: Name="PC Speaker" P: Phys=isa0061/input0 S: Sysfs=/devices/platform/pcspkr/input/input19 U: Uniq= H: Handlers=kbd event10 B: PROP=0 B: EV=40001 B: SND=6 I: Bus=0018 Vendor=04f3 Product=261a Version=0100 N: Name="ELAN9038:00 04F3:261A" P: Phys=i2c-ELAN9038:00 S: Sysfs=/devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-1/i2c-ELAN9038:00/0018:04F3:261A.0001/input/input20 U: Uniq= H: Handlers=mouse0 event11 B: PROP=2 B: EV=1b B: KEY=400 0 0 0 0 0 B: ABS=3273800000000003 B: MSC=20 I: Bus=0018 Vendor=04f3 Product=261a Version=0100 N: Name="ELAN9038:00 04F3:261A Pen" P: Phys=i2c-ELAN9038:00 S: Sysfs=/devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-1/i2c-ELAN9038:00/0018:04F3:261A.0001/input/input23 U: Uniq= H: Handlers=mouse1 event12 B: PROP=0 B: EV=1b B: KEY=c03 0 0 0 0 0 B: ABS=1000d000003 B: MSC=10 I: Bus=0003 Vendor=045e Product=096f Version=0111 N: Name="Microsoft Surface Type Cover Touchpad" P: Phys=usb-0000:00:14.0-7/input3 S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.3/0003:045E:096F.0007/input/input30 U: Uniq= H: Handlers=mouse2 event4 B: PROP=5 B: EV=1b B: KEY=e520 10000 0 0 0 0 B: ABS=2e0800000000003 B: MSC=20 I: Bus=0019 Vendor=0000 Product=0006 Version=0000 N: Name="Video Bus" P: Phys=LNXVIDEO/video/input0 S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input31 U: Uniq= H: Handlers=kbd event5 B: PROP=0 B: EV=3 B: KEY=3e000b00000000 0 0 0 I: Bus=0000 Vendor=0000 Product=0000 Version=0000 N: Name="HDA Intel PCH Mic" P: Phys=ALSA S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input32 U: Uniq= H: Handlers=event13 B: PROP=0 B: EV=21 B: SW=10 I: Bus=0000 Vendor=0000 Product=0000 Version=0000 N: Name="HDA Intel PCH Headphone" P: Phys=ALSA S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input33 U: Uniq= H: Handlers=event14 B: PROP=0 B: EV=21 B: SW=4 I: Bus=0000 Vendor=0000 Product=0000 Version=0000 N: Name="HDA Intel PCH HDMI/DP,pcm=3" P: Phys=ALSA S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input34 U: Uniq= H: Handlers=event15 B: PROP=0 B: EV=21 B: SW=140 I: Bus=0000 Vendor=0000 Product=0000 Version=0000 N: Name="HDA Intel PCH HDMI/DP,pcm=7" P: Phys=ALSA S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input35 U: Uniq= H: Handlers=event16 B: PROP=0 B: EV=21 B: SW=140 I: Bus=0000 Vendor=0000 Product=0000 Version=0000 N: Name="HDA Intel PCH HDMI/DP,pcm=8" P: Phys=ALSA S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input36 U: Uniq= H: Handlers=event17 B: PROP=0 B: EV=21 B: SW=140 I: Bus=0000 Vendor=0000 Product=0000 Version=0000 N: Name="HDA Intel PCH HDMI/DP,pcm=9" P: Phys=ALSA S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input37 U: Uniq= H: Handlers=event18 B: PROP=0 B: EV=21 B: SW=140 I: Bus=0000 Vendor=0000 Product=0000 Version=0000 N: Name="HDA Intel PCH HDMI/DP,pcm=10" P: Phys=ALSA S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input38 U: Uniq= H: Handlers=event19 B: PROP=0 B: EV=21 B: SW=140 I: Bus=0005 Vendor=046d Product=b01a Version=0003 N: Name="MX Anywhere 2S Keyboard" P: Phys=D8:C4:97:84:A7:27 S: Sysfs=/devices/virtual/misc/uhid/0005:046D:B01A.0008/input/input39 U: Uniq=CC:AF:FD:50:C4:83 H: Handlers=sysrq kbd event20 B: PROP=0 B: EV=100013 B: KEY=1000000000007 ff800000000007ff febeffdfffefffff fffffffffffffffe B: MSC=10 I: Bus=0005 Vendor=046d Product=b01a Version=0003 N: Name="MX Anywhere 2S Mouse" P: Phys=D8:C4:97:84:A7:27 S: Sysfs=/devices/virtual/misc/uhid/0005:046D:B01A.0008/input/input40 U: Uniq=CC:AF:FD:50:C4:83 H: Handlers=mouse3 event21 B: PROP=0 B: EV=17 B: KEY=ffff0000 0 0 0 0 B: REL=143 B: MSC=10 Every device seems to be recognized properly, just Name="ELAN9038:00 04F3:261A" and Name="ELAN9038:00 04F3:261A Pen" are not. Second: The touchscreen is not working properly, it seems to time out after one second which leeds to click input instead of scrolling in Chromium etc. After setting echo on > /sys/devices/pci0000:00/0000:00:15.1/i2c_designware.1/power/control the touchsreen is working fine, no false recognized input. https://www.kernel.org/doc/html/v4.19/driver-api/pm/devices.html#sys-devices-power-control-files Multitouch is also working without applying the setting above. Suspend delay is set to 1000ms which might explain why by default the weird behaviour occurs. pink@debian:/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.1/power$ cat autosuspend_delay_ms 1000 Third: Also get this error messages displayed short before Surface shut down (shown for 0.5 sec). [500.561334] i2c_hid i2c-ELAN9038:00: failed to change power setting. [501.280361] reboot: Restarting system Fourth: When using default Wayland: Using the surface pen leads to double occurrence of a mouse pointer, one like the normal one, one like a X. But different pressure levels are recognized and even the eraser is recognized ootb, tested with GNOME settings -> Devices -> Wacom-Tablet -> Check your settings. When using System X11 Default: Using the surface pen just leads to one mouse pointer, pressure levels are recognized but the erase is also recognized as a pen intput in GNOME settings -> Devices -> Wacom-Tablet -> Check your settings best regars Christian H.