Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Kernel not recognizing touchpad Acer Swift 3
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
jwnhy
n00b
n00b


Joined: 10 Aug 2022
Posts: 11

PostPosted: Wed Aug 10, 2022 7:35 am    Post subject: Kernel not recognizing touchpad Acer Swift 3 Reply with quote

Hello, I was trying to install Gentoo to my new laptop.
Since I have used Gentoo for quite a time so everything works after a few struggling.

However, I still cannot get my touchpad working, which is supposed to be a ELAN Touchpad.

Kernel continues to recognize it as a "Generic Logitech Mouse", which doesn't support two finger scrolling.

My laptop model is Acer Swift 3 2022 with a I7-1260P.

Here is my
Code:
lspci -k


Code:

0000:00:00.0 Host bridge: Intel Corporation Device 4621 (rev 02)
        Subsystem: Acer Incorporated [ALI] Device 1612
        Kernel driver in use: igen6_edac
        Kernel modules: igen6_edac
0000:00:02.0 VGA compatible controller: Intel Corporation Alder Lake-P Integrated Graphics Controller (rev 0c)
        Subsystem: Acer Incorporated [ALI] Alder Lake-P Integrated Graphics Controller
        Kernel driver in use: i915
0000:00:04.0 Signal processing controller: Intel Corporation Alder Lake Innovation Platform Framework Processor Participant (rev 02)
        Subsystem: Acer Incorporated [ALI] Alder Lake Innovation Platform Framework Processor Participant
0000:00:05.0 Multimedia controller: Intel Corporation Device 465d (rev 02)
        Subsystem: Acer Incorporated [ALI] Device 1612
0000:00:06.0 PCI bridge: Intel Corporation 12th Gen Core Processor PCI Express x4 Controller #0 (rev 02)
        Subsystem: Acer Incorporated [ALI] 12th Gen Core Processor PCI Express x4 Controller
        Kernel driver in use: pcieport
0000:00:07.0 PCI bridge: Intel Corporation Alder Lake-P Thunderbolt 4 PCI Express Root Port #0 (rev 02)
        Subsystem: Intel Corporation Alder Lake-P Thunderbolt 4 PCI Express Root Port
        Kernel driver in use: pcieport
0000:00:07.2 PCI bridge: Intel Corporation Alder Lake-P Thunderbolt 4 PCI Express Root Port #2 (rev 02)
        Subsystem: Intel Corporation Alder Lake-P Thunderbolt 4 PCI Express Root Port
        Kernel driver in use: pcieport
0000:00:08.0 System peripheral: Intel Corporation 12th Gen Core Processor Gaussian & Neural Accelerator (rev 02)
        Subsystem: Acer Incorporated [ALI] 12th Gen Core Processor Gaussian & Neural Accelerator
0000:00:0d.0 USB controller: Intel Corporation Alder Lake-P Thunderbolt 4 USB Controller (rev 02)
        Subsystem: Intel Corporation Alder Lake-P Thunderbolt 4 USB Controller
        Kernel driver in use: xhci_hcd
0000:00:0d.2 USB controller: Intel Corporation Alder Lake-P Thunderbolt 4 NHI #0 (rev 02)
        Subsystem: Intel Corporation Alder Lake-P Thunderbolt 4 NHI
0000:00:0d.3 USB controller: Intel Corporation Alder Lake-P Thunderbolt 4 NHI #1 (rev 02)
        Subsystem: Intel Corporation Alder Lake-P Thunderbolt 4 NHI
0000:00:0e.0 RAID bus controller: Intel Corporation Volume Management Device NVMe RAID Controller
        Subsystem: Acer Incorporated [ALI] Volume Management Device NVMe RAID Controller
        Kernel driver in use: vmd
0000:00:14.0 USB controller: Intel Corporation Alder Lake PCH USB 3.2 xHCI Host Controller (rev 01)
        Subsystem: Acer Incorporated [ALI] Alder Lake PCH USB 3.2 xHCI Host Controller
        Kernel driver in use: xhci_hcd
0000:00:14.2 RAM memory: Intel Corporation Alder Lake PCH Shared SRAM (rev 01)
        Subsystem: Acer Incorporated [ALI] Alder Lake PCH Shared SRAM
