请教X下的鼠标配置

期待NetBSD6.0在桌面开发上的进展。

版主: lionux

回复
头像
leo
帖子: 2465
注册时间: 2010-01-21 3:27

请教X下的鼠标配置

帖子 leo » 2010-09-29 23:40

鼠标是微软的两键带转轮usb鼠标,Xorg.0.log里没有关于鼠标的(EE)类错误,但是X下鼠标不能动,在shell下键入wsmoused也没有出现字符界面的鼠标,先放在这里求解求解。
已经尝试过的方案:
1. 修改鼠标协议为"auto"、"Auto"
2. 已经在rc.conf里启用了hal
3. 尝试将原鼠标设置的"4 5 6 7"更改为4,5或“4 5 6”

此外现在是在新机器上安装的NetBSD 5.1 RC4,显卡是ATI, 存在和John.F 一样的问题 —— 显卡3D加速初始化失败,正在找找解决方案。


附上,Xorg.0.log和xorg.conf.new
附件
xorg.conf.new.tar.gz
(1.34 KiB) 下载 1058 次
Xorg.0.log.tar.gz
(5.33 KiB) 下载 603 次

头像
leo
帖子: 2465
注册时间: 2010-01-21 3:27

帖子 leo » 2010-09-30 11:23

可能是NetBSD还不识别系统上uhub, 有类似的显示,将鼠标接到机器前端的usb接口,鼠标已经OK了。

wkx9dragon
锌 Zn
帖子: 493
注册时间: 2010-02-02 18:00

帖子 wkx9dragon » 2010-10-02 8:07

把dmesg 发过来看看,我试试我的思路对不对。

头像
leo
帖子: 2465
注册时间: 2010-01-21 3:27

帖子 leo » 2010-10-02 11:48

多谢,我估计是usb接口芯片的问题,此外还有显卡初始化加速功能等。
试试你的思路如何?

wkx9dragon
锌 Zn
帖子: 493
注册时间: 2010-02-02 18:00

帖子 wkx9dragon » 2010-10-02 16:59

我的初步思路是如下:(你看看,有用没有)
1)比如,像你的这种情况,是鼠标问题。
命令: dmesg | grep -i mouse
结果:
uhidev2: Microsoft Microsoft Basic Optical Mouse, rev 1.10/1.04, addr 2, iclass 3/1 (第二部分关键)
wsmouse0 at ums0 mux 0
wsmouse0: detached (发现问题所在)
uhidev2: Microsoft Microsoft Basic Optical Mouse, rev 1.10/1.04, addr 2, iclass 3/1
wsmouse0 at ums0 mux 0
wsmouse0: detached
uhidev2: Microsoft Microsoft Basic Optical Mouse, rev 1.10/1.04, addr 2, iclass 3/1
wsmouse0 at ums0 mux 0
wsmouse0: detached
uhidev2: Microsoft Microsoft Basic Optical Mouse, rev 1.10/1.04, addr 2, iclass 3/1
wsmouse0 at ums0 mux 0

2)
命令: dmesg | grep -i uhidev2
结果:
uhidev2 at uhub4 port 1 configuration 1 interface 0
uhidev2: Microsoft Microsoft Basic Optical Mouse, rev 1.10/1.04, addr 2, iclass 3/1
ums0 at uhidev2: 3 buttons and Z dir
uhidev2: at uhub4 port 1 (addr 2) disconnected (第三步,关键)
uhidev2: detached
uhidev2 at uhub4 port 1 configuration 1 interface 0

uhidev2: Microsoft Microsoft Basic Optical Mouse, rev 1.10/1.04, addr 2, iclass 3/1
ums0 at uhidev2: 3 buttons and Z dir
uhidev2: at uhub4 port 1 (addr 2) disconnected
uhidev2: detached
uhidev2 at uhub4 port 1 configuration 1 interface 0
uhidev2: Microsoft Microsoft Basic Optical Mouse, rev 1.10/1.04, addr 2, iclass 3/1
ums0 at uhidev2: 3 buttons and Z dir
uhidev2: at uhub4 port 1 (addr 2) disconnected
uhidev2: detached
uhidev2 at uhub4 port 1 configuration 1 interface 0
uhidev2: Microsoft Microsoft Basic Optical Mouse, rev 1.10/1.04, addr 2, iclass 3/1
ums0 at uhidev2: 3 buttons and Z dir

