Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Lenovo touchpad is not working [SOLVED]
View unanswered posts
View posts from last 24 hours

Goto page 1, 2  Next  
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
RIA77
Guru
Guru


Joined: 24 Feb 2016
Posts: 405

PostPosted: Sun Feb 05, 2023 1:22 pm    Post subject: Lenovo touchpad is not working [SOLVED] Reply with quote

Hello, I have Lenovo V15 g2, touchpad is not working. Amd Ryzen 5500u here.
I have tried to enable HID I2C, but without sucess.
I have Artix linux, it seems that touchpad is displayed as "ideapad extra buttons". How can I check drivers in Artix in order to make Gentoo work ?


Last edited by RIA77 on Sun Feb 12, 2023 11:50 am; edited 1 time in total
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54782
Location: 56N 3W

PostPosted: Sun Feb 05, 2023 1:59 pm    Post subject: Reply with quote

RIA77,

Pastebin your kernel config file please.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
Zucca
Moderator
Moderator


Joined: 14 Jun 2007
Posts: 3893
Location: Rasi, Finland

PostPosted: Sun Feb 05, 2023 2:11 pm    Post subject: Reply with quote

    Unplug your charger.
    Does the touchpad work then?
I've witnessed that poorly- or non- grounded charger can stop touchpad from working on some Lenovo laptops.
_________________
..: Zucca :..

My gentoo installs:
init=/sbin/openrc-init
-systemd -logind -elogind seatd

Quote:
I am NaN! I am a man!
Back to top
View user's profile Send private message
RIA77
Guru
Guru


Joined: 24 Feb 2016
Posts: 405

PostPosted: Sun Feb 05, 2023 3:06 pm    Post subject: Reply with quote

Zucca wrote:
    Unplug your charger.
    Does the touchpad work then?
I've witnessed that poorly- or non- grounded charger can stop touchpad from working on some Lenovo laptops.

No, it just won't work.

Here is my config file

http://dpaste.com/79MJ8UUWL
Back to top
View user's profile Send private message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 5347
Location: Bavaria

PostPosted: Sun Feb 05, 2023 4:54 pm    Post subject: Reply with quote

RIA 77,

the easiest method to get all needed modules is: Boot with a distribution of your choice where the touchpad works (e.g. Artix) and do a "lsmod". Notice all modules and you will see what you need.

If ... IF ... you know your touchpad is connected via I2C THEN you are missing some important options in your kernel configuration:

First of all ... it as an AMD ... this is CORRECT:
Code:

# CONFIG_X86_INTEL_LPSS is not set
CONFIG_X86_AMD_PLATFORM_DEVICE=y
CONFIG_EXTRA_FIRMWARE="/amd-ucode/microcode_amd_fam17h.bin"

This is WRONG ... you will nees AMD and NOT Intel:
Code:
# CONFIG_I2C_AMD756 is not set
# CONFIG_I2C_AMD8111 is not set
# CONFIG_I2C_AMD_MP2 is not set
CONFIG_I2C_I801=y


i2c doesnt work without PINCTRL ... for AMD it is:
Code:
# CONFIG_PINCTRL_AMD is not set

You have enabled many HID modules ... but not the only one you maybe will need:
Code:
# CONFIG_HID_MULTITOUCH is not set

and this is necessary in every case:
Code:
# CONFIG_I2C_HID_ACPI is not set


IF you have a Designware Controller you will need also:
Code:
# CONFIG_I2C_DESIGNWARE_PLATFORM is not set
# CONFIG_PCIE_DW_PLAT_HOST is not set

# CONFIG_I2C_DESIGNWARE_PCI is not set

(but try first without - OR - look into your output of "lsmod")
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54782
Location: 56N 3W

PostPosted: Sun Feb 05, 2023 5:08 pm    Post subject: Reply with quote

pietinger,

The Intel/AMD divide is not as clear cut as anyone would like.

My AMD X570 board needs
Code:
CONFIG_I2C_PIIX4=y

That's an Intel option, originally too. PIIX4 is a very old Intel chipset.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 5347
Location: Bavaria

PostPosted: Sun Feb 05, 2023 5:12 pm    Post subject: Reply with quote

NeddySeagoon wrote:
pietinger,

The Intel/AMD divide is not as clear cut as anyone would like.

My AMD X570 board needs
Code:
CONFIG_I2C_PIIX4=y

That's an Intel option, originally too. PIIX4 is a very old Intel chipset.

Neddy,

thanks a lot for this hint. You have a desktop machine ? OP has a (modern) notebook (where I know these kind of machines shouldnt use these old chipset). Of course: Best is to check with "lsmod" - then you know for sure what you have ;-)
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54782
Location: 56N 3W