0000:00:14.3 Network controller: Intel Corporation Alder Lake-P PCH CNVi WiFi (rev 01)
        Subsystem: Rivet Networks Alder Lake-P PCH CNVi WiFi
        Kernel driver in use: iwlwifi
        Kernel modules: iwlwifi
0000:00:15.0 Serial bus controller: Intel Corporation Alder Lake PCH Serial IO I2C Controller #0 (rev 01)
        Subsystem: Acer Incorporated [ALI] Alder Lake PCH Serial IO I2C Controller
        Kernel driver in use: intel-lpss
        Kernel modules: intel_lpss_pci
0000:00:15.1 Serial bus controller: Intel Corporation Alder Lake PCH Serial IO I2C Controller #1 (rev 01)
        Subsystem: Acer Incorporated [ALI] Alder Lake PCH Serial IO I2C Controller
        Kernel driver in use: intel-lpss
        Kernel modules: intel_lpss_pci
0000:00:16.0 Communication controller: Intel Corporation Alder Lake PCH HECI Controller (rev 01)
        Subsystem: Acer Incorporated [ALI] Alder Lake PCH HECI Controller
        Kernel driver in use: mei_me
        Kernel modules: mei_me
0000:00:19.0 Serial bus controller: Intel Corporation Alder Lake-P Serial IO I2C Controller #0 (rev 01)
        Subsystem: Acer Incorporated [ALI] Alder Lake-P Serial IO I2C Controller
        Kernel driver in use: intel-lpss
        Kernel modules: intel_lpss_pci
0000:00:19.1 Serial bus controller: Intel Corporation Alder Lake-P Serial IO I2C Controller #1 (rev 01)
        Subsystem: Acer Incorporated [ALI] Alder Lake-P Serial IO I2C Controller
        Kernel driver in use: intel-lpss
        Kernel modules: intel_lpss_pci
0000:00:1f.0 ISA bridge: Intel Corporation Alder Lake PCH eSPI Controller (rev 01)
        Subsystem: Acer Incorporated [ALI] Alder Lake PCH eSPI Controller
0000:00:1f.3 Multimedia audio controller: Intel Corporation Alder Lake PCH-P High Definition Audio Controller (rev 01)
        Subsystem: Acer Incorporated [ALI] Alder Lake PCH-P High Definition Audio Controller
        Kernel driver in use: sof-audio-pci-intel-tgl
0000:00:1f.4 SMBus: Intel Corporation Alder Lake PCH-P SMBus Host Controller (rev 01)
        Subsystem: Acer Incorporated [ALI] Alder Lake PCH-P SMBus Host Controller
        Kernel driver in use: i801_smbus
0000:00:1f.5 Serial bus controller: Intel Corporation Alder Lake-P PCH SPI Controller (rev 01)
        Subsystem: Acer Incorporated [ALI] Alder Lake-P PCH SPI Controller
10000:e0:06.0 System peripheral: Intel Corporation Device 09ab
10000:e0:06.2 PCI bridge: Intel Corporation 12th Gen Core Processor PCI Express x4 Controller #2 (rev 02)
        Kernel driver in use: pcieport
10000:e1:00.0 Non-Volatile memory controller: Micron Technology Inc Device 5411 (rev 01)
        Subsystem: Micron Technology Inc Device 1100
        Kernel driver in use: nvme


I have also enabled CONFIG_{LPSS, SUNRISEPOINTER, ELAN, I2C...} related kernel configs.

I hope the following is useful.

Code:

CONFIG_MOUSE_PS2_ELANTECH=y
CONFIG_MOUSE_PS2_ELANTECH_SMBUS=y
CONFIG_MOUSE_ELAN_I2C=m
CONFIG_MOUSE_ELAN_I2C_I2C=y
# CONFIG_MOUSE_ELAN_I2C_SMBUS is not set
# CONFIG_TOUCHSCREEN_ELAN is not set
CONFIG_HID_ELAN=y


Apart from those settings, I have also set "i8042.{nomux...}" without which the "Logitech Mouse" would also disappear.


Thank you very much for you help.
Back to top
View user's profile Send private message
user169291
n00b
n00b


