Bug 20176

Summary: 4.1-RC[23]: usb keyboard and mouse no longer work
Product: Base System Reporter: celacunza <celacunza>
Component: kernAssignee: Nick Hibma <n_hibma>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Unspecified   
Hardware: Any   
OS: Any   

Description celacunza 2000-07-25 15:10:00 UTC
after upgrading to 4.1-RC2 (from 4.0-RELEASE), 
usb keyboard/mouse no longer work,
with or without bios legacy usb support.
(didn't see any way to turn plug-n-play on or off)

is it possible to use this kbd/mouse?

some dmesg output:

bios32: Found BIOS32 Service Directory header at 0xc00f8140
bios32: Entry = 0xfd6e0 (c00fd6e0)  Rev = 0  Len = 1
pcibios: PCI BIOS entry at 0x12c
pnpbios: Found PnP BIOS data at 0xc00f8190
pnpbios: Entry = f0000:ac15  Rev = 1.0
Other BIOS signatures found:
ACPI: 000f8170
...
uhci0: <VIA 83C572 USB controller> port 0x18c0-0x18df irq 9 at device 4.2 on pci0
usb0: <VIA 83C572 USB controller> on uhci0
usb0: USB revision 1.0
uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhub0: port 1 power on failed, IOERROR
uhub0: port 2 power on failed, IOERROR
uhub1: HP Multimedia Keyboard Hub, class 9/0, rev 1.10/0.01, addr 2
uhub1: 3 ports with 2 removable, bus powered
ukbd0: HP Multimedia Keyboard Hub, rev 1.10/0.01, addr 3, iclass 3/1
kbd: new array size 4
kbd1 at ukbd0
kbd1: ukbd0, generic (0), config:0x0, flags:0x1d0000
uhid0: HP Multimedia Keyboard Hub, rev 1.10/0.01, addr 3, iclass 3/0
ums0: Logitech N48, rev 1.00/4.01, addr 4, iclass 3/1
ums0: 3 buttons and Z dir.
uhci1: <VIA 83C572 USB controller> port 0xfce0-0xfcff irq 0 at device 4.3 on pci0
uhci1: Invalid irq 0
uhci1: Please switch on USB support and switch PNP-OS to 'No' in BIOS
device_probe_and_attach: uhci1 attach returned 6

Fix: 

keyboard and mouse work if you use 4.0-RELEASE + legacy usb
support in the bios, but it would be nice to be able to use
4.1-RELEASE when it comes out.
How-To-Repeat: i get the same errors (and non-functioning keyboard and mouse)
if i boot from the -RC3 floppies.
Comment 1 Sheldon Hearn freebsd_committer freebsd_triage 2000-07-25 15:32:12 UTC
Responsible Changed
From-To: freebsd-bugs->n_hibma

Nick's area.
Comment 2 n_hibma 2000-07-25 17:32:53 UTC
First of all, thanks for the extensive bug report.

In the dmesg you cut&pasted into the PR you can see that the uhci
controller has problems attaching to the hardware:

uhci1: <VIA 83C572 USB controller> port 0xfce0-0xfcff irq 0 at device
4.3 on pci0
     uhci1: Invalid irq 0
     uhci1: Please switch on USB support and switch PNP-OS to 'No' in
BIOS
     device_probe_and_attach: uhci1 attach returned 6

The problem is that your BIOS has switched on the UHCI PCI controller,
but not assigned it an IRQ.

Could you have a look again in your BIOS and tell me exactly which
settings there are that relate to either

    legacy hardware support

or mention the word

    USB

In any other case, the answer to your question is unfortunately no. Your
BIOS has a broken implementation of the PnP specification and does not
assign all the resources correctly. Windows does the PnP allocation
itself, so it won't be a problem there. FreeBSD will at some stage
include better support for PnP devices, but until then you are out of
luck. The only thing you can do is not compile in support for USB into
your FreeBSD kernel and use keyboard and mouse in legacy mode.

Nick

--
Work: n_hibma@qubesoft.com             Personal: n_hibma@webweaving.org
Comment 3 Nick Hibma freebsd_committer freebsd_triage 2000-07-25 17:42:06 UTC
State Changed
From-To: open->feedback

Requested feedback from submitter.
Comment 4 celacunza 2000-07-26 17:28:42 UTC
i looked through the BIOS, but didn't see anything.
i guess i am out of luck.


__________________________________________________
Do You Yahoo!?
Get Yahoo! Mail - Free email you can access from anywhere!
http://mail.yahoo.com/
Comment 5 Nick Hibma freebsd_committer freebsd_triage 2000-08-09 13:36:48 UTC
State Changed
From-To: feedback->closed

There is nothing we can do until we have PnP enumeration in 
FreeBSD.