Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 Feb 2008 20:41:59 +0100
From:      Nikolaj Thygesen <mailinglist@diamondbox.dk>
To:        Paul Schmehl <pauls@utdallas.edu>
Cc:        FreeBSD Questions <freebsd-questions@freebsd.org>
Subject:   Re: 7.0 RC2 usb keyboard and mouse problems
Message-ID:  <47BDD407.6080009@diamondbox.dk>
In-Reply-To: <9922D43C5E8BF58214D7434E@utd59514.utdallas.edu>
References:  <9922D43C5E8BF58214D7434E@utd59514.utdallas.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
Paul Schmehl wrote:
> I just installed 7.0 RC2 on a brand new Dell - dual processor dual 
> core Intel (so four processors), and I'm losing the keyboard and mouse 
> after taking certain actions. For example, I started setting up X 
> (Xorg --configure) and then launched it (X -config 
> /root/xorg.conf-new), and when I get to the GUI the mouse and keyboard 
> are gone. Sometimes I can restore functionality by unplugging the 
> devices and then plugging them back in. This is happening in the 
> console as well, not just in the GUI.
>
> I've fetched the latest sources using cvsup. Will rebuilding the 
> kernel solve this problem? Is this a known issue?
>
> usbhidctl shows ums0, ums1, ukbd0 and ukbd1 to be busy.
>
> [root@utd65257 ~]# usbhidctl -a -f /dev/ums0
> usbhidctl: /dev/ums0: Device busy
> [root@utd65257 ~]# usbhidctl -a -f /dev/ums1
> usbhidctl: /dev/ums1: Device busy
> [root@utd65257 ~]# usbhidctl -a -f /dev/ukbd
> ukbd0 ukbd1
> [root@utd65257 ~]# usbhidctl -a -f /dev/ukbd0
> usbhidctl: /dev/ukbd0: Device busy
> [root@utd65257 ~]# usbhidctl -a -f /dev/ukbd1
> usbhidctl: /dev/ukbd1: Device busy
>
> This is what I see after unplugging both devices and plugging them in 
> to different usb receptacles.
>
> usbdevs
> addr 1: UHCI root hub, Intel
> addr 2: product 0x2105, vendor 0x413c
> addr 3: product 0x4d15, vendor 0x0461
> addr 1: UHCI root hub, Intel
> addr 1: EHCI root hub, Intel
> addr 1: UHCI root hub, Intel
> addr 1: UHCI root hub, Intel
> addr 1: UHCI root hub, Intel
> addr 3: product 0x2105, vendor 0x413c
> addr 2: product 0x4d15, vendor 0x0461
> addr 1: EHCI root hub, Intel
>
> FreeBSD utd65257.utdallas.edu 7.0-RC2-p1 FreeBSD 7.0-RC2-p1 #0: Tue 
> Feb 12 22:23:33 UTC 2008 
> root@i386-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC i386
>
> grep usb /var/run/dmesg.boot
> usb0: <UHCI (generic) USB controller> on uhci0
> usb0: USB revision 1.0
> uhub0: <Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb0
> usb1: <UHCI (generic) USB controller> on uhci1
> usb1: USB revision 1.0
> uhub1: <Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb1
> usb2: waiting for BIOS to give up control
> usb2: EHCI version 1.0
> usb2: wrong number of companions (3 != 2)
> usb2: companion controllers, 2 ports each: usb0 usb1
> usb2: <EHCI (generic) USB 2.0 controller> on ehci0
> usb2: USB revision 2.0
> uhub2: <Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1> on usb2
> usb3: <UHCI (generic) USB controller> on uhci2
> usb3: USB revision 1.0
> uhub3: <Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb3
> usb4: <UHCI (generic) USB controller> on uhci3
> usb4: USB revision 1.0
> uhub4: <Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb4
> usb5: <UHCI (generic) USB controller> on uhci4
> usb5: USB revision 1.0
> uhub5: <Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb5
> usb6: waiting for BIOS to give up control
> usb6: timed out waiting for BIOS
> usb6: EHCI version 1.0
> usb6: companion controllers, 2 ports each: usb3 usb4 usb5
> usb6: <EHCI (generic) USB 2.0 controller> on ehci1
> usb6: USB revision 2.0
> uhub6: <Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1> on usb6
>
> Any clues or help would be appreciated.
>

Hi Paul

I just spent about a week solving that very same issue. The thing is 
that in order for the usb mouse and keyboard to work during the initial 
boot sequence, ps/2 style devices are needed, so your bios is probably 
configured for simulating ps/2 (legacy) devices on usb. Keep it that way!
As the kernel boots, usb devices are suddenly supported, but present 
ps/2 devices (even the simulated legacy ones) will hide the usb devices 
from the kernel, so in order to get access to these the following lines 
must be added to "/boot/device.hints":

hint.atkbd.0.disable="1"
hint.atkbdc.0.disable="1"


I understand that only one of them is needed, but I have no idea which 
one. It supposedly differs from machine to machine.
The last crucial point (and the one I really fought with) is the fact 
that not all usb ports are created equal! If the above doesn't work, try 
switching usb ports. It seems some usb ports/hubs are preferred over 
others. On my machine the two front ports work, but the six ports on the 
rear of the machine don't :o(
At least it works now, and I no longer need to have two keyboards attached.

br - N :o)




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?47BDD407.6080009>