首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >联想IdeaPad 330触屏不工作

联想IdeaPad 330触屏不工作
EN

Ask Ubuntu用户
提问于 2018-06-26 07:17:25
回答 5查看 82.3K关注 0票数 8

我刚买了一台IdeaPad 330联想笔记本电脑。当我安装Ubuntu时,touchpad无法工作。我成功地用键盘安装了Ubuntu,使用了选项卡、空格和输入按钮。我在想触屏安装后会起作用,但运气不好。

有人知道怎么解决这个问题吗?它在Windows 10上运行得很好。

EN

回答 5

Ask Ubuntu用户

发布于 2018-08-09 18:58:06

2018年8月初,我只需升级到4.18-rc7主线构建,就可以让光标正常工作(Elan061C)--无需从源代码中修补或编译内核。

指令可以找到在TecMint这里

票数 5
EN

Ask Ubuntu用户

发布于 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

或如本文所述:https://unix.stackexchange.com/questions/427566/touchpad-on-lenovo-v330-thinkpad-v-series-is-not-recognized/434655#434655

FYI:与其他在ubuntu的elan触控板不同,我发现用i8042选项修改引导参数对这个触摸屏没有什么影响。不要浪费你的时间。

伊兰_i2c_core.c的内核驱动程序源代码中仍然不存在许多elan设备did,因此现在没有希望在不编写dkms模块(对我不起作用)或编译自定义内核的情况下获得工作触摸屏。

请查看dmesg | grep i2cdmesg | grep elan的输出,看看是否检测到了设备。我发现ubuntu16.04的股票和HWE内核根本没有检测到elan设备或任何指向设备,这表明在16.04内核的i2c设备检测中存在“缺失”。

安装18.04的

能够看到一个elan设备:

代码语言:javascript
复制
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)

我的结果是:

代码语言:javascript
复制
  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-utilsbison

在定制步骤中,我编辑了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

特别感谢季米特里·托罗科夫唐纳德·尚蒂

票数 3
EN

Ask Ubuntu用户

发布于 2019-02-15 16:55:27

Ubuntu18.04.2支持这种即插即用的触摸屏。

对于18.04用户,4.18内核可以通过

代码语言:javascript
复制
sudo apt install linux-generic-hwe-18.04
票数 2
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1049787

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档