PostPosted: Sun Feb 05, 2023 5:21 pm    Post subject: Reply with quote

pietinger,

A long time ago AMD made processors under licence from Intel. Think i386 and i486 ... I don't think they made pentiums. They did their own thing thing with the k6 range.
Intel didn't like AMD as they made faster processor than Intel did :)

Nobody uses the PIIX4 chip set any more, well, its still to be seen inside Virtualbox but that's emulated, however the interface hangs around like a bad smell.

Every IBM clone still has the the ISA bus inside too ... but the less said about that the better.
Sensors are often attached to it,

As you say, use lsmod get the detail from something that works.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
RIA77
Guru
Guru


Joined: 24 Feb 2016
Posts: 405

PostPosted: Fri Feb 10, 2023 10:21 pm    Post subject: Reply with quote

Code:
e                  Size  Used by
fuse                  163840  2
qrtr                   20480  4
ns                     28672  1 qrtr
joydev                 28672  0
binfmt_misc            24576  1
snd_hda_codec_realtek   143360  1
snd_hda_codec_generic    90112  1 snd_hda_codec_realtek
snd_hda_codec_hdmi     69632  1
ledtrig_audio          16384  1 snd_hda_codec_generic
intel_rapl_msr         20480  0
rtw88_8822ce           16384  0
intel_rapl_common      28672  1 intel_rapl_msr
amdgpu               7430144  2
rtw88_8822c           479232  1 rtw88_8822ce
hid_multitouch         32768  0
wmi_bmof               16384  0
snd_hda_intel          49152  6
rtw88_pci              28672  1 rtw88_8822ce
rtw88_core            155648  2 rtw88_pci,rtw88_8822c
snd_intel_dspcfg       28672  1 snd_hda_intel
edac_mce_amd           36864  0
snd_intel_sdw_acpi     20480  1 snd_intel_dspcfg
mac80211             1069056  2 rtw88_pci,rtw88_core
snd_hda_codec         143360  4 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek
iommu_v2               24576  1 amdgpu
gpu_sched              36864  1 amdgpu
kvm_amd               135168  0
snd_hda_core           90112  5 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek
i2c_algo_bit           16384  1 amdgpu
drm_ttm_helper         16384  1 amdgpu
uvcvideo              118784  0
ttm                    69632  2 amdgpu,drm_ttm_helper
btusb                  61440  0
libarc4                16384  1 mac80211
snd_hwdep              16384  1 snd_hda_codec
btrtl                  28672  1 btusb
videobuf2_vmalloc      20480  1 uvcvideo
kvm                   901120  1 kvm_amd
dm_multipath           40960  0
drm_kms_helper        245760  1 amdgpu
snd_pcm               126976  4 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_core
videobuf2_memops       20480  1 videobuf2_vmalloc
btbcm                  20480  1 btusb
btintel                40960  1 btusb
videobuf2_v4l2         28672  1 uvcvideo
cec                    53248  1 drm_kms_helper
videobuf2_common       61440  4 videobuf2_vmalloc,videobuf2_v4l2,uvcvideo,videobuf2_memops
irqbypass              16384  1 kvm
snd_timer              45056  1 snd_pcm
crct10dif_pclmul       16384  1
cfg80211              897024  2 rtw88_core,mac80211
bluetooth             610304  5 btrtl,btintel,btbcm,btusb
drm                   491520  7 gpu_sched,drm_kms_helper,amdgpu,drm_ttm_helper,ttm
videodev              237568  3 videobuf2_v4l2,uvcvideo,videobuf2_common
snd_pci_acp5x          20480  0
ghash_clmulni_intel    16384  0
ideapad_laptop         28672  0
snd                   102400  20 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_pcm
sparse_keymap          16384  1 ideapad_laptop
ecdh_generic           16384  1 bluetooth
mc                     53248  4 videodev,videobuf2_v4l2,uvcvideo,videobuf2_common
soundcore              16384  1 snd
rapl                   16384  0
serio_raw              20480  0
pcspkr                 16384  0
sp5100_tco             20480  0
snd_rn_pci_acp3x       20480  0
platform_profile       16384  1 ideapad_laptop
k10temp                16384  0
rfkill                 32768  4 bluetooth,ideapad_laptop,cfg80211
ccp                   102400  1 kvm_amd
snd_pci_acp3x          20480  0
i2c_piix4              28672  0
wmi                    32768  2 wmi_bmof,ideapad_laptop
i2c_hid_acpi           16384  0
i2c_hid                32768  1 i2c_hid_acpi
video                  57344  1 ideapad_laptop
acpi_cpufreq           28672  0
crc32_pclmul           16384  0
crc32c_intel           24576  0
nvme                   45056  0
uas                    32768  0
nvme_core             122880  1 nvme
r8169                  98304  0

