我刚买了一台IdeaPad 330联想笔记本电脑。当我安装Ubuntu时,touchpad无法工作。我成功地用键盘安装了Ubuntu,使用了选项卡、空格和输入按钮。我在想触屏安装后会起作用,但运气不好。
有人知道怎么解决这个问题吗?它在Windows 10上运行得很好。
发布于 2018-08-09 18:58:06
2018年8月初,我只需升级到4.18-rc7主线构建,就可以让光标正常工作(Elan061C)--无需从源代码中修补或编译内核。
指令可以找到在TecMint这里。
发布于 2018-07-06 03:41:24
所有的希望都不会失去!我已经成功地重新编译了最新的ubuntu4.18.0内核,并在我拥有的联想330-15igm上为elan061C触摸屏添加了ACPI id,现在有了一个工作触控板。
由于联想330系列的ACPI id没有出现在内核驱动程序中,所以在启动时没有检测到它的触摸屏。Windows将其识别为隐藏在i2c设备上的Elan,在330上检测到的问题类似于这里提到的联想320笔记本电脑:联想Ideapad 320 - Touchpad不工作。
解决方案是对内核进行类似于此处所做工作的修补:https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1700657
FYI:与其他在ubuntu的elan触控板不同,我发现用i8042选项修改引导参数对这个触摸屏没有什么影响。不要浪费你的时间。
伊兰_i2c_core.c的内核驱动程序源代码中仍然不存在许多elan设备did,因此现在没有希望在不编写dkms模块(对我不起作用)或编译自定义内核的情况下获得工作触摸屏。
请查看dmesg | grep i2c和dmesg | grep elan的输出,看看是否检测到了设备。我发现ubuntu16.04的股票和HWE内核根本没有检测到elan设备或任何指向设备,这表明在16.04内核的i2c设备检测中存在“缺失”。
安装18.04的
user-Lenovo-ideapad-330-15IGM kernel: [ 7.396065] i2c_hid i2c-ELAN061C:00: i2c-ELAN061C:00 supply vdd not found, using dummy regulator还有很多其他人也有这种麻烦,比如elan触控板太新了有主线内核支持。
如果你想让你的设备正常工作:
通过安装acpidump:sudo apt install acpidump并运行:
sudo acpidump _ grep -C3 ELAN
( -C3告诉grep在前面和后面包含3行,如下所述:https://stackoverflow.com/questions/9081/grep-a-file-but-show-several-surrounding-lines)
我的结果是:
0E70: 5F 53 42 2E 47 50 4F 31 00 79 00 08 53 42 46 49 _SB.GPO1.y..SBFI
0E80: 11 0E 0A 0B 89 06 00 15 01 3C 00 00 00 79 00 14 .........<...y..
0E90: 46 07 5F 49 4E 49 00 A0 23 93 54 50 54 59 01 70 F._INI..#.TPTY.p
0EA0: 0D 45 4C 41 4E 30 36 31 43 00 5F 48 49 44 70 0A .ELAN061C._HIDp.
0EB0: 15 42 41 44 52 70 01 48 49 44 32 A0 25 93 54 50 .BADRp.HID2.%.TP
0EC0: 54 59 0A 02 70 0D 53 59 4E 41 32 42 34 38 00 5F TY..p.SYNA2B48._
0ED0: 48 49 44 70 0A 2C 42 41 44 52 70 0A 20 48 49 44 HIDp.,BADRp. HID注意中线上的ELAN061C!
检查dmesg \ grep、i2c和dmesg \ grep的输出,看看是否有检测到的设备。
安装一个可以检测设备的内核,对我来说这是4.17.4-041704-泛型。
这个ACPI设备ID在伊兰_i2c_core.c的内核驱动程序源代码中仍然不存在,因此现在没有希望在不编写dkms模块(对我不起作用)或编译自定义内核的情况下获得一个工作触控板。
从这里使用最新的内核源代码:http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.17.4/
用最新的补丁修补内核,并使用这个非常简单的方法编译,请遵循以下指南:如何应用内核补丁
除了在这里安装依赖项:https://help.ubuntu.com/community/Kernel/Compile之外,我还需要build-essential kernel-package fakeroot libncurses5-dev debhelper libssl-dev libudev-dev xz-utils和bison包
在定制步骤中,我编辑了v4.17.4/drivers/input/mouse/elan_i2c_core.c
将下面的行添加到文件末尾附近的elan_i2c_core.c (箭头是注释,不要将它们添加到文件中!)
#ifdef CONFIG\_ACPI static const struct acpi\_device\_id elan\_acpi\_id[] = { { "ELAN0000", 0 }, { "ELAN0100", 0 }, { "ELAN0600", 0 }, { "ELAN0602", 0 }, { "ELAN0605", 0 }, { "ELAN0608", 0 }, { "ELAN0609", 0 }, { "ELAN060B", 0 }, { "ELAN060C", 0 }, { "ELAN0611", 0 }, { "ELAN0612", 0 }, { "ELAN0618", 0 }, { "ELAN061C", 0 }, <-add this { "ELAN061D", 0 }, <- and this for the lenovo 330 with the core i3 { "ELAN1000", 0 }, { } }; MODULE\_DEVICE\_TABLE(acpi, elan\_acpi\_id); #endif
在安装了新生成的4.18.0-rc3自定义内核(补丁更新了4.17.4源代码)之后,我很高兴地报告,在Ubuntu18.04中,触摸屏可以很好地使用左、右点击和手势。
YMMV
发布于 2019-02-15 16:55:27
Ubuntu18.04.2支持这种即插即用的触摸屏。
对于18.04用户,4.18内核可以通过
sudo apt install linux-generic-hwe-18.04https://askubuntu.com/questions/1049787
复制相似问题