# USB ports on a HP docking station doesn't work properly



## tingo (Apr 20, 2017)

I have a "HP UltraSlim Docking Station" (product number B9C87AA) for my HP EliteBook Folio 9470m laptop. The docking station provides power and ports (usb, vga, DisplayPort, ethernet) to the laptop when the laptop is docked.
On my laptop, I run FreeBSD:

```
tingo@kg-elitebook$ uname -a
FreeBSD kg-elitebook.kg4.no 11.0-RELEASE-p9 FreeBSD 11.0-RELEASE-p9 #0: Tue Apr 11 08:48:40 UTC 2017
     root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  amd64
```
most things work (I have not tested all features yet), but the usb ports on the docking station doesn't work properly for all devices.
Example: I use a usb to ps/2 adapter, which works nicely when connected to one of the internal ports on the laptop:

```
root@kg-elitebook# usbconfig
ugen0.1: <XHCI root HUB 0x8086> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE (0mA)
ugen1.1: <EHCI root HUB Intel> at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA)
ugen2.1: <EHCI root HUB Intel> at usbus2, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA)
ugen0.2: <USB2134B SMSC> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA)
ugen1.2: <product 0x0024 vendor 0x8087> at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA)
ugen2.2: <product 0x0024 vendor 0x8087> at usbus2, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA)
ugen1.3: <product 0x003d vendor 0x138a> at usbus1, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (100mA)
ugen2.3: <product 0x07da vendor 0x8087> at usbus2, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (0mA)
ugen1.4: <product 0xb346 vendor 0x04f2> at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)
ugen0.4: <USB5534B SMSC> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE (0mA)
ugen0.3: <PS2+USB Mouse vendor 0x04f3> at usbus0, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON (100mA)
ugen0.5: <Generic USB KB vendor 0x13ba> at usbus0, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON (100mA)
```
shown here as ugen0.5 (the mouse at ugen0.3 is connected to a usb port on the docking station and works).
If I connect the usb to ps/2 adapter to a usb port on the docking station I get this in /var/log/messages:

```
Apr 19 13:20:03 kg-elitebook kernel: ugen0.5: <vendor 0x13ba> at usbus0
Apr 19 13:20:03 kg-elitebook kernel: ukbd0: <vendor 0x13ba Generic USB KB, class 0/0, rev 1.10/0.01, addr 8> on usbus0
Apr 19 13:20:03 kg-elitebook kernel: kbd2 at ukbd0
Apr 19 13:20:03 kg-elitebook kernel: ums1: <vendor 0x13ba Generic USB KB, class 0/0, rev 1.10/0.01, addr 8> on usbus0
Apr 19 13:20:03 kg-elitebook kernel: ums1: error reading report description
Apr 19 13:20:03 kg-elitebook kernel: device_attach: ums1 attach returned 12
```
This laptop has a multiboot installation on it, and in both Debian (8.7) and Fedora 25 the usb to ps/2 adapter works when connected to a usb port on the docking station.

How do I troubleshoot this further?


----------



## SirDice (Apr 20, 2017)

Is there any difference if the laptop is booted _then_ docked and booting while it's docked? If the system is already booted and then docked it may not have initialized things properly.


----------



## tingo (Apr 21, 2017)

the messages above are all for the "booting while docked" scenario. More tests coming up.


----------



## tingo (Apr 21, 2017)

If I boot up the machine undocked (and start Xorg and everything before docking), I get these messages in /var/log/messages when I dock the machine:

```
Apr 21 14:29:49 kg-elitebook kernel: ugen0.2: <SMSC> at usbus0
Apr 21 14:29:49 kg-elitebook kernel: uhub5: <SMSC USB5534B, class 9/0, rev 3.00/50.00, addr 1> on usbus0
Apr 21 14:29:49 kg-elitebook kernel: uhub5: 4 ports with 4 removable, self powered
Apr 21 14:29:50 kg-elitebook power_profile: changed to 'performance'
Apr 21 14:29:50 kg-elitebook kernel: ugen0.3: <SMSC> at usbus0
Apr 21 14:29:50 kg-elitebook kernel: uhub6: <SMSC USB2134B, class 9/0, rev 2.10/50.00, addr 2> on usbus0
Apr 21 14:29:50 kg-elitebook kernel: uhub6: MTT enabled
Apr 21 14:29:51 kg-elitebook kernel: uhub6: 4 ports with 4 removable, self powered
Apr 21 14:29:53 kg-elitebook kernel: usbd_setup_device_desc: getting device descriptor at addr 3 failed, USB_ERR_STALLED
Apr 21 14:29:53 kg-elitebook kernel: usbd_req_re_enumerate: addr=3, set address failed! (USB_ERR_IOERROR, ignored)
Apr 21 14:29:54 kg-elitebook kernel: usbd_setup_device_desc: getting device descriptor at addr 3 failed, USB_ERR_STALLED
Apr 21 14:29:55 kg-elitebook kernel: usbd_req_re_enumerate: addr=3, set address failed! (USB_ERR_IOERROR, ignored)
Apr 21 14:29:56 kg-elitebook kernel: usbd_setup_device_desc: getting device descriptor at addr 3 failed, USB_ERR_STALLED
Apr 21 14:29:56 kg-elitebook kernel: usbd_req_re_enumerate: addr=3, set address failed! (USB_ERR_IOERROR, ignored)
Apr 21 14:29:57 kg-elitebook kernel: usbd_setup_device_desc: getting device descriptor at addr 3 failed, USB_ERR_STALLED
Apr 21 14:29:58 kg-elitebook kernel: usbd_req_re_enumerate: addr=3, set address failed! (USB_ERR_IOERROR, ignored)
Apr 21 14:29:59 kg-elitebook kernel: usbd_setup_device_desc: getting device descriptor at addr 3 failed, USB_ERR_STALLED
Apr 21 14:29:59 kg-elitebook kernel: ugen0.4: <Unknown> at usbus0 (disconnected)
Apr 21 14:29:59 kg-elitebook kernel: uhub_reattach_port: could not allocate new device
Apr 21 14:30:00 kg-elitebook kernel: ugen0.4: <vendor 0x04f3> at usbus0
Apr 21 14:30:00 kg-elitebook root: Unknown USB device: vendor 0x138a product 0x003d bus uhub4
Apr 21 14:30:00 kg-elitebook root: Unknown USB device: vendor 0x04f2 product 0xb346 bus uhub4
Apr 21 14:30:00 kg-elitebook kernel: ums0: <vendor 0x04f3 PS2+USB Mouse, class 0/0, rev 1.10/22.90, addr 4> on usbus0
Apr 21 14:30:00 kg-elitebook kernel: ums0: 3 buttons and [XYZ] coordinates ID=0
Apr 21 14:30:00 kg-elitebook root: Unknown USB device: vendor 0x04f2 product 0xb346 bus uhub4
```
So no, they are not very different.


----------