Joined: 08 Aug 2022
Posts: 13

PostPosted: Wed Aug 10, 2022 8:30 am    Post subject: Reply with quote

Which touchpad is it? Perhaps we are suffering from an identical problem, since you're also on Alder Lake. Mine's a 311C.
Back to top
View user's profile Send private message
alamahant
Advocate
Advocate


Joined: 23 Mar 2019
Posts: 3879

PostPosted: Wed Aug 10, 2022 8:38 am    Post subject: Reply with quote

Hi
what is the output of
Code:

grep CONFIG_I2C_DESIGNWARE /usr/src/linux/.config
and
grep -i input_dev /etc/portage/make.conf

_________________
:)
Back to top
View user's profile Send private message
jwnhy
n00b
n00b


Joined: 10 Aug 2022
Posts: 11

PostPosted: Wed Aug 10, 2022 9:09 am    Post subject: Reply with quote

alamahant wrote:
Hi
what is the output of
Code:

grep CONFIG_I2C_DESIGNWARE /usr/src/linux/.config
and
grep -i input_dev /etc/portage/make.conf


They are as follows
Code:

CONFIG_I2C_DESIGNWARE_CORE=y
# CONFIG_I2C_DESIGNWARE_SLAVE is not set
CONFIG_I2C_DESIGNWARE_PLATFORM=y
# CONFIG_I2C_DESIGNWARE_AMDPSP is not set
# CONFIG_I2C_DESIGNWARE_BAYTRAIL is not set
# CONFIG_I2C_DESIGNWARE_PCI is not set


the libinput have been set in make.conf

Code:

INPUT_DEVICES="synaptics libinput"
Back to top
View user's profile Send private message
jwnhy
n00b
n00b


Joined: 10 Aug 2022
Posts: 11

PostPosted: Wed Aug 10, 2022 9:17 am    Post subject: Something possibly useful from LiveCD Reply with quote

I have tried a LiveCD of EndeavourOS, the touchpad works fine on it.

Code:

[    9.986758] input: ELAN050B:01 04F3:312B Mouse as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-16/i2c-ELAN050B:01/0018:04F3:312B.0001/input/input7
[    9.986937] input: ELAN050B:01 04F3:312B Touchpad as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-16/i2c-ELAN050B:01/0018:04F3:312B.0001/input/input9
[    9.986966] hid-generic 0018:04F3:312B.0001: input,hidraw0: I2C HID v1.00 Mouse [ELAN050B:01 04F3:312B] on i2c-ELAN050B:01
[   14.412459] input: ELAN050B:01 04F3:312B Mouse as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-16/i2c-ELAN050B:01/0018:04F3:312B.0001/input/input12
[   14.412539] input: ELAN050B:01 04F3:312B Touchpad as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-16/i2c-ELAN050B:01/0018:04F3:312B.0001/input/input14
[   14.412598] hid-multitouch 0018:04F3:312B.0001: input,hidraw0: I2C HID v1.00 Mouse [ELAN050B:01 04F3:312B] on i2c-ELAN050B:01


Code:

⎡ Virtual core pointer                       id=2   [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                 id=4   [slave  pointer  (2)]
⎜   ↳ ELAN050B:01 04F3:312B Mouse                id=10   [slave  pointer  (2)]
⎜   ↳ ELAN050B:01 04F3:312B Touchpad             id=11   [slave  pointer  (2)]


This also shows mine is a 04F3:312B?
Back to top
View user's profile Send private message
alamahant
Advocate
Advocate


Joined: 23 Mar 2019
Posts: 3879

PostPosted: Wed Aug 10, 2022 9:34 am    Post subject: Reply with quote

This is what i get from dmesg
Code:

dmesg | grep -i elan
[   11.142957] psmouse serio4: elantech: assuming hardware version 4 (with firmware version 0x381fa2)
[   11.158127] psmouse serio4: elantech: Synaptics capabilities query result 0x10, 0x14, 0x0e.
[   11.173971] psmouse serio4: elantech: Elan sample query result 05, 1b, 64
[   11.249487] input: ETPS/2 Elantech Touchpad as /devices/platform/i8042/serio4/input/input14


with
Code:

INPUT_DEVICES="libinput synaptics"

and
Code:

CONFIG_I2C_DESIGNWARE_CORE=y
CONFIG_I2C_DESIGNWARE_SLAVE=y
CONFIG_I2C_DESIGNWARE_PLATFORM=y
CONFIG_I2C_DESIGNWARE_AMDPSP=y
CONFIG_I2C_DESIGNWARE_BAYTRAIL=y
CONFIG_I2C_DESIGNWARE_PCI=y

CONFIG_MOUSE_PS2_ELANTECH=y
CONFIG_MOUSE_PS2_ELANTECH_SMBUS=y



Touchpad works fine.
I am not sure why it fails in your case.
Maybe firmware related?
Try also
Code:

modprobe i8042

Do you have
Code:

CONFIG_SERIO_I8042=m

_________________
:)
Back to top
View user's profile Send private message
jwnhy
n00b
n00b


