zassion 发表于 2017-11-5 19:51

[ T70 Bug Report ] : TrackPoint 启动失效( 171212 BIOS 已经修正, 关闭)

本帖最后由 zassion 于 2017-12-14 16:56 编辑

BIOS版本:
    5.12 10/17/2017 11:40:08
OS:
    openSUSE 42.3
出现概率:
    100%
再现方式:
    启动PC即出现, kernel提示如下信息:
    i8042: PNP: PS/2 Controller at 0x60,0x64 irq 1                     
    i8042: PNP: PS/2 appears to have AUX port disabled, if this is incorrect please boot with i8042.nopnp
    serio: i8042 KBD port at 0x60,0x64 irq 1                                          
    系统启动以后, keyboard 好用, TrackPoint 失效。

    对比 X200 的 LOG如下:
    i8042: PNP: PS/2 Controller at 0x60,0x64 irq 1,12
    serio: i8042 KBD port at 0x60,0x64 irq 1
    serio: i8042 AUX port at 0x60,0x64 irq 12
    input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input0
    input: TPPS/2 IBM TrackPoint as /devices/platform/i8042/serio1/input/input2

    按照内核提示,在内核启动参数中添加 i8402.nopnp 重启系统, TrackPoint 出现。 多次关机重启,也都稳定出现。
    TrackPoint 这时候的相关LOG如下:
    i8042: PNP detection disabled
    i8042: Detected active multiplexing controller, rev 1.1
    serio: i8042 KBD port at 0x60,0x64 irq 1
    serio: i8042 AUX0 port at 0x60,0x64 irq 12
    serio: i8042 AUX1 port at 0x60,0x64 irq 12
    serio: i8042 AUX2 port at 0x60,0x64 irq 12
    serio: i8042 AUX3 port at 0x60,0x64 irq 12
    input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input0
    input: TPPS/2 IBM TrackPoint as /devices/platform/i8042/serio2/input/input6
   
请 BIOS 开发人员确认 i8042 配置是否正确。

dh3001 发表于 2017-11-5 20:30

有证的程序员就是专业

qqoopp 发表于 2017-11-6 14:56

厉害^g^

17m19 发表于 2017-11-6 15:31

可以用0904版的BIOS,再抓一次看看。

zassion 发表于 2017-11-6 23:49

17m19 发表于 2017-11-6 15:31
可以用0904版的BIOS,再抓一次看看。

Hi 17m19,
    看到《2017.09.04 T70更新BIOS及相关驱动安装说明》提到你已经分析过键盘和指点杆失效的问题,能分享一下相关信息吗?不知道你是否了解 T70 上 i8042 相关硬件电路上的信息,比如 键盘/小红点/touchpad 是如何链接到系统的。 我在尝试看 linux 内核中 i8042 的驱动,添加一些LOG去理解有什么问题, 但如果了解一下硬件相关背景的话会更快一些。 谢谢。

17m19 发表于 2017-11-7 13:09

zassion 发表于 2017-11-6 23:49
Hi 17m19,
    看到《2017.09.04 T70更新BIOS及相关驱动安装说明》提到你已经分析过键盘和指点杆失效的 ...
抱歉,我也就是一个普通的使用者,从使用体验的角度,尝试解决遇到的问题,属于学习范畴。
0904版本和1017版本的BIOS关于鼠标指针设备接口的配置差别还是比较大的:
1、0904版的鼠标和指针设备配置在LPC上,也就是PCI 标准 ISA 桥上,而1017版不是;
2、0904版的BIOS接口配置中含*PNP0F13,而1017没有,这可能是你怀疑接口配置有问题的原因之一,同时也可能是在PE下无法正常使用的原因,这只是猜测;
3、抛开BIOS是否完美的问题,无论0904还是1017,均有使用体验良好的机油;
4、如果你的使用确实存在不能忍受的问题,建议回退0904版BIOS,你也可以基于这个版本的BIOS做设备测试,应该更有意义;
5、专属设备如果想完美使用,需要设备底层开发包和接口规范支持,这些可能只有官方的开发工程师手里才有;
谢谢!

tearme 发表于 2017-11-7 21:47