3)
命令: dmesg | grep -i uhub4
结果:
uhub4 at usb4: vendor 0x1002 OHCI root hub, class 9/0, rev 1.00/1.00, addr 1 (发现问题所在,OHCI,如果不太明白,第四步)
uhub4: 3 ports with 3 removable, self powered
uhidev2 at uhub4 port 1 configuration 1 interface 0
uhidev2: at uhub4 port 1 (addr 2) disconnected
uhidev2 at uhub4 port 1 configuration 1 interface 0
uhidev2: at uhub4 port 1 (addr 2) disconnected
uhidev2 at uhub4 port 1 configuration 1 interface 0
uhidev2: at uhub4 port 1 (addr 2) disconnected
uhidev2 at uhub4 port 1 configuration 1 interface 0

4)
命令:dmesg | grep -i ohci
结果:
ohci0 at pci0 dev 18 function 0: vendor 0x1002 product 0x4397 (rev. 0x00)
ohci0: interrupting at ioapic0 pin 16
ohci0: OHCI version 1.0, legacy support
usb0 at ohci0: USB revision 1.0
ohci1 at pci0 dev 18 function 1: vendor 0x1002 product 0x4398 (rev. 0x00)
ohci1: interrupting at ioapic0 pin 16
ohci1: OHCI version 1.0, legacy support
usb1 at ohci1: USB revision 1.0
ehci0: companion controllers, 3 ports each: ohci0 ohci1
ohci2 at pci0 dev 19 function 0: vendor 0x1002 product 0x4397 (rev. 0x00)
ohci2: interrupting at ioapic0 pin 18
ohci2: OHCI version 1.0, legacy support
usb3 at ohci2: USB revision 1.0
ohci3 at pci0 dev 19 function 1: vendor 0x1002 product 0x4398 (rev. 0x00)
ohci3: interrupting at ioapic0 pin 18
ohci3: OHCI version 1.0, legacy support
usb4 at ohci3: USB revision 1.0
ehci1: companion controllers, 3 ports each: ohci2 ohci3
ohci4 at pci0 dev 20 function 5: vendor 0x1002 product 0x4399 (rev. 0x00)
ohci4: interrupting at ioapic0 pin 18
ohci4: OHCI version 1.0, legacy support
usb6 at ohci4: USB revision 1.0
uhub0 at usb0: vendor 0x1002 OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1 at usb1: vendor 0x1002 OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub3 at usb3: vendor 0x1002 OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub4 at usb4: vendor 0x1002 OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub6 at usb6: vendor 0x1002 OHCI root hub, class 9/0, rev 1.00/1.00, addr 1

分析:
ohci3 at pci0 dev 19 function 1: vendor 0x1002 product 0x4398 (rev. 0x00)
ohci3: interrupting at ioapic0 pin 18
ohci3: OHCI version 1.0, legacy support
usb4 at ohci3: USB revision 1.0
ehci1: companion controllers, 3 ports each: ohci2 ohci3
说明你的鼠标用的是usb4端口,他被ohci3 驱动程序控制,但是“ehci1: companion controllers”同时控制ohci2和ohci3,驱动程序在某种程度上出现了冲突。
uhidev2: at uhub4 port 1 (addr 2) disconnected
uhidev2: detached
uhidev2 at uhub4 port 1 configuration 1 interface 0
uhidev2: Microsoft Microsoft Basic Optical Mouse, rev 1.10/1.04, addr 2, iclass 3/1
ums0 at uhidev2: 3 buttons and Z dir

解决办法:(软件方法现在还在摸索)
相关知识:
http://zh.wikipedia.org/zh-cn/USB