Joined: 10 Aug 2022
Posts: 11

PostPosted: Wed Aug 10, 2022 9:57 am    Post subject: Reply with quote

alamahant wrote:
This is what i get from dmesg
Code:

dmesg | grep -i elan
[   11.142957] psmouse serio4: elantech: assuming hardware version 4 (with firmware version 0x381fa2)
[   11.158127] psmouse serio4: elantech: Synaptics capabilities query result 0x10, 0x14, 0x0e.
[   11.173971] psmouse serio4: elantech: Elan sample query result 05, 1b, 64
[   11.249487] input: ETPS/2 Elantech Touchpad as /devices/platform/i8042/serio4/input/input14


with
Code:

INPUT_DEVICES="libinput synaptics"

and
Code:

CONFIG_I2C_DESIGNWARE_CORE=y
CONFIG_I2C_DESIGNWARE_SLAVE=y
CONFIG_I2C_DESIGNWARE_PLATFORM=y
CONFIG_I2C_DESIGNWARE_AMDPSP=y
CONFIG_I2C_DESIGNWARE_BAYTRAIL=y
CONFIG_I2C_DESIGNWARE_PCI=y

CONFIG_MOUSE_PS2_ELANTECH=y
CONFIG_MOUSE_PS2_ELANTECH_SMBUS=y



Touchpad works fine.
I am not sure why it fails in your case.
Maybe firmware related?
Try also
Code:

modprobe i8042

Do you have
Code:

CONFIG_SERIO_I8042=m


I have tried those without luck.

CONFIG_SERIO_I8042=y on my side, looks like some other config forces it to do so.
Back to top
View user's profile Send private message
alamahant
Advocate
Advocate


Joined: 23 Mar 2019
Posts: 3879

PostPosted: Wed Aug 10, 2022 12:48 pm    Post subject: Reply with quote

How about
Code:

grep -i synaptic /usr/src/linux/.config

_________________
:)
Back to top
View user's profile Send private message
jwnhy
n00b
n00b


Joined: 10 Aug 2022
Posts: 11

PostPosted: Wed Aug 10, 2022 1:34 pm    Post subject: Reply with quote

alamahant wrote:
How about
Code:

grep -i synaptic /usr/src/linux/.config


Code:

CONFIG_MOUSE_PS2_SYNAPTICS=y
CONFIG_MOUSE_PS2_SYNAPTICS_SMBUS=y
CONFIG_MOUSE_SYNAPTICS_I2C=y
CONFIG_MOUSE_SYNAPTICS_USB=y


Looks good to me? Is there anything that isn't supposed to be enabled?
Back to top
View user's profile Send private message
jwnhy
n00b
n00b


Joined: 10 Aug 2022
Posts: 11

PostPosted: Wed Aug 10, 2022 2:05 pm    Post subject: Reply with quote

I solved this matter in an unreasonable way....

Just enable all CONFIG_PINCTRL_<CPU Gen> under Intel Pin Control Drivers.

Don't just enable Alderlake...

I dnk why, but I am astonished....
Back to top
View user's profile Send private message
jwnhy
n00b
n00b


Joined: 10 Aug 2022
Posts: 11

PostPosted: Wed Aug 10, 2022 2:18 pm    Post subject: Solution Reply with quote

