Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 04 Nov 2014 00:05:34 +0000
From:      Steven Hartland <killing@multiplay.co.uk>
To:        "freebsd-usb@freebsd.org" <freebsd-usb@freebsd.org>
Subject:   ehci breaking Supermicro IPMI keyboard on uhci?
Message-ID:  <5458184E.5020801@multiplay.co.uk>

next in thread | raw e-mail | index | archive | help
Had the problem where the Supermicro IPMI keyboard wouldn't work on some 
machines for a while, tonight I finally had time to play with all the 
options to see if anything would make it work.

Turns out adding the following to loader.conf does fixes the issue:
hint.ehci.0.disabled="1"

So the question is why would this help?

Surely disabling one controller shouldn't make devices attached to 
another work?

Messages when working (with ehci.0 disabled):
Nov  3 23:18:42 test1 kernel: usbus0 on uhci0
Nov  3 23:18:42 test1 kernel: usbus1 on uhci1
Nov  3 23:18:42 test1 kernel: usbus2 on uhci2
Nov  3 23:18:42 test1 kernel: usbus0: 12Mbps Full Speed USB v1.0
Nov  3 23:18:42 test1 kernel: usbus1: 12Mbps Full Speed USB v1.0
Nov  3 23:18:42 test1 kernel: usbus2: 12Mbps Full Speed USB v1.0
Nov  3 23:18:42 test1 kernel: ugen1.1: <Intel> at usbus1
Nov  3 23:18:42 test1 kernel: uhub0: <Intel UHCI root HUB, class 9/0, 
rev 1.00/1.00, addr 1> on usbus1
Nov  3 23:18:42 test1 kernel: ugen0.1: <Intel> at usbus0
Nov  3 23:18:42 test1 kernel: uhub1: <Intel UHCI root HUB, class 9/0, 
rev 1.00/1.00, addr 1> on usbus0
Nov  3 23:18:42 test1 kernel: ugen2.1: <Intel> at usbus2
Nov  3 23:18:42 test1 kernel: uhub2: <Intel UHCI root HUB, class 9/0, 
rev 1.00/1.00, addr 1> on usbus2
Nov  3 23:18:42 test1 kernel: Root mount waiting for: usbus2
Nov  3 23:18:42 test1 kernel: ugen2.2: <Peppercon AG> at usbus2
Nov  3 23:18:42 test1 kernel: ukbd0: <Peppercon AG Multidevice, class 
0/0, rev 2.00/0.01, addr 2> on usbus2

usbconfig list
ugen1.1: <UHCI root HUB Intel> at usbus1, cfg=0 md=HOST spd=FULL 
(12Mbps) pwr=SAVE (0mA)
ugen0.1: <UHCI root HUB Intel> at usbus0, cfg=0 md=HOST spd=FULL 
(12Mbps) pwr=SAVE (0mA)
ugen2.1: <UHCI root HUB Intel> at usbus2, cfg=0 md=HOST spd=FULL 
(12Mbps) pwr=SAVE (0mA)
ugen2.2: <Multidevice Peppercon AG> at usbus2, cfg=0 md=HOST spd=FULL 
(12Mbps) pwr=ON (100mA)