Back to top
View user's profile Send private message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 5347
Location: Bavaria

PostPosted: Fri Feb 10, 2023 10:50 pm    Post subject: Reply with quote

Can we expect some explanation to this lsmod ?

Something like: It is from an other distribution where it works. It is from my system and now it is working. It is from my system and touchpad doesnt work ...
Back to top
View user's profile Send private message
RIA77
Guru
Guru


Joined: 24 Feb 2016
Posts: 405

PostPosted: Fri Feb 10, 2023 11:41 pm    Post subject: Reply with quote

Touchpad is working in Ex Gent. This is lsmod from ExGent.
Back to top
View user's profile Send private message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 5347
Location: Bavaria

PostPosted: Sat Feb 11, 2023 12:37 am    Post subject: Reply with quote

RIA77 wrote:
Touchpad is working in Ex Gent. This is lsmod from ExGent.

Great.

So, Neddy was right, you will need i2c_piix4

Also: hid_multitouch and i2c_hid_acpi. Because i2c needs pinctrl and there is no module, I think it is static in this kernel.

Now, have you done your configuration according to this ?
Back to top
View user's profile Send private message
RIA77
Guru
Guru


Joined: 24 Feb 2016
Posts: 405

PostPosted: Sat Feb 11, 2023 11:12 am    Post subject: Reply with quote

Enabled all, but touchpad won't work.

Current state of my config.

http://dpaste.com/F7EFBFSED
Back to top
View user's profile Send private message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 5347
Location: Bavaria

PostPosted: Sat Feb 11, 2023 11:52 am    Post subject: Reply with quote

RIA77,

your kernel configuration looks fine ... maybe you are only missing designware:
Code:
Device Drivers  --->
    [*] PCI support  --->
        PCI controller drivers  --->
            DesignWare PCI Core Support  --->
                [*] Platform bus based DesignWare PCIe Controller - Host mode
  I2C support  --->
    [*]   ACPI I2C Operation region support
    <*>   I2C device interface
    <*>   I2C bus multiplexing support
    [*]   Autoselect pertinent helper modules
    I2C Hardware Bus support  --->
      <*> Intel PIIX4 and compatible (ATI/AMD/Serverworks/Broadcom/SMSC
      <*> SMBus Control Method Interface
      <*> Synopsys DesignWare Platform
      <*> Synopsys DesignWare PCI
Back to top
View user's profile Send private message
logrusx
Advocate
Advocate


Joined: 22 Feb 2018
Posts: 2656

PostPosted: Sat Feb 11, 2023 12:24 pm    Post subject: Reply with quote

In addition to others, I have to say that I have a Legion and I think it has the same touchpad and wiring. I can't explain why, but genkernel seems to be unable to produce an intramfs that is capable of bringing my touchpad up. I wondered why it worked with gentoo-kernel and noticed it used dracut. I decided to try it and it seems dracut does something genkernel does not, because since then I haven't had an issue with the touchpad.

If you use initramfs which I believe you should be as this is an UEFI boot, try dracut.

p.s. I can confirm pietinger's suggestion as unloading the designware platform module shuts down the touchpad and modprobing it again fixes it.

Best Regards,
Georgi
Back to top
View user's profile Send private message
RIA77
Guru
Guru


Joined: 24 Feb 2016
Posts: 405

PostPosted: Sun Feb 12, 2023 11:50 am    Post subject: Reply with quote

pietinger wrote:
RIA77,

your kernel configuration looks fine ... maybe you are only missing designware:
Code:
Device Drivers  --->
    [*] PCI support  --->
        PCI controller drivers  --->
            DesignWare PCI Core Support  --->
                [*] Platform bus based DesignWare PCIe Controller - Host mode
  I2C support  --->
    [*]   ACPI I2C Operation region support
    <*>   I2C device interface
    <*>   I2C bus multiplexing support
    [*]   Autoselect pertinent helper modules
    I2C Hardware Bus support  --->
      <*> Intel PIIX4 and compatible (ATI/AMD/Serverworks/Broadcom/SMSC
      <*> SMBus Control Method Interface
      <*> Synopsys DesignWare Platform
      <*> Synopsys DesignWare PCI


Yes, that was missing.
Back to top
View user's profile Send private message
RIA77
Guru
Guru


Joined: 24 Feb 2016
Posts: 405

PostPosted: Thu Apr 20, 2023 8:01 am    Post subject: Reply with quote

No multilib here.

Code:
CONFIG_I2C_DESIGNWARE_PLATFORM

I can't find this entry in config. Am I missing something ?

http://dpaste.com/AMWVGHNMG

My config file. Thank you.
Back to top
View user's profile Send private message
logrusx
Advocate
Advocate


Joined: 22 Feb 2018
Posts: 2656

PostPosted: Thu Apr 20, 2023 9:22 am    Post subject: Reply with quote

RIA77 wrote:
No multilib here.

Code:
CONFIG_I2C_DESIGNWARE_PLATFORM

I can't find this entry in config. Am I missing something ?

http://dpaste.com/AMWVGHNMG

My config file. Thank you.


Open menuconfig and prezz / then type what you're looking for and see its location. What version is this? Options may have moved around the menus.

Here's what modules are loaded for my touchpad:

Code:
lsmod | grep -E "i2c|hid"
hid_multitouch         32768  0
i2c_designware_platform    16384  0
i2c_designware_core    32768  1 i2c_designware_platform
i2c_hid_acpi           16384  0
i2c_hid                32768  1 i2c_hid_acpi


Try with a dist kernel as well. For fastest results - gentoo-kernel-bin. The difference with non-bin version is non-bin is compiled on your computer, but it should be identical to the bin version. If the dist kernel works, we'll take it from there.

It might be some of the Elan options, also GPIO, for example CONFIG_I2C_GPIO, but please run the distkernel and paste the output of the command above I've posted.

Also see pietinger's post about those things, don't mind the language if you don't understand it, just follow the options.

@pietinger, why are you not referencing your own post? :)

Best Regards,
Georgi
Back to top
View user's profile Send private message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 5347
Location: Bavaria

PostPosted: Thu Apr 20, 2023 11:31 am    Post subject: Reply with quote

RIA77 wrote:
No multilib here.

Code:
CONFIG_I2C_DESIGNWARE_PLATFORM

I can't find this entry in config. Am I missing something ?

Yes: Device driver -> [*] Common Clock Framework --->

You can see it also in: /usr/src/linux/drivers/i2c/busses/Kconfig ->

Quote:
config I2C_DESIGNWARE_PLATFORM
tristate "Synopsys DesignWare Platform"
depends on (ACPI && COMMON_CLK) || !ACPI
select I2C_DESIGNWARE_CORE
select MFD_SYSCON if MIPS_BAIKAL_T1
help
If you say yes to this option, support will be included for the
Synopsys DesignWare I2C adapter.

This driver can also be built as a module. If so, the module
will be called i2c-designware-platform.
Back to top
View user's profile Send private message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 5347
Location: Bavaria

PostPosted: Thu Apr 20, 2023 11:35 am    Post subject: Reply with quote

logrusx wrote:
@pietinger, why are you not referencing your own post? :)

