Subject: uhid + pckbdc / uhci + EHCI / wscons on i915 and probably i925 chipsets
To: None <current-users@netbsd.org>
From: Chris Tribo <ctribo@dtcc.edu>
List: current-users
Date: 02/03/2005 18:24:05
I have a 915 board with no PS/2 ports and 4 uhci root hubs, latched to
an EHCI USB 2 root hub.
Sometimes USB devices work, sometimes they don't and I have to ssh in
and reboot. This doesn't quite make sense to me. USB Legacy emulation
is enabled and cannot be disabled on this board. So if the usb ports
don't work, shouldn't keystrokes be passed to the PS2 port address? Or
is that once you reset the chip the BIOS doesn't do the shim for you
anymore?
Sometimes I can plug a USB device in and it recognizes and works,
unplug it, plug it back in into the same port and it isn't recognized.
I try every other port, and it still isn't recognized on any port.
Sometimes I can plug a device in, unplug it, plug it in, unplug it,
plug it in, nothing.
Sometimes if I plug it into port x and it's recognized, then I have to
plug it into port y the next time I want to use it, and vice versa.
The kernel always registers disconnects and detaches everything
correctly, but somewhere along the line it's missing attachment events.
I disabled ehci with userconf and the behavior is the same.
Now for the weirder part, if I keep plugging things into different
ports, and get lucky that one detects an attachment, all the other
devices that I plugged in earlier that weren't detected suddenly show
up.
I'm not convinced that this is necessarily an issue with the USB code
here, does this sound like a threads problem? Even at boot some devices
aren't detected when the kernel is starting. Does anyone else have a
machine with 8 usb ports onboard that works right?
I try to start X with /dev/wsmouse and /dev/wskbd. The mouse works, the
keyboard sometimes does not. syslog spools:
uhidev2: bad input length 4 != 0
wskbd1: disconnecting from wsdisplay0
wskbd1: event queue overflow
last message repeated 57 times
I don't know what's going on here, unless X is trying to directly probe
the ps/2 legacy port, tells it to reset, which then kills the usb
connection. I disabled pckbc in userconf and it hasn't happened again
yet.