我的初步思路是如下:(你看看,有用没有)
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,可能以后拷盘巨慢吧。没试过。