... just forgot ... :oops:

Thanks to you for this ! :D

Many Greetings,
Peter
Back to top
View user's profile Send private message
RIA77
Guru
Guru


Joined: 24 Feb 2016
Posts: 405

PostPosted: Thu Apr 20, 2023 1:31 pm    Post subject: Reply with quote

Quote:
Open menuconfig and prezz / then type what you're looking for and see its location. What version is this? Options may have moved around the menus.

Tried multiple times, but I can't find it.

Quote:
Yes: Device driver -> [*] Common Clock Framework --->

Ok, but there is no CONFIG_I2C_DESIGNWARE_PLATFORM ?
Back to top
View user's profile Send private message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 5347
Location: Bavaria

PostPosted: Thu Apr 20, 2023 1:47 pm    Post subject: Reply with quote

After enabling [*] Common Clock Framework ---> you should have:
Code:
Device Drivers  --->
    I2C support  --->
        I2C Hardware Bus support  --->
            [*] Synopsys DesignWare Platform

No ?
Back to top
View user's profile Send private message
RIA77
Guru
Guru


Joined: 24 Feb 2016
Posts: 405

PostPosted: Thu Apr 20, 2023 5:42 pm    Post subject: Reply with quote

Thank you, I succesfuly enabled it, but on multilib it just don't work.

Should I enable something more ?
Back to top
View user's profile Send private message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 5347
Location: Bavaria

PostPosted: Thu Apr 20, 2023 5:47 pm    Post subject: Reply with quote

It is strange ... in the last kernel .config you gave us, you had AMD_PLATFORM_DEVICE enabled ... and now you have:
Code:
# CONFIG_X86_AMD_PLATFORM_DEVICE is not set

Is this a new/another computer, or do you use a complete new kernel config ?

RIA77, please read also all documentation @logrusx and I have given you so far.
Back to top
View user's profile Send private message
RIA77
Guru
Guru


Joined: 24 Feb 2016
Posts: 405

PostPosted: Thu Apr 20, 2023 6:12 pm    Post subject: Reply with quote

Yep, no multilib here, solved! You were right!
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
Goto page 1, 2  Next
Page 1 of 2

 
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