psmouse serio1:alps:Lenovo Ideapad Flex 15 中的未知 ALPS 触摸板

Ibu*_*ntu 6 touchpad synaptics

我刚买了一台联想 Ideapad Flex 15,然后从它身上拆下 Windows 来安装 Ubuntu 13.10。对于使用 Ideapad Flex 的其他人,如果您遇到 Ubuntu 以 0 亮度加载的问题,请尝试添加:

echo 85 > /sys/class/backlight/acpi_video0/brightness
Run Code Online (Sandbox Code Playgroud)

在 /etc/rc.local 文件的“exit 0”行之前。

我注意到的唯一另一个问题是触摸板驱动程序没有加载,触摸板的反应本质上是一个简单的鼠标,左键和右键单击,没有滚动和多点触控功能。触摸屏似乎工作正常,但我不知道在 Ubuntu 中对触摸屏有什么真正的期望。

这是我的 xinput:

freedom@flex15:~$ xinput list
? Virtual core pointer                      id=2    [master pointer  (3)]
?   ? Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
?   ? eGalax Inc. eGalaxTouch EXC7910-1026-13.00.00 id=9    [slave  pointer  (2)]
?   ? PS/2 Generic Mouse                        id=12   [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=10   [slave  keyboard (3)]
    ? AT Translated Set 2 keyboard              id=11   [slave  keyboard (3)]
    ? Ideapad extra buttons                     id=13   [slave  keyboard (3)]
Run Code Online (Sandbox Code Playgroud)

我的触摸板/触摸屏上的 dmesg 信息:

freedom@flex15:~$ dmesg | grep -i touch
[    1.900295] usb 2-1: Product: eGalaxTouch EXC7910-1026-13.00.00
[   18.021041] psmouse serio1: alps: Unknown ALPS touchpad: E7=73 03 0a, EC=88 b6 06
[   18.212564] input: eGalax Inc. eGalaxTouch EXC7910-1026-13.00.00 as /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/input/input5
[   18.212704] hid-multitouch 0003:0EEF:A111.0001: input,hiddev0,hidraw0: USB HID v2.10 Device [eGalax Inc. eGalaxTouch EXC7910-1026-13.00.00] on usb-0000:00:14.0-1/input0
Run Code Online (Sandbox Code Playgroud)

如果我尝试将突触用于任何我得到的东西:

freedom@flex15:~$ synclient -l
Couldn't find synaptics properties. No synaptics driver loaded?
Run Code Online (Sandbox Code Playgroud)

此外,如果我从 Ubuntu 软件中心安装 Synaptiks,它安装没问题,但尝试启动 Synaptiks 会出现未检测到触摸板的错误。

显然联想不提供支持,除非你使用 Windows 8,但根据他们的网站,触摸板是由 Synaptics、Elantech 或 ALPS 制造的。在查看此处:Ubuntu 13.04 中三星系列 9 的鼠标/触摸板设置后,我找到了 Elantech 触摸板的解决方案,我尝试过但没有效果。从 dmesg 看来,我有一个 ALPS 触摸板。此外,补丁已经提交给早期的内核。我使用了这些说明:

http://ubuntuforums.org/showthread.php?t=2111236&p=12692065#post12692065

没有错误,但我仍然从 dmesg、synclient 和 xinput 获得相同的输出。所以据我所知,触摸板驱动程序没有加载?或者当前版本的 Ubuntu 不支持这台笔记本电脑。请问有人可以建议吗?谢谢你。

sudo modprobe psmouse
Run Code Online (Sandbox Code Playgroud)

绝对没有返回。

打开和关闭触摸板的键盘功能工作正常。

更新:我在 13.04 尝试了本指南:http : //linuxg.net/ubuntu-13-04-touchpad-option-does-not-exist-error-fix/,它在终端中提供了一些信息(一切顺利直到 dkms 自动安装为止):

freedom@flex15:/var/lib/dkms/psmouse$ sudo dkms autoinstall

Kernel preparation unnecessary for this kernel.  Skipping...

Building module:
cleaning build area....
make KERNELRELEASE=3.11.0-15-generic -C /lib/modules/3.11.0-15-generic/build M=/var/lib/dkms/psmouse/alps-1.3/build/src psmouse.ko....
cleaning build area....

DKMS: build completed.
Error! This module/version combo is already installed for kernel: 3.11.0-15-generic (x86_64)
Run Code Online (Sandbox Code Playgroud)

然后运行

sudo rmmod psmouse && modprobe psmouse
Run Code Online (Sandbox Code Playgroud)

完全禁用触摸板功能并返回

ERROR: could not insert 'psmouse': Operation not permitted
Run Code Online (Sandbox Code Playgroud)

跑步

sudo modprobe psmouse && rmmod psmouse
Run Code Online (Sandbox Code Playgroud)

返回基本的触摸板功能(移动、左/右键单击、无滚动或多点触控)和输出

libkmod: ERROR ../libkmod/libkmod-module.c:753 kmod_module_remove_module: could not remove 'psmouse': Operation not permitted
Error: could not remove module psmouse: Operation not permitted
Run Code Online (Sandbox Code Playgroud)

总而言之,除了 dmesg 之外没有任何变化,但实际上并没有:

freedom@flex15:/var/lib/dkms/psmouse$ dmesg | grep -i touch
[    1.422626] usb 2-1: Product: eGalaxTouch EXC7910-1026-13.00.00
[    8.683181] psmouse serio1: alps: Unknown ALPS touchpad: E7=73 03 0a, EC=88 b6 06
[    8.715623] input: eGalax Inc. eGalaxTouch EXC7910-1026-13.00.00 as /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/input/input5
[    8.715756] hid-multitouch 0003:0EEF:A111.0001: input,hiddev0,hidraw0: USB HID v2.10 Device [eGalax Inc. eGalaxTouch EXC7910-1026-13.00.00] on usb-0000:00:14.0-1/input0
[ 2653.427571] usb 2-1: Product: eGalaxTouch EXC7910-1026-13.00.00
[ 2653.429091] input: eGalax Inc. eGalaxTouch EXC7910-1026-13.00.00 as /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/input/input15
[ 2653.429267] hid-multitouch 0003:0EEF:A111.0002: input,hiddev0,hidraw0: USB HID v2.10 Device [eGalax Inc. eGalaxTouch EXC7910-1026-13.00.00] on usb-0000:00:14.0-1/input0
Run Code Online (Sandbox Code Playgroud)

我仍在寻找解决方案。非常感谢您到目前为止的帮助。

小智 5

您的问题似乎是由于对 Lenovo Flex 系列中使用的较新的 ALPS v7 触摸板的支持不完整。最近为 psmouse 驱动程序创建了一个补丁 ( http://www.spinics.net/lists/linux-input/msg29084.html ),在这里您可以找到更新驱动程序的 DKMS 版本:https://github .com/he1per/psmouse-dkms-alpsv7

在终端中尝试以下操作:

cd /tmp
git clone http://github.com/he1per/psmouse-dkms-alpsv7
cd psmouse-dkms-alpsv7
gedit install.sh &
Run Code Online (Sandbox Code Playgroud)

然后将文件 install.sh 的第一行替换为:

#!/bin/bash
Run Code Online (Sandbox Code Playgroud)

和模块目录位置:

MDIR="/lib/modules/$(uname -r)"
Run Code Online (Sandbox Code Playgroud)

因为模块存储在/lib而不是/usr/lib在 ubuntu 中

并保存文件。最后,运行:

sudo ./install.sh
Run Code Online (Sandbox Code Playgroud)

您将收到错误消息,但驱动程序似乎已安装。重启后,dmesg 报告:

input: AlpsPS/2 ALPS GlidePoint as /devices/platform/i8042/serio1/input/input7
Run Code Online (Sandbox Code Playgroud)

我的 Flex 14 上的触摸板按预期工作。