More specific solution is as to enable ALL the following.

Code:

CONFIG_PINCTRL_BAYTRAIL=y
CONFIG_PINCTRL_CHERRYVIEW=y
CONFIG_PINCTRL_LYNXPOINT=y
CONFIG_PINCTRL_INTEL=y
CONFIG_PINCTRL_ALDERLAKE=y
CONFIG_PINCTRL_BROXTON=y
CONFIG_PINCTRL_CANNONLAKE=y
CONFIG_PINCTRL_CEDARFORK=y
CONFIG_PINCTRL_DENVERTON=y
CONFIG_PINCTRL_ELKHARTLAKE=y
CONFIG_PINCTRL_EMMITSBURG=y
CONFIG_PINCTRL_GEMINILAKE=y
CONFIG_PINCTRL_ICELAKE=y
CONFIG_PINCTRL_JASPERLAKE=y
CONFIG_PINCTRL_LAKEFIELD=y
CONFIG_PINCTRL_LEWISBURG=y
CONFIG_PINCTRL_SUNRISEPOINT=y
CONFIG_PINCTRL_TIGERLAKE=y
Back to top
View user's profile Send private message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 4149
Location: Bavaria

PostPosted: Wed Aug 10, 2022 2:18 pm    Post subject: Reply with quote

jwnhy wrote:
I solved this matter in an unreasonable way....

Just enable all CONFIG_PINCTRL_<CPU Gen> under Intel Pin Control Drivers.

Don't just enable Alderlake...

Have you enabled them as <M>odule ? If yes, what shows "lsmod" ? Maybe you need another module than alderlake ?
Back to top
View user's profile Send private message
jwnhy
n00b
n00b


Joined: 10 Aug 2022
Posts: 11

PostPosted: Wed Aug 10, 2022 2:40 pm    Post subject: Reply with quote

pietinger wrote:
jwnhy wrote:
I solved this matter in an unreasonable way....

Just enable all CONFIG_PINCTRL_<CPU Gen> under Intel Pin Control Drivers.

Don't just enable Alderlake...

Have you enabled them as <M>odule ? If yes, what shows "lsmod" ? Maybe you need another module than alderlake ?


Sadly, mark them as "M" doesn't work, my guess is that this detection happens in the early stage of booting.

I'm currently bisecting to locate the module needed
Back to top
View user's profile Send private message
jwnhy
n00b
n00b


Joined: 10 Aug 2022
Posts: 11

PostPosted: Wed Aug 10, 2022 2:55 pm    Post subject: Solution & possible reason Reply with quote

After serveral rebooting, my guess is that just enabling
Code:
CONFIG_PINCTRL_TIGERLAKE=y

is sufficient if you're using AlderLake(12 Gen)/TigerLake(11 Gen).

One possible reason for this strange case is that "AlderLake" Pinctrl Driver isn't fully ready or contains potential bugs?

Anyway, case solved.
Thanks!
Back to top
View user's profile Send private message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 4149
Location: Bavaria

PostPosted: Wed Aug 10, 2022 4:13 pm    Post subject: Reply with quote

Also, thank you back for your feedback.

Have fun with Gentoo ! ;-)
Back to top
View user's profile Send private message
user169291
n00b
n00b


Joined: 08 Aug 2022
Posts: 13

PostPosted: Wed Aug 10, 2022 5:57 pm    Post subject: Reply with quote

May I ask how you figured this out? I didn't even hesitate to enable only the PINCTRL_ALDERLAKE pin controller.
Back to top
View user's profile Send private message
jwnhy
n00b
n00b


Joined: 10 Aug 2022
Posts: 11

PostPosted: Thu Aug 11, 2022 1:05 am    Post subject: Reply with quote

user169291 wrote:
May I ask how you figured this out? I didn't even hesitate to enable only the PINCTRL_ALDERLAKE pin controller.


LOL, tried everything around ELAN|SYNAPTICS|LPSS|...

Then I try to enable all related options, if not working then only keeps necessary ones...

Luckily it worked, when it comes to Pinctrl Driver.

Just one final desprerate try(if not working, I will just go get some binary kernel...)
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum