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)

_______________________________________________
freebsd-usb@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"

Reply via email to