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>