17m19 发表于 2017-11-7 13:09
抱歉,我也就是一个普通的使用者,从使用体验的角度,尝试解决遇到的问题,属于学习范畴。
0904版本和10 ...

对比dsdt正是如此,老兄是懂行之人。

zassion 发表于 2017-11-8 00:15

17m19 发表于 2017-11-7 13:09
抱歉,我也就是一个普通的使用者,从使用体验的角度,尝试解决遇到的问题,属于学习范畴。
0904版本和10 ...

谢谢回复。 我还没有刷0904版本的BIOS,但是dump 看了一下X200的ACPI table, 有PNP0F13的描述,
HIDEiasId "IBM3780"
CIDEiasId"PNP0F13"
IRQNoFlags12
改天刷一下0904的BIOS看看什么情况。
添加了 nopnp 的参数之后,相当于由 driver 自己去探测一遍i8042 的 AUX PORT,而不是参考 ACPI 指定的信息,在开机的时候,还是能够驱动起来。剩下的问题就是suspend in ram以后,TrackPoint 不好用的问题了。

zassion 发表于 2017-11-8 16:47

17m19 发表于 2017-11-7 13:09
抱歉,我也就是一个普通的使用者,从使用体验的角度,尝试解决遇到的问题,属于学习范畴。
0904版本和10 ...

Hi 17m19,
    今天刷了 0904 的bios, keyboard 和trackpoint 支持没有问题了。

开机的 LOG如下:
[    1.285321] i8042: PNP: PS/2 Controller at 0x60,0x64 irq 1,12
[    1.287725] i8042: Detected active multiplexing controller, rev 1.1
[    1.289464] serio: i8042 KBD port at 0x60,0x64 irq 1
[    1.289467] serio: i8042 AUX0 port at 0x60,0x64 irq 12
[    1.289493] serio: i8042 AUX1 port at 0x60,0x64 irq 12
[    1.289513] serio: i8042 AUX2 port at 0x60,0x64 irq 12
[    1.289534] serio: i8042 AUX3 port at 0x60,0x64 irq 12
[    1.304497] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input0
[    2.749246] input: TPPS/2 IBM TrackPoint as /devices/platform/i8042/serio2/input/input6

合盖 suspend in ram ,开盖由于会关机, 所以我通过 echo mem > /sys/power/state 来进行的, trackpoint 可用, 唤醒 LOG 如下:
serio serio1: device_attach() failed for isa0060/serio1 (i8042 AUX0 port), error: -517
serio serio2: device_attach() failed for isa0060/serio2 (i8042 AUX1 port), error: -517
serio serio3: device_attach() failed for isa0060/serio3 (i8042 AUX2 port), error: -517
serio serio4: device_attach() failed for isa0060/serio4 (i8042 AUX3 port), error: -517
serio serio2: device_attach() failed for isa0060/serio2 (i8042 AUX1 port), error: -517
serio serio2: device_attach() failed for isa0060/serio2 (i8042 AUX1 port), error: -517
input: TPPS/2 IBM TrackPoint as /devices/platform/i8042/serio2/input/input25

驱动是同一个, 看来还是因为 BIOS 变更导致的。

zassion 发表于 2017-11-10 09:40

本帖最后由 zassion 于 2017-11-10 09:44 编辑

zassion 发表于 2017-11-8 16:47
Hi 17m19,
    今天刷了 0904 的bios, keyboard 和trackpoint 支持没有问题了。


更新一下, 0904 唤醒仍然有问题。
但开机在linux下找不到TrackPoint的问题, 作出如下修改就好了:
下一版BIOS能添加这个么?

ACPIDSDTTABLE:

38480   Scope (_SB.PCI0)
38481   {
38482         Device (PS2M)
38483         {
38484             Name (_HID, EisaId ("IBM0057"))// _HID: Hardware ID
                         追加: Name (_CID, EisaId ("PNP0F13") )// _CID: Compatible ID
38485             Method (_STA, 0, NotSerialized)// _STA: Status
38486             {
38487               Return (0x0F)
38488             }
38489
38490             Name (CRS1, ResourceTemplate ()
38491             {
38492               IRQNoFlags ()
38493                     {12}
38494             })

页: [1]
查看完整版本: [ T70 Bug Report ] : TrackPoint 启动失效( 171212 BIOS 已经修正, 关闭)