我试图在这里找到解决我长期触摸板问题的方法。
我复制一下问题:
我有一台带有触摸板的 SONY VAIO VGN-NS21Z 笔记本电脑,但未加载内核。 (不出现在 Xorg 日志或 xinput 列表中)
我的触摸板没有用于激活或禁用它的功能键,所以这不是问题。
我尝试在内核选项中启用 i8042 参数,如谷歌搜索所示,但它不起作用。
在有人问“是”之前,触摸板可以在我的 Windows 7 分区上工作。这是我从 Windows 7 的设备属性中获得的信息。
注意:标题是我翻译的,可能与 Windows7 英文版的标题不符。
Hardware ID:
ACPI\SNY9008
*SNY9008
Compatible ID
*PNP0F13
Service
i8042prt
Name of device physic objet
\Device\0000005d
Access path to the instance of the device
ACPI\SNY9008\4&3290F976&0
Primary
PCI\VEN_8086&DEV_2919&SUBSYS_9045104D&REV_03\3&11583659&0&F8
Brothers
ACPI\PNP0200\4&3290f976&0
ACPI\INT0800\4&3290f976&0
ACPI\PNP0103\4&3290f976&0
ACPI\PNP0000\4&3290f976&0
ACPI\PNP0C04\4&3290f976&0
ACPI\PNP0C02\2
ACPI\PNP0B00\4&3290f976&0
ACPI\PNP0100\4&3290f976&0
ACPI\PNP0303\4&3290f976&0
ACPI\PNP0C09\4&3290f976&0
ACPI\SNY5001\4&3290f976&0
Node secure name of the controller
msmouse.inf:MSMfg.NTamd64:PS2_Inst:6.1.7600.16385:*pnp0f13
Id of the matching device
*pnp0f13
从这些细节中,我在 dmesg 中发现了与 PNP0F13 和 SNY9008 相关的内容,这些内容似乎与触摸板相关,如 Windows 详细信息中所示:
正如我所看到的,我认为内核检测到触摸板,但是当它必须将其分配到必须分配到工作的任何位置时,它会将触摸板与键盘或其他东西混淆,然后我将键盘“安装”了两次。
$ dmesg | grep PNP0f13
[ 0.882985] pnp 00:08: Plug and Play ACPI device, IDs SNY9008 PNP0f13 (active)
[ 1.776101] i8042: PNP: PS/2 Controller [PNP0303:PS2K,PNP0f13:PS2M] at 0x60,0x64 irq 1,12
$ dmesg | grep i8042
[ 1.776101] i8042: PNP: PS/2 Controller [PNP0303:PS2K,PNP0f13:PS2M] at 0x60,0x64 irq 1,12
[ 1.825321] serio: i8042 KBD port at 0x60,0x64 irq 1
[ 1.846471] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input2
我检查了 ioports,它表明我是正确的。你可以看到我有两个端口正好位于 ioports 的 0x60 和 0x64 处,它们是键盘(也许这是正常的,但我不知道)。如果我们假设 SNY9008 PNP0F13 是触摸板(我认为这是在 Windows 7 上看到的),那就是问题所在。
/proc/ioports
0000-0cf7 : PCI Bus 0000:00
0000-001f : dma1
0020-0021 : pic1
0040-0043 : timer0
0050-0053 : timer1
0060-0060 : keyboard
0062-0062 : EC data
0064-0064 : keyboard
0066-0066 : EC cmd
0070-0077 : rtc0
0080-008f : dma page reg
00a0-00a1 : pic2
00c0-00df : dma2
00f0-00ff : fpu
03c0-03df : vga+
0400-047f : pnp 00:05
0400-0403 : ACPI PM1a_EVT_BLK
0404-0405 : ACPI PM1a_CNT_BLK
0408-040b : ACPI PM_TMR
0410-0415 : ACPI CPU throttle
0420-042f : ACPI GPE0_BLK
0430-0433 : iTCO_wdt
0450-0450 : ACPI PM2_CNT_BLK
0460-047f : iTCO_wdt
0500-053f : pnp 00:05
0680-069f : pnp 00:05
0800-0803 : pnp 00:05
0cf8-0cff : PCI conf1
0d00-ffff : PCI Bus 0000:00
1000-100f : pnp 00:05
164e-164f : pnp 00:05
a000-afff : PCI Bus 0000:05
b000-bfff : PCI Bus 0000:03
c000-cfff : PCI Bus 0000:02
c000-c0ff : 0000:02:00.0
c000-c0ff : sky2
d000-dfff : PCI Bus 0000:01
d000-d0ff : 0000:01:00.0
e000-e01f : 0000:00:1f.3
e000-e01f : i801_smbus
e020-e03f : 0000:00:1f.2
e020-e03f : ahci
e040-e05f : 0000:00:1d.2
e040-e05f : uhci_hcd
e060-e07f : 0000:00:1d.1
e060-e07f : uhci_hcd
e080-e09f : 0000:00:1d.0
e080-e09f : uhci_hcd
e0a0-e0bf : 0000:00:1a.2
e0a0-e0bf : uhci_hcd
e0c0-e0df : 0000:00:1a.1
e0c0-e0df : uhci_hcd
e0e0-e0ff : 0000:00:1a.0
e0e0-e0ff : uhci_hcd
e100-e103 : 0000:00:1f.2
e100-e103 : ahci
e110-e117 : 0000:00:1f.2
e110-e117 : ahci
e120-e123 : 0000:00:1f.2
e120-e123 : ahci
e130-e137 : 0000:00:1f.2
e130-e137 : ahci
使用:Fedora 16 KDE Spin 内核 3.1.4-1.fc16.i686.PAE 现在 3.1.9-1.fc16.i686.PAE
请注意,现在我使用的是 Linux mint 13: Linux 3.2.0-54-generic #82-Ubuntu SMP Tue Sep 10 20:08:42 UTC 2013 x86_64 但问题是一样的。
注意:我只是一个 Linux 用户,而不是系统管理员,所以在提问时请具体说明。
如果需要更多信息,请询问我,我会发布。谢谢。
答案1
我已经“安装”了键盘两次。
这不是我读取 dmesg 输出的方式。键盘由serio
模块报告一次,然后由input
模块报告一次。一种将键盘视为硬件设备,另一种解释来自前者的信息以实现连接的键盘。他们一起工作。
也许这很正常,但我不知道
可能,因为我使用的是没有触摸板的标准桌面,所以我得到了同样的结果:
> dmesg | grep i8042
[ 1.301505] i8042: PNP: No PS/2 controller found. Probing ports directly.
[ 1.304381] serio: i8042 KBD port at 0x60,0x64 irq 1
[ 1.305095] serio: i8042 AUX port at 0x60,0x64 irq 12
> cat /proc/ioports
0000-0cf7 : PCI Bus 0000:00
0000-001f : dma1
0020-0021 : pic1
0040-0043 : timer0
0050-0053 : timer1
0060-0060 : keyboard
0062-0062 : EC data
0064-0064 : keyboard
注意“键盘”同时报告二地址为您的。
未出现在 Xorg 日志或 xinput 列表中
这可能只是缺少 Xorg 驱动程序的问题,但在两个不同的发行版上发生这种情况似乎很奇怪。尽管如此,您可能会检查该xorg-x11-drv-synaptics
软件包是否已安装(这是 fedora 名称;在 mint 上我想您应该能够使用 找到它apt-cache search synaptics
)。 Synaptics 几乎生产所有触摸板,据我所知,你的似乎在 Windows 上使用 Synaptics 驱动程序。
你从中得到什么吗dmesg | grep mouse
?