Not sure how I didn't spot this before, but 3.15 kernels seem to break touch input on my Dell Venue 8 Pro (Baytrail-based tablet, Baytrail's a very active development area ATM). I've booted multiple 3.15 kernels - both my lightly-patched 'fedlet' builds, which add a few patches of Baytrail-specific interest, and the nodebug version of the current stock Rawhide kernel, 3.15.0-0.rc1.git1.2.fc21 . In all of them, touch input just flat out doesn't work. Going back to 3.14.0-0.rc6.git2.1.1awb , the last 3.14 build I have handily available, touch input is fine. I'm attaching 'xinput list --long' and 'journalctl -b' output from those two kernels, for comparison. It looks at least like one input device is entirely missing on 3.15. Not sure what other diagnostic info would be useful.
Created attachment 132491 [details] xinput output from a (working) 3.14rc6 boot
Created attachment 132501 [details] xinput output from a (broken) 3.15rc1 boot
Created attachment 132511 [details] journalctl from a (working) 3.14rc6 boot
Created attachment 132521 [details] journalctl from a (broken) 3.15rc1 boot
Ah, in the 3.15 journalctl output, I see this: Apr 16 17:32:56 fedlet.happyassassin.net kernel: input: SYNA7500:00 06CB:00F2 as /devices/platform/80860F41:05/i2c-12/i2c-SYNA7500:00/0018:06CB:00F2.0003/input/input4 Apr 16 17:32:56 fedlet.happyassassin.net kernel: hid-rmi 0018:06CB:00F2.0003: input,hidraw2: <UNKNOWN> HID v1.00 Device [SYNA7500:00 06CB:00F2] on Apr 16 17:32:56 fedlet.happyassassin.net kernel: hid-rmi: probe of 0018:06CB:00F2.0003 failed with error -5 In the 3.14 output: Apr 16 17:43:02 fedlet.happyassassin.net kernel: input: SYNA7500:00 06CB:00F2 as /devices/platform/80860F41:05/i2c-12/i2c-SYNA7500:00/0018:06CB:00F2.0003/input/input5 Apr 16 17:43:02 fedlet.happyassassin.net kernel: hid-multitouch 0018:06CB:00F2.0003: input,hidraw2: <UNKNOWN> HID v1.00 Device [SYNA7500:00 06CB:00F2] on Apr 16 17:43:02 fedlet.happyassassin.net systemd[1]: Found device /dev/disk/by-uuid/f4707cca-8279-48ca-81db-78819ff2cf81. So it looks like the new hid-rmi driver chokes on the hardware. CCing Benjamin Tissoires, the culprit. =) https://lkml.org/lkml/2014/4/7/310
hrm, bentiss doesn't seem to have a bko account I can find. I'll poke him by mail.
I suspect this line from the hid-rmi driver is a mite too broad: { HID_I2C_DEVICE(USB_VENDOR_ID_SYNAPTICS, HID_ANY_ID) }, and covers this I2C-connected, Synaptics-produced touch screen, despite the driver not really working with it? Just a guess.
oh - and this bug is showing up in Fedora 3.15 kernels even though hid-rmi is only queued for 3.16, because it's been backported to Fedora's 3.15 to fix the Dell laptops which need it.
Hrm, even if I build a kernel with the hid-rmi driver patch dropped, the touchscreen still doesn't work. This time it seems like i2c_hid kicks in and fails: Apr 16 22:58:57 fedlet.happyassassin.net gdm-Xorg-:0[835]: Initializing built-in extension XInputExtension Apr 16 22:58:57 fedlet.happyassassin.net gdm-Xorg-:0[835]: Initializing built-in extension XTEST Apr 16 22:58:57 fedlet.happyassassin.net gdm-Xorg-:0[835]: Initializing built-in extension BIG-REQUESTS Apr 16 22:58:57 fedlet.happyassassin.net gdm-Xorg-:0[835]: Initializing built-in extension SYNC Apr 16 22:58:57 fedlet.happyassassin.net gdm-Xorg-:0[835]: Initializing built-in extension XKEYBOARD Apr 16 22:58:57 fedlet.happyassassin.net gdm-Xorg-:0[835]: Initializing built-in extension XC-MISC Apr 16 22:58:57 fedlet.happyassassin.net gdm-Xorg-:0[835]: Initializing built-in extension XINERAMA -- Apr 16 22:59:02 fedlet.happyassassin.net dbus[631]: [system] Activating via systemd: service name='org.freedesktop.GeoClue2' unit='geoclue.service' Apr 16 22:59:02 fedlet.happyassassin.net dbus-daemon[631]: dbus[631]: [system] Activating via systemd: service name='org.freedesktop.GeoClue2' unit='geoclue.service' Apr 16 22:59:02 fedlet.happyassassin.net systemd[1]: Starting Location Lookup Service... Apr 16 22:59:02 fedlet.happyassassin.net kernel: i2c_hid i2c-SYNA7500:00: failed to reset device. Apr 16 22:59:02 fedlet.happyassassin.net gdm-Xorg-:0[835]: The XKEYBOARD keymap compiler (xkbcomp) reports: Apr 16 22:59:02 fedlet.happyassassin.net gdm-Xorg-:0[835]: > Warning: Compat map for group 2 redefined Apr 16 22:59:02 fedlet.happyassassin.net gdm-Xorg-:0[835]: > Using new definition -- Apr 16 22:59:07 fedlet.happyassassin.net gnome-session[1058]: (gnome-settings-daemon:1101): color-plugin-WARNING **: failed to get edid: unable to get EDID for output Apr 16 22:59:07 fedlet.happyassassin.net colord[1138]: Device added: xrandr-VGA1 Apr 16 22:59:07 fedlet.happyassassin.net gnome-session[1058]: (gnome-settings-daemon:1101): color-plugin-WARNING **: unable to get EDID for xrandr-VGA1: unable to get EDID for output Apr 16 22:59:08 fedlet.happyassassin.net kernel: i2c_hid i2c-SYNA7500:00: failed to reset device. Apr 16 22:59:12 fedlet.happyassassin.net dbus-daemon[631]: string index out of range Apr 16 22:59:14 fedlet.happyassassin.net kernel: i2c_hid i2c-SYNA7500:00: failed to reset device. Apr 16 22:59:14 fedlet.happyassassin.net NetworkManager[723]: <info> (wlp0s20u2u4u3): supplicant interface state: scanning -> associating Apr 16 22:59:15 fedlet.happyassassin.net kernel: IPv6: ADDRCONF(NETDEV_CHANGE): wlp0s20u2u4u3: link becomes ready Apr 16 22:59:15 fedlet.happyassassin.net NetworkManager[723]: <info> (wlp0s20u2u4u3): supplicant interface state: associating -> 4-way handshake -- Apr 16 22:59:17 fedlet.happyassassin.net avahi-daemon[619]: Registering new address record for fe80::76d0:2bff:fece:fba8 on wlp0s20u2u4u3.*. Apr 16 22:59:17 fedlet.happyassassin.net systemd-udevd[504]: worker [521] /devices/LNXSYSTM:00/LNXSYBUS:00/80860F41:04/SMO91D0:00 timeout; kill it Apr 16 22:59:17 fedlet.happyassassin.net systemd-udevd[504]: seq 1733 '/devices/LNXSYSTM:00/LNXSYBUS:00/80860F41:04/SMO91D0:00' killed Apr 16 22:59:17 fedlet.happyassassin.net systemd-udevd[504]: worker [525] /devices/LNXSYSTM:00/LNXSYBUS:00/80860F41:05/SYNA7500:00 timeout; kill it Apr 16 22:59:17 fedlet.happyassassin.net systemd-udevd[504]: seq 1736 '/devices/LNXSYSTM:00/LNXSYBUS:00/80860F41:05/SYNA7500:00' killed Apr 16 22:59:17 fedlet.happyassassin.net systemd-udevd[504]: worker [521] terminated by signal 9 (Killed) Apr 16 22:59:20 fedlet.happyassassin.net kernel: i2c_hid i2c-SYNA7500:00: failed to reset device. Apr 16 22:59:20 fedlet.happyassassin.net systemd-udevd[504]: worker [526] /devices/platform/80860F41:05/i2c-12/i2c-SYNA7500:00 timeout; kill it Apr 16 22:59:20 fedlet.happyassassin.net systemd-udevd[504]: seq 2145 '/devices/platform/80860F41:05/i2c-12/i2c-SYNA7500:00' killed Apr 16 22:59:20 fedlet.happyassassin.net systemd-udevd[504]: worker [529] /devices/platform/80860F41:04/i2c-11/i2c-SMO91D0:00 timeout; kill it Apr 16 22:59:20 fedlet.happyassassin.net systemd-udevd[504]: seq 2143 '/devices/platform/80860F41:04/i2c-11/i2c-SMO91D0:00' killed Apr 16 22:59:20 fedlet.happyassassin.net systemd-udevd[504]: worker [526] terminated by signal 9 (Killed) Apr 16 22:59:20 fedlet.happyassassin.net systemd-udevd[504]: worker [529] terminated by signal 9 (Killed) Apr 16 22:59:21 fedlet.happyassassin.net kernel: i2c_hid i2c-SYNA7500:00: can't add hid device: -61 Apr 16 22:59:21 fedlet.happyassassin.net kernel: i2c_hid: probe of i2c-SYNA7500:00 failed with error -61 Apr 16 22:59:21 fedlet.happyassassin.net systemd-udevd[504]: worker [525] terminated by signal 9 (Killed) Apr 16 22:59:21 fedlet.happyassassin.net chronyd[630]: Selected source 206.108.0.132 Apr 16 22:59:21 fedlet.happyassassin.net chronyd[630]: System clock wrong by 0.526987 seconds, adjustment started
From the 3.14rc6 log: Apr 16 17:43:02 fedlet.happyassassin.net kernel: i2c_hid i2c-SMO91D0:00: unable to fetch the size of HID descriptor (ret=-121) ... Apr 16 17:43:02 fedlet.happyassassin.net kernel: i2c_hid i2c-SYNA7500:00: failed to retrieve report from device. but then after that, hid-multitouch kicks in. With 3.15, it doesn't seem to (even with hid-rmi out of the way).
I can confirm a similar bug on the ASUS T100A. Multitouch worked in previous kernels but is now broken in 3.15. Here are the relevant log messages: [ 5.487248] input: ATML1000:00 03EB:8C0E as /devices/platform/80860F41:05/i2c-5/i2c-ATML1000:00/0018:03EB:8C0E.0004/input/input8 [ 5.491405] hid-multitouch 0018:03EB:8C0E.0004: input,hidraw3: <UNKNOWN> HID v1.00 Device [ATML1000:00 03EB:8C0E] on And then later when I attempt to get data from the device the following appears: [ 170.351034] i2c_designware 80860F41:05: timeout in enabling adapter [ 171.370461] i2c_designware 80860F41:05: controller timed out [ 171.389695] i2c_designware 80860F41:05: Unknown Synopsys component type: 0x00000000 [ 171.408678] i2c_hid i2c-ATML1000:00: failed to change power setting. Looks like the Dell and ASUS have the same touchscreen hardware but different i2c bus drivers.
Correction: Similar i2c bus drivers but not similar touchscreen hardware.
Doug: aside from the hid-rmi issue, Benjamin found that the IRQ crash workaround patch breaks this (by interfering with things that try to get an IRQ via ACPI): "ok, so as told on IRC, the second patch is the problem. It shifts the irq definitions. i2c_hid driver relies on the acpi to get its irq number, and I suspect that the irq it gets is the one not shifted. The logs shows that no irq gets triggered to i2c_hid, so no events are coming, and thus the driver never get the notification that the reset has been successful. The guys who made the patch has to find an other way of fixing the problem, because it messes the acpi enumeration." so, we need to drop that patch until someone comes up with a better approach :(
I just discovered that for myself a little bit earlier. So, is it a matter of choosing between touchscreen and wifi then at this point? Or does my hack that stops all pinctrl IRQ control work with this OK?
I'm gonna try a build with just the version of your patch that disables pinctrl IRQ control later. I suspect it'll make the touch screen work again. I don't know if SDIO devices would work in that case, but we're still missing actual driver support for the V8P's wifi anyway so I wouldn't really lose anything. Don't know about other models.
Same problem on Dell XPS 13. Touchscreen works with 3.14 and 3.15 but touchpad only works with 3.14.
Are you sure that's the same problem? Do you see the same stuff in the logs? This is about touch screens, not touchpads, note. Hard to know what you're seeing without more detail, but it may be more along the lines of https://bugzilla.redhat.com/show_bug.cgi?id=1048314 . If you post your logs we can probably see whether you're hitting this bug or not. Note, this bug looks to have actually been addressed: https://patchwork.kernel.org/patch/4217661/ The hid-rmi driver itself is only tracked for 3.16 and backported to 3.15, so you're definitely only hitting this in 3.15 if you're running a Fedora kernel or other that has backported hid-rmi. You'd need to check with your downstream to get that patch also backported (I'll check if it's in Fedora now). The fix is definitely in Linus' tree for 3.16 now, so I'll mark this as fixed: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/drivers/hid/hid-rmi.c?id=ba391e5a5ac6697b8bcae8c0d01439cb765d9ef8
the patch is applied to Fedora's 3.15 kernels since April 22 (though note it's the older version, not the v2 which was eventually applied upstream).
I have installed aptosid ...
I don't know what kernel customizations that distro would be using. You'd have to check for yourself. Again, the logs would help identify what problem you are hitting.
it follows quite closely the stable release (mainline) thus it's since 9. June 3.15
if they are not backporting the hid-rmi driver from 3.16 then you are definitely not seeing this particular bug, because that driver is not in mainline 3.15 at all. You're probably seeing something more along the lines of RH 1048314 (see link above), though I think that precise bug ought to be resolved by now.
Just installed 3.16 - still the same problem. The synaptics driver is not loaded for the touchpad. The touchscreen works fine.
Even 3.16 seems to need patches for the Dell XPS 13 touchpad to work: https://github.com/dhl/pkgbuild-linux-mainline-xps13-9333
forget the previous comment - all there mentioned patches are included in 3.16 Is there any way to get more information about the boot process? Or anything I can try to let the kernel know that there is a touchpad?