LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1785|回复: 5

键盘有问题怎么办?(已解决)

[复制链接]
发表于 2005-3-18 23:30:47 | 显示全部楼层 |阅读模式
在XP下面是没有问题的。在linux下就有。FC3有时候会在启动的时候出现i8239错误,因为是红色的比较好发现;gentoo也许有,但是发现不了。每次出现问题的时候,键盘就用不了。问题似乎是随机发生的。
另外,gentoo下安装了X之后,X下面每次打开终端都会出现什么FONT找不到的消息,然后键盘就有问题了。但可以切换到字符终端,再切换回来就什么事没有。Xterm和gnome的终端都一样会有这个问题。不知道是什么地方出了毛病?
我周末不跟我机器一起,等回去以后把kernel.config贴上来给大侠参考。
 楼主| 发表于 2005-3-21 00:56:18 | 显示全部楼层
下面附件是我的kernel.config文件。

有可能是内核编译时有些配置不正确造成键盘错误。请大侠们指教!

(另外,有可能是系统切换到64位模式时出现问题,因为32位的XP没有问题,刚刚刻好的32位iBox也没有问题──但测试并不全面)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-3-22 01:46:19 | 显示全部楼层
看到关于i8042.c初始化失败的消息,估计跟这个有关。
找源代码,发现/usr/src/linux/drivers/input/serio/i8042-io.h文件里面有如下内容:
#if defined(__i386__)
        if (dmi_check_system(i8042_dmi_table))
                i8042_noloop = 1;
#endif

我的平台是__x86_64__,该代码不会被执行。大概就因为这个缘故,所以会随机出现问题(没有执行dmi_check_system函数)。

改为
#if defined(__i386__) && defined(__x86_64__)
        if (dmi_check_system(i8042_dmi_table))
                i8042_noloop = 1;
#endif

重新编译中。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-3-22 02:00:21 | 显示全部楼层
重新编译成功,一切正常。但因为原来的错误不是每次都会出现,所以还需要观察。

至于X终端的故障依然如故。经查,是因为我根据gentoo UTF-8 HOWTO文档所述,在
/etc/profile文件中加入了
unicode-start
这一行的缘故。把它去掉就好了。

现在如果键盘的错误不再出现,我的gentoo就算大功告成了!!!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-3-22 09:49:01 | 显示全部楼层
还是有问题。网上查找
i8042.c: Can't read CTR
找到一大堆资料,估计是个带有共同性的问题。

资料中建议使用i8042.noacpi=1参数来启动内核,等下试试看。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-3-22 14:28:51 | 显示全部楼层
我的现象跟
http://www.ussg.iu.edu/hypermail/linux/kernel/0410.0/1416.html
这里描述的一模一样。按照那位大侠的方法,在BIOS中关闭了“USB legacy device support”
之后重起5次,均正常。

有谁知道unicode-start这个东西是干嘛的?为什么会把X终端搞乱掉呢?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表