Messages when not working:
Nov  3 23:02:45 test1 kernel: usbus0 on uhci0
Nov  3 23:02:45 test1 kernel: usbus1 on uhci1
Nov  3 23:02:45 test1 kernel: usbus2 on uhci2
Nov  3 23:02:45 test1 kernel: usbus3: EHCI version 1.0
Nov  3 23:02:45 test1 kernel: usbus3 on ehci0
Nov  3 23:02:45 test1 kernel: usbus0: 12Mbps Full Speed USB v1.0
Nov  3 23:02:45 test1 kernel: usbus1: 12Mbps Full Speed USB v1.0
Nov  3 23:02:45 test1 kernel: usbus2: 12Mbps Full Speed USB v1.0
Nov  3 23:02:45 test1 kernel: usbus3: 480Mbps High Speed USB v2.0
Nov  3 23:02:45 test1 kernel: ugen1.1: <Intel> at usbus1
Nov  3 23:02:45 test1 kernel: uhub0: <Intel UHCI root HUB, class 9/0, 
rev 1.00/1.00, addr 1> on usbus1
Nov  3 23:02:45 test1 kernel: ugen0.1: <Intel> at usbus0
Nov  3 23:02:45 test1 kernel: uhub1: <Intel UHCI root HUB, class 9/0, 
rev 1.00/1.00, addr 1> on usbus0
Nov  3 23:02:45 test1 kernel: ugen3.1: <Intel> at usbus3
Nov  3 23:02:45 test1 kernel: uhub2: <Intel EHCI root HUB, class 9/0, 
rev 2.00/1.00, addr 1> on usbus3
Nov  3 23:02:45 test1 kernel: ugen2.1: <Intel> at usbus2
Nov  3 23:02:45 test1 kernel: uhub3: <Intel UHCI root HUB, class 9/0, 
rev 1.00/1.00, addr 1> on usbus2
Nov  3 23:02:45 test1 kernel: Root mount waiting for: usbus3
Nov  3 23:02:45 test1 kernel: Root mount waiting for: usbus3
Nov  3 23:02:45 test1 kernel: Root mount waiting for: usbus3
Nov  3 23:02:45 test1 kernel: usb_alloc_device: set address 2 failed 
(USB_ERR_IOERROR, ignored)
Nov  3 23:02:45 test1 kernel: Root mount waiting for: usbus3
Nov  3 23:02:45 test1 kernel: Root mount waiting for: usbus3
Nov  3 23:02:45 test1 kernel: usbd_setup_device_desc: getting device 
descriptor at addr 2 failed, USB_ERR_IOERROR
Nov  3 23:02:45 test1 kernel: Root mount waiting for: usbus3
Nov  3 23:02:45 test1 kernel: usbd_req_re_enumerate: addr=2, set address 
failed! (USB_ERR_IOERROR, ignored)
Nov  3 23:02:45 test1 kernel: Root mount waiting for: usbus3
Nov  3 23:02:45 test1 kernel: usbd_setup_device_desc: getting device 
descriptor at addr 2 failed, USB_ERR_IOERROR
Nov  3 23:02:45 test1 kernel: Root mount waiting for: usbus3
Nov  3 23:02:45 test1 kernel: Root mount waiting for: usbus3
Nov  3 23:02:45 test1 kernel: usbd_req_re_enumerate: addr=2, set address 
failed! (USB_ERR_IOERROR, ignored)
Nov  3 23:02:45 test1 kernel: Root mount waiting for: usbus3
Nov  3 23:02:45 test1 kernel: usbd_setup_device_desc: getting device 
descriptor at addr 2 failed, USB_ERR_IOERROR
Nov  3 23:02:45 test1 kernel: Root mount waiting for: usbus3
Nov  3 23:02:45 test1 kernel: usbd_req_re_enumerate: addr=2, set address 
failed! (USB_ERR_IOERROR, ignored)
Nov  3 23:02:45 test1 kernel: Root mount waiting for: usbus3
Nov  3 23:02:45 test1 kernel: Root mount waiting for: usbus3
Nov  3 23:02:45 test1 kernel: usbd_setup_device_desc: getting device 
descriptor at addr 2 failed, USB_ERR_IOERROR
Nov  3 23:02:45 test1 kernel: Root mount waiting for: usbus3
Nov  3 23:02:45 test1 kernel: usbd_req_re_enumerate: addr=2, set address 
failed! (USB_ERR_IOERROR, ignored)
Nov  3 23:02:45 test1 kernel: Root mount waiting for: usbus3
Nov  3 23:02:45 test1 kernel: usbd_setup_device_desc: getting device 
descriptor at addr 2 failed, USB_ERR_IOERROR
Nov  3 23:02:45 test1 kernel: Root mount waiting for: usbus3
Nov  3 23:02:45 test1 kernel: usbd_req_re_enumerate: addr=2, set address 
failed! (USB_ERR_IOERROR, ignored)
Nov  3 23:02:45 test1 kernel: Root mount waiting for: usbus3
Nov  3 23:02:45 test1 kernel: Root mount waiting for: usbus3
Nov  3 23:02:45 test1 kernel: usbd_setup_device_desc: getting device 
descriptor at addr 2 failed, USB_ERR_IOERROR
Nov  3 23:02:45 test1 kernel: usb_alloc_device: Failure selecting 
configuration index 0:USB_ERR_IOERROR, port 6, addr 2 (ignored)
Nov  3 23:02:45 test1 kernel: ugen3.2: <vendor 0x14dd> at usbus3

usbconfig list
ugen1.1: <UHCI root HUB Intel> at usbus1, cfg=0 md=HOST spd=FULL 
(12Mbps) pwr=SAVE (0mA)
ugen0.1: <UHCI root HUB Intel> at usbus0, cfg=0 md=HOST spd=FULL 
(12Mbps) pwr=SAVE (0mA)
ugen3.1: <EHCI root HUB Intel> at usbus3, cfg=0 md=HOST spd=HIGH 
(480Mbps) pwr=SAVE (0mA)
ugen2.1: <UHCI root HUB Intel> at usbus2, cfg=0 md=HOST spd=FULL 
(12Mbps) pwr=SAVE (0mA)




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5458184E.5020801>