You are not logged in.

#1 2015-10-26 21:56:00

fooblahblah
Member
Registered: 2010-06-29
Posts: 19

[CLOSED] Lenovo Yoga 900 trackpad not detected

I've recently picked up a Lenovo Yoga 900. Pretty sweet little machine with Skylake i7, 16 GB RAM and 512 GB SSD.

The following is working:

- Display (i915)
- Sound HDA Intel
- webcam
- suspend
- keyboard fn keys (sounds, brightness, etc)

Not working:

- Trackpad (it's a Synaptics I2C cause I check in Windoze)
- Touchscreen (I don't care about that)
- Wifi Intel 8260, which is suposed to be supported, but it appears the firmware is not loading

I'm currently running the 4.3-rc7 kernel, since 4.3 is when all the Skylake stuff was enabled by default.

My xinput output is as follows:

➜  ~  xinput                                                                                                                                                                                                                               
⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ Logitech USB Receiver                   	id=9	[slave  pointer  (2)]
⎜   ↳ Logitech USB Receiver                   	id=10	[slave  pointer  (2)]
⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
    ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
    ↳ Power Button                            	id=6	[slave  keyboard (3)]
    ↳ Video Bus                               	id=7	[slave  keyboard (3)]
    ↳ Power Button                            	id=8	[slave  keyboard (3)]
    ↳ Lenovo EasyCamera                       	id=11	[slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard            	id=12	[slave  keyboard (3)]

As far as I can tell the i2c device just isn't recognized.

I'm not too worried about the wifi as a I have a usb device which will work.

The trackpad is a show stopper though.

Anyone have any ideas? I've got until next Friday to return it smile

Last edited by Trilby (2015-12-31 16:35:37)

Offline

#2 2015-10-29 08:59:25

stoye
Member
Registered: 2015-09-12
Posts: 2

Re: [CLOSED] Lenovo Yoga 900 trackpad not detected

See this wiki page on touchpad synaptics. You should be able to just install xf86-input-synaptics, reboot and be right as rain with the touchpad.

Offline

#3 2015-11-03 12:51:43

llamajacker
Member
Registered: 2015-06-22
Posts: 1

Re: [CLOSED] Lenovo Yoga 900 trackpad not detected

I've been drooling over the yoga 900 and I'm curious if you've made progress with it. Have you gotten the touch pad (or the Wi-Fi/touchscreen) working since posting?

Offline

#4 2015-11-04 19:23:51

kimi2013
Member
From: OÖ/Wels
Registered: 2010-10-12
Posts: 22

Re: [CLOSED] Lenovo Yoga 900 trackpad not detected

not sure if it helps, but i have a lenovo u330p.

touchpad works only after i install: elantech-asustouchpad-dkms from aur.

Offline

#5 2015-11-14 12:02:53

fariza
Member
Registered: 2015-11-14
Posts: 4

Re: [CLOSED] Lenovo Yoga 900 trackpad not detected

After several hours reading too many posts criying and  swearing it was matter of recompiling the kernel to solve the trackpad, touchscreen and wifi issues


Add that little line to let the i2c (trackpad recognized)
http://comments.gmane.org/gmane.linux.drivers.i2c/25276

Create the equivalent section for this laptop, so the wfi is not reported as blocked by rfkill
https://github.com/torvalds/linux/commi … b788184e6b

Add the id of the wireless device
http://askubuntu.com/questions/693109/i … ed-network

Recompile the kernel and voila.

Last edited by fariza (2015-11-14 12:03:29)

Offline

#6 2015-11-15 14:31:52

pamaxa
Member
Registered: 2015-11-15
Posts: 1

Re: [CLOSED] Lenovo Yoga 900 trackpad not detected

fariza wrote:

After several hours reading too many posts criying and  swearing it was matter of recompiling the kernel to solve the trackpad, touchscreen and wifi issues


Add that little line to let the i2c (trackpad recognized)
http://comments.gmane.org/gmane.linux.drivers.i2c/25276

Create the equivalent section for this laptop, so the wfi is not reported as blocked by rfkill
https://github.com/torvalds/linux/commi … b788184e6b

Add the id of the wireless device
http://askubuntu.com/questions/693109/i … ed-network

Recompile the kernel and voila.

Hi fariza,
thanks a lot for your post.
It really saved me a lot of time )
I've made all 3 items but I still have problem with trackpad - looks like it is recognized but it doesn't work.
My distro is Ubuntu Gnome 15.10 and here is the output from xinput

xinput 
⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ SYNA2B29:00 06CB:77C6                   	id=12	[slave  pointer  (2)]
⎜   ↳ ELAN21EF:00 04F3:21EF                   	id=13	[slave  pointer  (2)]
⎜   ↳ RAPOO RAPOO 5G Wireless Device          	id=9	[slave  pointer  (2)]
⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
    ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
    ↳ Power Button                            	id=6	[slave  keyboard (3)]
    ↳ Video Bus                               	id=7	[slave  keyboard (3)]
    ↳ Power Button                            	id=8	[slave  keyboard (3)]
    ↳ Lenovo EasyCamera                       	id=11	[slave  keyboard (3)]
    ↳ Ideapad extra buttons                   	id=14	[slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard            	id=15	[slave  keyboard (3)]
    ↳ RAPOO RAPOO 5G Wireless Device          	id=10	[slave  keyboard (3)]

Could you give any advice about that ?

Thank you.
Best Regards.

Offline

#7 2015-11-15 21:53:25

fariza
Member
Registered: 2015-11-14
Posts: 4

Re: [CLOSED] Lenovo Yoga 900 trackpad not detected

Hi Pamaxa

Actually I'm also running ubuntu 15.10.

As I can see your trackpad is recognized, did you try cleaning whatever configuration you made trying to make it work?
Just in case, I'm did compile from 4.3 https://github.com/torvalds/linux/tree/v4.3

Offline

#8 2015-11-16 06:51:15

katyl
Member
Registered: 2008-07-21
Posts: 9

Re: [CLOSED] Lenovo Yoga 900 trackpad not detected

Recently got this laptop as well. I was going to try and compile a usable kernel for it. The gmane link just times out when I go there. Do you have specifics on what changes need to be made for the trackpad? I also don't have the laptop with me, does anyone have the dmi variable for the yoga 900?

Offline

#9 2015-11-16 14:36:17

fariza
Member
Registered: 2015-11-14
Posts: 4

Re: [CLOSED] Lenovo Yoga 900 trackpad not detected

Offline

#10 2015-11-16 17:35:32

katyl
Member
Registered: 2008-07-21
Posts: 9

Re: [CLOSED] Lenovo Yoga 900 trackpad not detected

Thank you, compiling a 4.3 kernel, with those modifications now. I appreciate the additional link.

Does this look right for the drv.c?

{IWL_PCI_DEVICE(0x24F3, 0x8086, iwl8260_2ac_cfg)},

Offline

#11 2015-11-16 22:56:24

fariza
Member
Registered: 2015-11-14
Posts: 4

Re: [CLOSED] Lenovo Yoga 900 trackpad not detected

katyl

Unless your subsystem id is different it should be {IWL_PCI_DEVICE(0x24F3, 0x1130, iwl8260_2ac_cfg)},

Offline

#12 2015-11-17 04:18:06

nutso_futso
Member
Registered: 2015-11-16
Posts: 1

Re: [CLOSED] Lenovo Yoga 900 trackpad not detected

Thank you fariza! Strong work! you made this powerful little laptop into a great machine for me. windows 10 is laughable, so I had to find a GNU/linux way in order to use this machine.

Just to share my experience for anyone who may benefit...
With farizas posts and links guiding the way, got it working with kernel 4.3 rc7 and the following changes

Wireless driver
in

drivers/net/wireless/iwlwifi/pcie/drv.c

- change the following line (line 433 in 4.3 rc7 NOT line 428 as in the 4.2 kernel & example in the backports solution)

     {IWL_PCI_DEVICE(0x24F4, 0x1130, iwl8260_2ac_cfg)},

to the following

     {IWL_PCI_DEVICE(0x24F3, 0x1130, iwl8260_2ac_cfg)},

(just change the last 4 to 3)

Solve RF kill problem
add the following to

/drivers/platform/x86/ideapad-laptop.c

(mine is at line 876)

	{
	.ident = "Lenovo YOGA 900",
		.matches = {
			DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
			DMI_MATCH(DMI_PRODUCT_VERSION, "Lenovo YOGA 900"),
		},
	},

by the way the above change in ideapad-laptop.c is added in later 4.3 kernel but there was a recursion issue between 2 modules in latest 4.3 that prevented me from compiling.

Trackpad/Touchscreen
add the following line to

/drivers/i2c/busses/i2c-designware-platdrv.c
	dev->sda_hold_time = 30;

mine is at line 113
should be after the line

        dw_i2c_acpi_params(pdev, "FMCN", &dev->fs_hcnt, &dev->fs_lcnt,
                           &dev->sda_hold_time);

compile and install kernel
I used the instructions at http://www.cyberciti.biz/faq/debian-ubu … ux-kernel/ to make *.deb packages.
Ran into an error with ssl 'openssl/opensslv.h: No such file or directory...' - solved by install of libssl-dev.

The one issue I am still having is that the trackpad/touchscreen fails after a lid close (but not after going to sleep from inactivity). Trackpad/touchscreen do work again after a logout. Not ideal, but fine for me, at least until I have a few hours to kill looking into it.

Thank you fariza!

Offline

#13 2015-11-20 12:13:32

Tom-1234
Member
Registered: 2015-11-20
Posts: 8

Re: [CLOSED] Lenovo Yoga 900 trackpad not detected

nutso_futso wrote:

........
The one issue I am still having is that the trackpad/touchscreen fails after a lid close (but not after going to sleep from inactivity). Trackpad/touchscreen do work again after a logout. Not ideal, but fine for me, at least until I have a few hours to kill looking into it.

Thank you fariza!

Lot of thanks to farizia and nutso_futso!
I have followed your solution and it works great! I also can confirm the issue with the standby after lid close.

Offline

#14 2015-11-21 14:21:40

DonRichie
Member
Registered: 2015-11-21
Posts: 11

Re: [CLOSED] Lenovo Yoga 900 trackpad not detected

Hi,

I followed the mentioned changes and didn't succeed yet.
I can confirm Kernel 4.4-rc1 has the necessary entry in "/drivers/platform/x86/ideapad-laptop.c".

My used kernel versions: 4.4-rc1 and 4.3.

Wifi adapter showed up, but I didn't find any networks. It was because of a soft-block rf-kill problem.
List status:

rfkill list all

"Fn+F7" solved the problem. (deactivated airplane mode).
I could successfull connect to my wlan.

Trackpad and touchscreen are not working at all.
I am still trying to solve the problems.

One Additional information:
To make the intel graphics driver work it is necessary to add this kernel parameter:

i915.preliminary_hw_support=1

In an EFI Setup for example in "/boot/loader/entries/arch.conf".
If this parameter isn't set you will encounter the error message "No screens found(EE)".

Regarding initramfs in combination with EFI-Boot:
I needed to modify /etc/mkinitcpio.conf like this
From:

HOOKS="base udev autodetect block modconf filesystems keyboard fsck"

To:

HOOKS="base udev block autodetect modconf filesystems keyboard fsck"

The error occuring on boot if it is not changed:

Error loading /vmlinuz-linux: Unsupported

Info found here: https://superuser.com/questions/769047/ … ux-install

I am not familiar with kernel development.
Will the mentioned code-manipulations be included in the future so that it won't be necessary to compile the kernel by hand?

Regards

Richie

Last edited by DonRichie (2015-11-21 22:08:43)

Offline

#15 2015-12-05 16:53:50

Tom-1234
Member
Registered: 2015-11-20
Posts: 8

Re: [CLOSED] Lenovo Yoga 900 trackpad not detected

Hello,
just one short remark concerning the occasionally failing touchpad / touchscreen after standby.
For me it always helps to just switch to an other console (Ctrl-Alt-F2) and then switching back to the Graphical console. This works with Ubuntu 15.10 and Arch Linux (both with kernel 4.3).

Tom

Offline

#16 2015-12-07 00:45:30

DonRichie
Member
Registered: 2015-11-21
Posts: 11

Re: [CLOSED] Lenovo Yoga 900 trackpad not detected

Hi,
at the moment I am using Kernel 4.4.0-rc3 with the ARCH default config from /proc/config.gz.
I boot via EFI boot and bootctl (systemd-boot).

I set this Kernel Parameter:

i915.preliminary_hw_support=1

Touchscreen and Touchpad are not working at the moment.
@Tom-1234: Your tipp unfortunately doesn't work for me.

dmesg says the following. only 3 lines which having the name i2c in it:

[    0.053082] DMAR: Host address width 39
[    0.053085] DMAR: DRHD base: 0x000000fed90000 flags: 0x0
[    0.053093] DMAR: dmar0: reg_base_addr fed90000 ver 1:0 cap 1c0000c40660462 ecap 7e3ff0505e
[    0.053097] DMAR: DRHD base: 0x000000fed91000 flags: 0x1
[    0.053102] DMAR: dmar1: reg_base_addr fed91000 ver 1:0 cap d2008c40660462 ecap f050da
[    0.053106] DMAR: RMRR base: 0x00000087c79000 end: 0x00000087c98fff
[    0.053109] DMAR: RMRR base: 0x00000089000000 end: 0x0000008b7fffff
[    0.053112] DMAR: ANDD device: 1 name: \_SB.PCI0.I2C0
[    0.053114] DMAR: ANDD device: 2 name: \_SB.PCI0.I2C1
[    0.053116] DMAR: ANDD device: 4 name: \_SB.PCI0.I2C3

Does anybody have an idea what I am missing?
My problem is the i2c-bus, but I don't know how to debug at the moment.

Edit: Loading synaptics_i2c via modprobe didn'help or change the message

Regards

Richard

Last edited by DonRichie (2015-12-07 02:26:21)

Offline

#17 2015-12-10 16:06:39

nacc
Member
Registered: 2015-12-10
Posts: 3

Re: [CLOSED] Lenovo Yoga 900 trackpad not detected

Just an FYI, I appreciate everyone's postings in this thread so far. Not necessarily directly related to Arch, but with the latest upstream kernel (4.4-rc4) + the 16-patch series at https://lkml.org/lkml/2015/11/30/441, and making sure that (ELAN touchscreen and Synaptics touchpad are enabled in your kernel .config), I can report that at least for Ubuntu GNOME 15.10 as the base, all hardware on my Yoga 900 is now functioning (Wireless, touchpad, touchscreen, graphics (without kernel command-line parameter). The above-mentioned patch series is queued for v4.5 per the maintainer. So I would expect a similar kernel base to work for Arch users.

Remaining usability issues -- touchscreen nuances (gestures, etc.) which seem to be resolveable with browser plug-ins and special apps; and screen rotation by default when in tablet or tent mode.

-Nish

Offline

#18 2015-12-10 23:48:34

DonRichie
Member
Registered: 2015-11-21
Posts: 11

Re: [CLOSED] Lenovo Yoga 900 trackpad not detected

Hello,

i upgraded to Kernel 4.4.0-rc4 and can confirm all changes mentioned above are already done in this version.
The kernel parameter also isn't necessary anymore.

Unfortunately my touchpad and touchscreen do not work yet. My .config is based upon the one provided by my ARCH Kernel like before. Basically "zcat /proc/config.gz".

In case it is obvious what I miss:

.config:
http://paste.ricl.de/view/7ed89e64

dmesg Output
http://paste.ricl.de/view/953cfe80

And my lsmod output:
http://paste.ricl.de/view/f3b58d65

Regards

Richard

Edit: Compiling the modules mentioned by nacc into the kernel by switching from "=m" to "=y" didn't help. Well, sort of expected that smile.

Last edited by DonRichie (2015-12-11 00:30:53)

Offline

#19 2015-12-11 18:45:23

nir
Member
Registered: 2015-12-11
Posts: 2

Re: [CLOSED] Lenovo Yoga 900 trackpad not detected

Hi everyone , I just got my yoga 900 and installed ubuntu 14.04 .
I did everything that  nutso_futso  and friza wrote  and the result is that I have wifi but the track pad and the touch screen still not working.
I want to try to use the patch from lkml but I don’t know how to install / download it can someone please explain?
thanks very much!!

Last edited by nir (2015-12-11 18:45:46)

Offline

#20 2015-12-12 20:32:15

Tom-1234
Member
Registered: 2015-11-20
Posts: 8

Re: [CLOSED] Lenovo Yoga 900 trackpad not detected

Hello,

I (still) use the 4.3.0 kernel with all the patches described by nutso_futso (post #12). I patched the kernel for Kubunut 15.10 as well as for Arch. This works fine for me, stll have to occasionally use the "workaround" mentioned in post #15 after standby.
@DonRichie
have you tried the Arch kernel 4.3 (with the patches)?
In my dmesg I see the following outputs (I believe this are the ones for the touchscreen and touchpad):
input: SYNA2B29:00 06CB:77C6 as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-6/i2c-SYNA2B29:00/0018:06CB:77C6.0002/input/input8
input: ELAN21EF:00 04F3:21EF as /devices/pci0000:00/0000:00:15.3/i2c_designware.2/i2c-7/i2c-ELAN21EF:00/0018:04F3:21EF.0003/input/input9

Greetings

Offline

#21 2015-12-13 08:57:07

DonRichie
Member
Registered: 2015-11-21
Posts: 11

Re: [CLOSED] Lenovo Yoga 900 trackpad not detected

Hello,

here a report of my recent try in detail:

I compiled stable Kernel 4.3.0 which unfortunately results in the same behavior as earlier.
In my opinion I have an issue with my kernel configuration or I need to modprobe something.
Can somebody provide a working Kernel .config I can try out?

1. Configuration

git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
cd linux-stable
git checkout v4.3
vi drivers/net/wireless/iwlwifi/pcie/drv.c
# made change in drv.c
vi drivers/platform/x86/ideapad-laptop.c
# made change in ideapad-laptop.c
vi drivers/i2c/busses/i2c-designware-platdrv.c
# made change in i2c-designware-platdrv.c
zcat /proc/config.gz > .config

2. Compile Kernel

make -j5
# pressed Enter to select default for all answered questions
# watched the kernel compiling and feeling like a hacker

3. Kernel Installation

make modules_install
make bzImage
cp arch/x86_64/boot/bzImage /boot/vmlinuz-custom-4.3.0
mkinitcpio -k 4.3.0-ARCH-dirty -g /boot/initramfs-custom.img -c /etc/mkinitcpio.conf
cat > /boot/loader/entries/custom-4.3.0.conf
# Copy Paste #
title          custom-4.3.0
linux          /vmlinuz-custom-4.3.0
initrd         /initramfs-custom.img
options        root=/dev/sda2 rw i915.preliminary_hw_support=1
# Copy Paste End #

cat > /etc/modules-load.d/i2c.conf
# Copy Paste #
synaptics_i2c
# Copy Paste End #

4. Reboot

reboot

Result: dmesg | grep -i i2c

[    0.053168] DMAR: ANDD device: 1 name: \_SB.PCI0.I2C0
[    0.053170] DMAR: ANDD device: 2 name: \_SB.PCI0.I2C1
[    0.053172] DMAR: ANDD device: 4 name: \_SB.PCI0.I2C3

Regards

Richard

Offline

#22 2015-12-13 15:17:04

travisz
Member
Registered: 2015-12-12
Posts: 1

Re: [CLOSED] Lenovo Yoga 900 trackpad not detected

Tom-1234 wrote:

Hello,

I (still) use the 4.3.0 kernel with all the patches described by nutso_futso (post #12). I patched the kernel for Kubunut 15.10 as well as for Arch. This works fine for me, stll have to occasionally use the "workaround" mentioned in post #15 after standby.
@DonRichie
have you tried the Arch kernel 4.3 (with the patches)?
In my dmesg I see the following outputs (I believe this are the ones for the touchscreen and touchpad):
input: SYNA2B29:00 06CB:77C6 as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-6/i2c-SYNA2B29:00/0018:06CB:77C6.0002/input/input8
input: ELAN21EF:00 04F3:21EF as /devices/pci0000:00/0000:00:15.3/i2c_designware.2/i2c-7/i2c-ELAN21EF:00/0018:04F3:21EF.0003/input/input9

Greetings

Strange, I'm only seeing the ELAN line in dmesg on my laptop (which is the touchscreen):

[    0.522125] i2c_hid i2c-SYNA2B29:00: probe
[    0.538792] i2c_hid i2c-ELAN21EF:00: probe
[    0.569914] input: ELAN21EF:00 04F3:21EF as /devices/pci0000:00/0000:00:15.3/i2c_designware.2/i2c-7/i2c-ELAN21EF:00/0018:04F3:21EF.0003/input/input7
[    0.570268] hid-multitouch 0018:04F3:21EF.0003: input,hidraw0: I2C HID v1.00 Device [ELAN21EF:00 04F3:21EF] on i2c-ELAN21EF:00

It probes for touchpad but it doesn't seem to find it.

I'm using a 4.4 kernel though. Any chance you could put your kernel's .config up somewhere? I have a feeling I'm just missing something pretty obvious.

Thanks

Offline

#23 2015-12-13 15:25:17

Tom-1234
Member
Registered: 2015-11-20
Posts: 8

Re: [CLOSED] Lenovo Yoga 900 trackpad not detected

Hello DonRichie,

please find the config file I used here: http://filebin.ca/2Pota97YBYQQ
the used PKGBUILD http://filebin.ca/2Pou1JE0TqB4
and my patch-file http://filebin.ca/2PouWqKn0QwI
I hope this helps you solving the issue.

Greetings

Offline

#24 2015-12-13 18:40:03

Tom-1234
Member
Registered: 2015-11-20
Posts: 8

Re: [CLOSED] Lenovo Yoga 900 trackpad not detected

Hello,
I just tried the kernel 4.4 rc4 (from aur https://aur.archlinux.org/packages/linux-mainline/).
I still applied the /drivers/i2c/busses/i2c-designware-platdrv.c (dev->sda_hold_time = 30;) patch. The other two patches are already included.
The 4.4-rc4 works fine on my yoga 900, but still has the standby issue with the touchpad.

Greetings

Offline

#25 2015-12-13 20:15:19

nir
Member
Registered: 2015-12-11
Posts: 2

Re: [CLOSED] Lenovo Yoga 900 trackpad not detected

Hi ,
I still can't make my touchpad to work =\
I tried ubuntu 14.04 with 4.4-rc4 kernel + the  "dev->sda_hold_time = 30;" patch
and the touchpad didn't worked.
I tried to install ubuntu 15.10  + the 4.4 kernel and the patch like few guys here that reported that it worked for them
and it still doesn't work for me sad
can someone please share the kernel .config / kernel *.deb or guide me how to make it work please?
Thanks!

Last edited by nir (2015-12-13 20:17:09)

Offline

Board footer

Powered by FluxBB