Touchpad HW seen by Slackware-current, no input devices
by clipping from LinuxQuestions.org on (#5MXB9)
Hey Slackers
For the first time in years I have bought a new laptop, a Chuwi Corebook X. 8th gen i5, 512 gig NVMe, 8gig ram (gonna max it out, 24gig).
All metal construction. So many BIOS options it is insane, even including overclocking stuff. No built in wired ethernet is my biggest gripe.... I like to be able to boot from LAN to do things like whole-system backups to the LAN. For the money the machine is great though. Came with Windows 10 and to check the hardware wasn't broken I booted.... Linux Mint. All checked out, so rebooted to Slackware-current's installer and deleted everything on the disk.
After some glaring holes in my understanding of EFI were partially patched up, Slackware-current was successfully installed. Everything worked straight away, except the touchpad.
Hacking started, mad googling, forum-mining, you know the drill. No quick fix though.
I started writing this post, only to stop to gather info so I didn't look like I should be running Ubuntu. Kept finding paths to explore, and I have now fixed this problem to a point I think is completely fixed.
The problem originally was that after a fresh install of Slackware-current (and 14.2, with a post-setup chroot'ing and kernel packages update - so not a plain install), the touchpad hardware is found and can be seen as /sys/bus/i2c/devices/i2c-SYNA3602:00. But no touchpad entry for it in /proc/bus/input/devices, no mouseN devices in /dev/input, and natually nothing under X (XFCE).
Under non-Slack live distros the touchpad works in the GUI where applicable: Mint, an Ubuntu varient, Arch's installer, Debian 11 live RC2. The touchpad can work under Linux, so it had to be something Slackwarey....
But I now have a working touchpad. What it took was recompiling the kernel with the settings as of https://blog.rcarz.net/2019/09/08/li...arbon-7th-gen/ . I copied all the settings, recompiled, installed and the touchpad started working. Big ups to Bob Carroll for that post.
I have tracked down too the one setting needed. I did a 5.13.7 kernel recompile on a fresh install of slackware-current, so only one thing on the whole system was changed. I only changed the option in menuconfig called "< > Intel Canon Lake PCH pinctrl and GPIO driver", setting it to built-in from nothing.
Code:Device Drivers --->
-*- Pin controllers --->
<*> Intel Canon Lake PCH pinctrl and GPIO driverAnd that was it, first near-guess at the problem setting and I got it! Canon in that option and Cannon in Intel PCI device names was the hint.
These were the steps I took, I think based on the Slack wiki. So fresh the history file starts at one.
Code: 1 cd /usr/src
2 cd linux-5.13.7/
3 zcat /proc/config.gz > .config
4 make olddefconfig
5 make menuconfigChanged the one option, saved the .config
Code: 6 make -j9 bzImage && make -j9 modules && make modules_install
7 cp arch/x86_64/boot/bzImage /boot/vmlinuz-pin-5.13.7
8 cp arch/x86_64/boot/bzImage /boot/efi/EFI/Slackware/vmlinuz-pin-5.13.7
9 cp System.map /boot/System.map-pin-5.13.7
10 cp .config /boot/config-pin-5.13.7
11 cd /boot/
12 cd efi/EFI/Slackware/
13 ls
14 ls >> elilo.conf
15 nano -w elilo.conf
16 cd
17 /usr/share/mkinitrd/mkinitrd_command_generator.sh -k 5.13.7
18 /usr/share/mkinitrd/mkinitrd_command_generator.sh -k 5.13.7 > mrd
19 sh ./mrd
20 cd /boot/
21 cp initrd.gz efi/EFI/Slackware/initrd-pin-5.13.7.gz
(and fixed the other initrd I'd overwritten. Not that I think I need it)I'm posting this so that anyone else with this hardware can get Slackware working, and perhaps with the hope that this option can be toggled for Slack 15. As a module is probably better than built-in, too.
If there's something the world needs to know, or something you think I have done wrong or badly, then please say. To my shoddy standards this is basically fixed, but it'd be cool if a Slack expert can confirm if it looks really solved.
Here's some computer details:
uname -a
Code:Linux darkstar.example.net 5.13.7 #1 SMP Tue Aug 3 00:45:50 BST 2021 x86_64 Intel(R) Core(TM) i5-8259U CPU @ 2.30GHz GenuineIntel GNU/Linuxlspci
Code:00:00.0 Host bridge: Intel Corporation 8th Gen Core Processor Host Bridge/DRAM Registers (rev 08)
00:02.0 VGA compatible controller: Intel Corporation CoffeeLake-U GT3e [Iris Plus Graphics 655] (rev 01)
00:04.0 Signal processing controller: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem (rev 08)
00:08.0 System peripheral: Intel Corporation Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th/8th Gen Core Processor Gaussian Mixture Model
00:12.0 Signal processing controller: Intel Corporation Cannon Point-LP Thermal Controller (rev 30)
00:14.0 USB controller: Intel Corporation Cannon Point-LP USB 3.1 xHCI Controller (rev 30)
00:14.2 RAM memory: Intel Corporation Cannon Point-LP Shared SRAM (rev 30)
00:14.5 SD Host controller: Intel Corporation BayHubTech Integrated SD controller (rev 30)
00:15.0 Serial bus controller [0c80]: Intel Corporation Cannon Point-LP Serial IO I2C Controller #0 (rev 30)
00:15.1 Serial bus controller [0c80]: Intel Corporation Cannon Point-LP Serial IO I2C Controller #1 (rev 30)
00:15.2 Serial bus controller [0c80]: Intel Corporation Device 9dea (rev 30)
00:16.0 Communication controller: Intel Corporation Cannon Point-LP MEI Controller #1 (rev 30)
00:17.0 SATA controller: Intel Corporation Cannon Point-LP SATA Controller [AHCI Mode] (rev 30)
00:19.0 Serial bus controller [0c80]: Intel Corporation Cannon Point-LP Serial IO I2C Host Controller (rev 30)
00:1a.0 SD Host controller: Intel Corporation Device 9dc4 (rev 30)
00:1c.0 PCI bridge: Intel Corporation Cannon Point PCI Express Root Port #8 (rev f0)
00:1d.0 PCI bridge: Intel Corporation Cannon Point-LP PCI Express Root Port #13 (rev f0)
00:1e.0 Communication controller: Intel Corporation Cannon Point-LP Serial IO UART Controller #2 (rev 30)
00:1e.3 Serial bus controller [0c80]: Intel Corporation Device 9dab (rev 30)
00:1f.0 ISA bridge: Intel Corporation Cannon Point-LP LPC Controller (rev 30)
00:1f.3 Audio device: Intel Corporation Cannon Point-LP High Definition Audio Controller (rev 30)
00:1f.4 SMBus: Intel Corporation Cannon Point-LP SMBus Controller (rev 30)
00:1f.5 Serial bus controller [0c80]: Intel Corporation Cannon Point-LP SPI Controller (rev 30)
01:00.0 Network controller: Intel Corporation Wireless 7265 (rev 59)
02:00.0 Non-Volatile memory controller: Kingston Technology Company, Inc. U-SNS8154P3 NVMe SSD (rev 01)dmesg | grep -E 'i2c|i80'
Code:[ 3.810510] i8042: PNP: PS/2 Controller [PNP0303:PS2K] at 0x60,0x64 irq 1
[ 3.812859] i8042: PNP: PS/2 appears to have AUX port disabled, if this is incorrect please boot with i8042.nopnp
[ 3.817186] serio: i8042 KBD port at 0x60,0x64 irq 1
[ 3.839442] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input0
[ 6.589802] i801_smbus 0000:00:1f.4: SPD Write Disable is set
[ 6.591985] i801_smbus 0000:00:1f.4: SMBus using PCI interrupt
[ 6.595280] i2c i2c-0: 1/2 memory slots populated (from DMI)
[ 6.930478] input: SYNA3602:00 093A:0255 Mouse as /devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-7/i2c-SYNA3602:00/0018:093A:0255.0001/input/input15
[ 6.930725] input: SYNA3602:00 093A:0255 Touchpad as /devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-7/i2c-SYNA3602:00/0018:093A:0255.0001/input/input16
[ 6.930910] hid-multitouch 0018:093A:0255.0001: input,hidraw0: I2C HID v1.00 Mouse [SYNA3602:00 093A:0255] on i2c-SYNA3602:00
For the first time in years I have bought a new laptop, a Chuwi Corebook X. 8th gen i5, 512 gig NVMe, 8gig ram (gonna max it out, 24gig).
All metal construction. So many BIOS options it is insane, even including overclocking stuff. No built in wired ethernet is my biggest gripe.... I like to be able to boot from LAN to do things like whole-system backups to the LAN. For the money the machine is great though. Came with Windows 10 and to check the hardware wasn't broken I booted.... Linux Mint. All checked out, so rebooted to Slackware-current's installer and deleted everything on the disk.
After some glaring holes in my understanding of EFI were partially patched up, Slackware-current was successfully installed. Everything worked straight away, except the touchpad.
Hacking started, mad googling, forum-mining, you know the drill. No quick fix though.
I started writing this post, only to stop to gather info so I didn't look like I should be running Ubuntu. Kept finding paths to explore, and I have now fixed this problem to a point I think is completely fixed.
The problem originally was that after a fresh install of Slackware-current (and 14.2, with a post-setup chroot'ing and kernel packages update - so not a plain install), the touchpad hardware is found and can be seen as /sys/bus/i2c/devices/i2c-SYNA3602:00. But no touchpad entry for it in /proc/bus/input/devices, no mouseN devices in /dev/input, and natually nothing under X (XFCE).
Under non-Slack live distros the touchpad works in the GUI where applicable: Mint, an Ubuntu varient, Arch's installer, Debian 11 live RC2. The touchpad can work under Linux, so it had to be something Slackwarey....
But I now have a working touchpad. What it took was recompiling the kernel with the settings as of https://blog.rcarz.net/2019/09/08/li...arbon-7th-gen/ . I copied all the settings, recompiled, installed and the touchpad started working. Big ups to Bob Carroll for that post.
I have tracked down too the one setting needed. I did a 5.13.7 kernel recompile on a fresh install of slackware-current, so only one thing on the whole system was changed. I only changed the option in menuconfig called "< > Intel Canon Lake PCH pinctrl and GPIO driver", setting it to built-in from nothing.
Code:Device Drivers --->
-*- Pin controllers --->
<*> Intel Canon Lake PCH pinctrl and GPIO driverAnd that was it, first near-guess at the problem setting and I got it! Canon in that option and Cannon in Intel PCI device names was the hint.
These were the steps I took, I think based on the Slack wiki. So fresh the history file starts at one.
Code: 1 cd /usr/src
2 cd linux-5.13.7/
3 zcat /proc/config.gz > .config
4 make olddefconfig
5 make menuconfigChanged the one option, saved the .config
Code: 6 make -j9 bzImage && make -j9 modules && make modules_install
7 cp arch/x86_64/boot/bzImage /boot/vmlinuz-pin-5.13.7
8 cp arch/x86_64/boot/bzImage /boot/efi/EFI/Slackware/vmlinuz-pin-5.13.7
9 cp System.map /boot/System.map-pin-5.13.7
10 cp .config /boot/config-pin-5.13.7
11 cd /boot/
12 cd efi/EFI/Slackware/
13 ls
14 ls >> elilo.conf
15 nano -w elilo.conf
16 cd
17 /usr/share/mkinitrd/mkinitrd_command_generator.sh -k 5.13.7
18 /usr/share/mkinitrd/mkinitrd_command_generator.sh -k 5.13.7 > mrd
19 sh ./mrd
20 cd /boot/
21 cp initrd.gz efi/EFI/Slackware/initrd-pin-5.13.7.gz
(and fixed the other initrd I'd overwritten. Not that I think I need it)I'm posting this so that anyone else with this hardware can get Slackware working, and perhaps with the hope that this option can be toggled for Slack 15. As a module is probably better than built-in, too.
If there's something the world needs to know, or something you think I have done wrong or badly, then please say. To my shoddy standards this is basically fixed, but it'd be cool if a Slack expert can confirm if it looks really solved.
Here's some computer details:
uname -a
Code:Linux darkstar.example.net 5.13.7 #1 SMP Tue Aug 3 00:45:50 BST 2021 x86_64 Intel(R) Core(TM) i5-8259U CPU @ 2.30GHz GenuineIntel GNU/Linuxlspci
Code:00:00.0 Host bridge: Intel Corporation 8th Gen Core Processor Host Bridge/DRAM Registers (rev 08)
00:02.0 VGA compatible controller: Intel Corporation CoffeeLake-U GT3e [Iris Plus Graphics 655] (rev 01)
00:04.0 Signal processing controller: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem (rev 08)
00:08.0 System peripheral: Intel Corporation Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th/8th Gen Core Processor Gaussian Mixture Model
00:12.0 Signal processing controller: Intel Corporation Cannon Point-LP Thermal Controller (rev 30)
00:14.0 USB controller: Intel Corporation Cannon Point-LP USB 3.1 xHCI Controller (rev 30)
00:14.2 RAM memory: Intel Corporation Cannon Point-LP Shared SRAM (rev 30)
00:14.5 SD Host controller: Intel Corporation BayHubTech Integrated SD controller (rev 30)
00:15.0 Serial bus controller [0c80]: Intel Corporation Cannon Point-LP Serial IO I2C Controller #0 (rev 30)
00:15.1 Serial bus controller [0c80]: Intel Corporation Cannon Point-LP Serial IO I2C Controller #1 (rev 30)
00:15.2 Serial bus controller [0c80]: Intel Corporation Device 9dea (rev 30)
00:16.0 Communication controller: Intel Corporation Cannon Point-LP MEI Controller #1 (rev 30)
00:17.0 SATA controller: Intel Corporation Cannon Point-LP SATA Controller [AHCI Mode] (rev 30)
00:19.0 Serial bus controller [0c80]: Intel Corporation Cannon Point-LP Serial IO I2C Host Controller (rev 30)
00:1a.0 SD Host controller: Intel Corporation Device 9dc4 (rev 30)
00:1c.0 PCI bridge: Intel Corporation Cannon Point PCI Express Root Port #8 (rev f0)
00:1d.0 PCI bridge: Intel Corporation Cannon Point-LP PCI Express Root Port #13 (rev f0)
00:1e.0 Communication controller: Intel Corporation Cannon Point-LP Serial IO UART Controller #2 (rev 30)
00:1e.3 Serial bus controller [0c80]: Intel Corporation Device 9dab (rev 30)
00:1f.0 ISA bridge: Intel Corporation Cannon Point-LP LPC Controller (rev 30)
00:1f.3 Audio device: Intel Corporation Cannon Point-LP High Definition Audio Controller (rev 30)
00:1f.4 SMBus: Intel Corporation Cannon Point-LP SMBus Controller (rev 30)
00:1f.5 Serial bus controller [0c80]: Intel Corporation Cannon Point-LP SPI Controller (rev 30)
01:00.0 Network controller: Intel Corporation Wireless 7265 (rev 59)
02:00.0 Non-Volatile memory controller: Kingston Technology Company, Inc. U-SNS8154P3 NVMe SSD (rev 01)dmesg | grep -E 'i2c|i80'
Code:[ 3.810510] i8042: PNP: PS/2 Controller [PNP0303:PS2K] at 0x60,0x64 irq 1
[ 3.812859] i8042: PNP: PS/2 appears to have AUX port disabled, if this is incorrect please boot with i8042.nopnp
[ 3.817186] serio: i8042 KBD port at 0x60,0x64 irq 1
[ 3.839442] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input0
[ 6.589802] i801_smbus 0000:00:1f.4: SPD Write Disable is set
[ 6.591985] i801_smbus 0000:00:1f.4: SMBus using PCI interrupt
[ 6.595280] i2c i2c-0: 1/2 memory slots populated (from DMI)
[ 6.930478] input: SYNA3602:00 093A:0255 Mouse as /devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-7/i2c-SYNA3602:00/0018:093A:0255.0001/input/input15
[ 6.930725] input: SYNA3602:00 093A:0255 Touchpad as /devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-7/i2c-SYNA3602:00/0018:093A:0255.0001/input/input16
[ 6.930910] hid-multitouch 0018:093A:0255.0001: input,hidraw0: I2C HID v1.00 Mouse [SYNA3602:00 093A:0255] on i2c-SYNA3602:00