相似方案:
比如我的主板790gx(和你的一样微星的主板,amd 7系芯片组,不知道你有没有acpi启动崩溃问题,我估摸着,应该是有的,希望你没有这个问题。),软件解决办法是定制内核。
vim GENERIC
注释掉 ehci,共3个。
然后编译,得到netbsd,复制到/目录下,改名netbsd.wkx9dragon,修改boot。cfg 把里面的netbsd改为netbsd.wkx9dragon,好了重启,一切OK,副作用是,ohci是usb1.0-1.1协议,ehci是usb2.0,可能以后拷盘巨慢吧。没试过。

头像
leo
帖子: 2465
注册时间: 2010-01-21 3:27

帖子 leo » 2010-10-02 21:40

首先感谢wkx9dragon的精辟分析。
因为前端面板上有一个usb1.X的接口,所以暂时可以使用这个接口连接鼠标,我目前先不禁用ehci, 想等等看过段时间源代码更新后是否有变化。——如果不行再修改内核。
我安装的是最新的NetBSD-5.1 RC4,一直使用默认的启动选项,目前没有发现acpi启动崩溃的问题。—— 这个就不知道是否是版本的问题了,因为老版本不识别大硬盘,在这台计算机上无法安装。所以不能提供参考对比。

wkx9dragon
锌 Zn
帖子: 493
注册时间: 2010-02-02 18:00

帖子 wkx9dragon » 2010-10-02 21:47

你太幸福了,我也是5。1rc4呀,我的电脑直接卡死。db跟踪,发现init_x86_64() 就崩溃了,我都服了,正在看源码中。

头像
leo
帖子: 2465
注册时间: 2010-01-21 3:27

帖子 leo » 2010-10-02 21:53

我这是先苦后甜,你们原来能用的时候我这里还不识别大硬盘呢,呵呵。
试试5.99.39,最好用内存内核的安装方式安装,因为我刻录了两张ISO目录下的镜像文件,都是在多台计算机上无法启动,这张NetBSD5.1 RC4可以启动并安装对我来说也算个小奇迹了。
最新的在这里http://nyftp.netbsd.org/pub/NetBSD-daily/HEAD/201010010000Z/amd64/binary/kernel/,10月1日出的。将里面的netbsd-INSTALL.gz 解压缩后(NetBSD下不行就先在Windows下用7Z解压缩)放在 / 下,用这个内核启动后选择升级就可以直接将5.0X升级为5.99.39了。—— 升级时还有一点需要注意的是,要正确输入安装组件的位置。

头像
leo
帖子: 2465
注册时间: 2010-01-21 3:27

帖子 leo » 2010-10-02 22:13

wkx9dragon 写了:你太幸福了,我也是5。1rc4呀,我的电脑直接卡死。db跟踪,发现init_x86_64() 就崩溃了,我都服了,正在看源码中。
怎么状况有点像我刻录的5.99.39那两张盘的启动情形,可惜我已经给扔了—— 印象不深了。

wkx9dragon
锌 Zn
帖子: 493
注册时间: 2010-02-02 18:00

帖子 wkx9dragon » 2010-10-03 9:24

算了,5.99.39问题还是依旧。初步分析,SMI_CMD 值为零,hwacpi.c 所以崩溃了。没有汇编知识,对硬件也不太了解,干瞪眼呀。不知道怎么改。看着寄存器的值,都不知道如何办。你知道,看见远山,怎么也走不到,是什么心情吗?说不出来呀。

头像
leo
帖子: 2465
注册时间: 2010-01-21 3:27

帖子 leo » 2010-10-03 9:33

wkx9dragon 写了:算了,5.99.39问题还是依旧。初步分析,SMI_CMD 值为零,hwacpi.c 所以崩溃了。没有汇编知识,对硬件也不太了解,干瞪眼呀。不知道怎么改。看着寄存器的值,都不知道如何办。你知道,看见远山,怎么也走不到,是什么心情吗?说不出来呀。
你果真已经深入到源程序的层次了,我听得像天书一般,佩服佩服,这种情形下我只能等源代码修正了。

回复

在线用户

正浏览此版面之用户: 没有注册用户 和 21 访客