Touchpad is not recognized on Lenovo Ideapad 330S-14IKB

Hello,

I have banging my head to the wall for 2 weeks already and I could not find a solution to activate the touchpad on my laptop. So below are all the info I thought to post, if you think I should present more please let me know:

FreeBSD: FreeBSD-12.0-STABLE-amd64-20190321-r345358 from 21.03.2019

Laptop model: Lenovo Ideapad 330S-14IKB, Core I3 7020U Kaby Lake processor with Intel HD Graphics 620, I really don't know the type of touchpad I have, dmidecode shows the following:
Code:
Handle 0x002B, DMI type 21, 7 bytes
Built-in Pointing Device
    Type: Touch Pad
    Interface: PS/2
    Buttons: 4
while dmesg shows the following:
Code:
ig4iic_pci0: <Intel Sunrise Point-LP I2C Controller-0> mem 0xb1133000-0xb1133fff irq 16 at device 21.0 on pci0
ig4iic_pci0: Using MSI
pci0: <simple comms> at device 22.0 (no driver attached)
I have enabled the following in /etc/rc.conf:
Code:
zfs_enable="YES"
hald_enable="YES"
dbus_enable="YES"
slim_enable="YES"
kld_list="/boot/modules/i915kms.ko"
moused_enable="YES"
and in /boot/loader.conf:
Code:
ig4_load="YES"
hw.psm.synaptics_support="1"
hw.psm.elantech_support="1"
hw.psm.trackpoint_support="1"
and in /etc/sysctl.conf:
Code:
kern.evdev.rcpt_mask=12
Is there something that I'm not doing right, in dmesg I see 2 issues:
Code:
pci0: no driver attached
and Intel Sunrise Point-LP I2C Controller instead of expected Intel Sunrise Point-H Controller as per ig4_pci.c from /sys/dev/ichiic/ig4_pci.c

Can you please help me to activate the touchpad? It's really annoying to be force to carry a mouse all the time.

Thanks a lot in advance!!!
 
ig4(4) has nothing to do with mice, it's for I2C and is commonly used with smbus(4). Your touchpad has a PS/2 interface, so you would only need to enable moused(8). I'd also remove the hw.psm. sysctls.
 
ig4(4) has nothing to do with mice, it's for I2C and is commonly used with smbus(4). Your touchpad has a PS/2 interface, so you would only need to enable moused(8). I'd also remove the hw.psm. sysctls.

Hi and thanks for feedback
moused is already enabled, I have removed all hw.psm from /boot/loader.conf

Still the touchpad is not active. Any other ideas?
 
I have attached the dmesg result, no psm devices present. I think the touchpad is connected via I2C.
 

Attachments

  • dmesg.txt
    28.9 KB · Views: 380
I think the touchpad is connected via I2C.
It's not. I2C is used for the system's management bus (sensors, power control, that sort of thing). It has never been used for mice.

Make sure to remove your USB mouse. If I recall correctly some laptops automagically switch off the touchpad if an external mouse is detected.
 
Salut, you need to add
Code:
hw.psm.elantech_support="1"
in /boot/loader.conf and have x11/libsynaptics and x11-drivers/xf86-input-synaptics installed on your system. Also it may be needed to add:
Code:
hw.psm.elantech.min_pressure=22
hw.psm.elantech.two_finger_scroll=0
hw.psm.elantech.vscroll_ver_area=-600
to etc/sysctl.conf for two-finger scrolling.
 
Hi again, I have removed FreeBSD 12 STABLE and installed Win 10 on the laptop, touchpad was recognized immediately as it was also the case on Ubuntu 18.10.
In the device manager manager it shows clearly that is connected via I2C but it does not show the brand of the producer. In the end this is a deal breaker for me since we are talking about a laptop, if it was a desktop would have been a different case.

Other hickups encountered which made me drop FreeBSD for the moment, maybe I'll come back in the future ... :
1. I could not mount an USB Blu-Ray drive neither with autofs nor with 3rd party tools like automount or DSBMD/DSBMC, USB HDD and Memory Sticks worked well. MakeMKV does not exist on FreeBSD except a very limited version which is very old, hence no chance to use the laptop in case I want to rip a blu-ray disk.
2. HPLIP for HP printer did not work, neither from pkg nor from ports, it failed to install due to a missing 32 bits library and I did not manage to use my HP with CUPS.
3. HW Video acceleration with MPV and VAAPI / libva-intel-media-driver worked quite well (24-30% CPU load vs. 3-5% in Windows with DXVA) but only in windowed mode, in full screen the video had constant frame drops and was not fluid.
4. I could not install VLC even from ports.
5. No chance to make sleep / resume working on this laptop.
6. drm-kmod and Compton compositor ensured beautiful graphics and no tearing whatsoever but I've spotted constant glitches on sub-menus of Cairo dock.
7. Lack of 802.11ac support was very obvious when I tried to stream through wifi a blu-ray mkv rip from my FreeNAS.

I really tried for 3 weeks to have a working FreeBSD laptop with everything that I can find in one click on either Windows or Linux but I had to admit that it's really is not there yet. Otherwise it's a masterpiece of stability / no freeze whatsoever no matter how hard I tried (in Ubuntu I had 2-3 screen freezes, 1 kernel panic and multiple looping errors, for Windows I won't even bother to list all the issues I have ...). The OS in its self is very easy to learn and understand: at the beginning of this 3 weeks journey I had never used before a BSD system (Linux does not count here) and in 2 weeks I was able to understand the minimum commands that you need to be able to surf through it. It really is a pity that the end user experience is still in an early phase otherwise I would trade w/o regrets any flavor of Linux or Windows for the stability of FreeBSD.

I will keep watching the evolution of the FreeBSD and most probably will try again when 13 will be ready.
 
You picked the wrong laptop to install FreeBSD, most of us here are using Thinkpads X or T series because they have the best support. Most of the drivers for Thinkpads are coming from OpenBSD or NetBSD because developers there are using them, not like FreeBSD developers who are using MacBooks. If you really want to use FreeBSD then for 150€ you can buy a cheap T430/T440 from olx or okazii.
 
You picked the wrong laptop to install FreeBSD, most of us here are using Thinkpads X or T series because they have the best support. Most of the drivers for Thinkpads are coming from OpenBSD or NetBSD because developers there are using them, not like FreeBSD developers who are using MacBooks. If you really want to use FreeBSD then for 150€ you can buy a cheap T430/T440 from olx or okazii.
Merci!
 
So, this is a little late, but I wound up here more than once. You can get the touchpad to work using the information at D16698 mentioned above. It will not build on 13.0-CURRENT or 12-STABLE at present. However, it will build on 12-RELEASE and 12.1-PRERELEASE. If you decide to apply the patches to get the touchpad be advised that it will be extremely difficult to use. Off while typing doesn't work, there is no two finger scroll, and I could not find a way to turn off/decrease the sensitivity for tapping either. I am running 13.0-CURRENT on this exact model at the moment, because I want to start learning about kernel development and I figured the touchpad might be an okay place to start. The major issue with this touchpad (as far as I can tell) is that the touchpad is i2c, but managed through ACPI. There are some other models that are managed through the PCI bus and they seem to have better working support. Going by what I have read on the lists and everywhere else, this is an area of active development. I went with a wireless USB mouse at the moment. Honestly, I will be buying a Thinkpad in 2020, I'm holding out for a moment while I plan the system. If you absolutely MUST have the Lenovo 330s in any of it's myriad variants, the touchpad will work on OpenBSD. I will be putting together a post at some point that will have all of the information I have a massed on getting this machine to work, Graphics, Sound, USB, PCIe NVME, Network, Suspend/Resume (it does work on 12-RELEASE, 12-STABLE, 12.1-PRERELEASE, and 13.0-CURRENT) etc. I'm sorry I don't have a timeline on when I will have this done, I am extremely busy at work right now, and I have little free time...

<Begin Rant>
So, I am guilty of this as well, but I have seen quite a bit of ill will and nonsense while playing around trying to get this machine to behave as expected. I'm going to take a minute to throw a couple of things out there; feel free to agree or disagree.

You want to run a desktop on FreeBSD? Go for it. It can do that. It can do that really well actually, but there are a few caveats...
a) FreeBSD as far as I know (correct me if I'm wrong) has always been more of a server operating system. This means that graphical environments are not necessarily a priority for the development team. (They do work really hard on it though. So much progress has been made since I last used FreeBSD in 2012)
b) Stop the Windows/Linux(sadly) operating model of {Buy a machine, slap the OS on there, complain about lack of hardware support} RESEARCH the OS first, THEN make an educated decision on what hardware to buy. Apple follows this operating model, and they have the most seamless experience I have ever seen. You can have that too. If you would like to explore the mobile aspect of FreeBSD, this is the path you should take, or you will be pulling your hair out. exists for this purpose...
c) FreeBSD is highly configurable. The upside is that you can do pretty much whatever you want with it. The downside is that you have to configure it. If that bugs you, pick a different OS. There is a post on the forums somewhere that reads, "If FreeBSD stopped you from doing dumb things, it would stop you from doing clever things as well." Those are words to live by.
d) Finally, I have gone through many forum posts trying to find solutions to various issues. I see the OP threatening to go back to Windows, Linux, et al. People, please stop that. No one is lying awake at night because you're back on Windows. Stop trying to get results this way.
</ rant>
 
Last edited by a moderator:
  • Like
Reactions: mro
Hi all, I came across this thread as I have the same issue with the touchpad not working on a Lenovo ideapad.
Is anyone aware of any update on this topic? Thanks and happy freeBSD hacking!
 
I have the same issue with the touchpad not working on a Lenovo ideapad.
Is anyone aware of any update on this topic?
It indeed looks to be a i2c device. Try this driver. However, you may need FreeBSD 13.0, but it's worth trying with 12.1.
You'll need to install FreeBSD source, get that driver's source code and build it by running make in its directory. Pretty straight forward. When loaded, it creates new /dev/input/eventX device(s), so can be used with X. As far as I know, it's not suitable for console yet.
 
I am having much the same trouble with the touchpad on this Acer Aspire One I am working with. The touchpad is, most likely, I2C based. I'll try the suggested driver mentioned immediately above, and thanks.

Ken Gordon
 
<Begin Rant>
d) Finally, I have gone through many forum posts trying to find solutions to various issues. I see the OP threatening to go back to Windows, Linux, et al. People, please stop that. No one is lying awake at night because you're back on Windows. Stop trying to get results this way.
</ rant>

Hi and sorry for late reply! I think you got it all wrong, please read carefully what I have written before making judgement. I did not threaten in anyway that if I do not get help I will switch to Linux/Windows ... I did it directly. A Thinkpad, new not used, is out of reach of my pocket so yeah the fact that FreeBSD is butter smooth on it kind of defeats its purpose of a free OS but this is another discussion. I highly praise FreeBSD for the work of all volunteers who contribute to the source code or maintain the ports, I even use it on a day to day basis as a home server in the form of FreeNAS and UTM in the form of PFSense. However in the laptop territory it does not perform well, not now, maybe will be rock solid in the future. For me it was quite an experience to make it work on this specific model of laptop and I tried hardly to succeed since I was amazed by its stability in operation. What I tried with this post was to find help from fellow tinkerers with some specific issues and not to complain at all about something missing in FreeBSD so please stop ranting just for the sake of ranting otherwise your comments have 0 (zero) value added for the community! Thanks in advance!
 
Hi there You can try the following

1) Install iichid
# pkg install iichid

2) Load module to kernel
# kldload iichid

With that you should already have the touchpad working

3) In /etc/rc.conf
kld_list="iichid etc etc etc"

best regards
Jose
 
For future reference, there is now an easy solution for I2C touchpads....

There is a recent article on the FreeBSD Foundation website, and it appears iichid is now included in 13.0-RELEASE. Just add the appropriate bits to /boot/loader.conf and reboot.
 
  • Like
Reactions: mro
Back
Top