USB-C docking station not operational on Librem Mini

Hi,

I received the Librem Mini, while it works pretty well so far, it doesn seems to make a proper use of my hyperdrive slim 8-in-1 usb-c hub. The hub is working on my work laptop with Windows 10, so this hardware doesn’t seems at fault. The USB-C port on the librem mini is also working as I can read the content of the Librem Vault bundled with the machine.

So far, I have connected USB-A storage devices and the Librem Vault to the hub, but they are not detected by the system. However, I see a led lit inside the hub so it seems to receive power from the computer.

lsusb seems to detect the hub but not what is connected to it. See below for the details.

Any idea about what could be wrong? Any additional thing to check?

# lsusb showing the hyperdrive hub on `bus 001 device 010` and a kingston thumb drive on `bus 001 device 011`.
# The kingston DataTraveler is connected to one of the USB port on the front of the Librem Mini.
roland@dark:~$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 04ca:300d Lite-On Technology Corp. Atheros AR3012 Bluetooth
Bus 001 Device 010: ID 1a40:0801 Terminus Technology Inc. 
Bus 001 Device 011: ID 0951:1643 Kingston Technology DataTraveler G3
Bus 001 Device 002: ID 1bcf:0005 Sunplus Innovation Technology Inc. Optical Mouse
Bus 001 Device 006: ID 1d50:6122 OpenMoko, Inc. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

# lsusb showing the hyperdrive hub on `bus 001 device 010` and not the kingston thumb drive.
# The kingston DataTraveler is connected to one of the USB-A port of the hyperdrive hub.
roland@dark:~$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 04ca:300d Lite-On Technology Corp. Atheros AR3012 Bluetooth
Bus 001 Device 010: ID 1a40:0801 Terminus Technology Inc. 
Bus 001 Device 002: ID 1bcf:0005 Sunplus Innovation Technology Inc. Optical Mouse
Bus 001 Device 006: ID 1d50:6122 OpenMoko, Inc. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub


# Detailed output of lsusb for the hyperdrive hub.
roland@dark:~$ sudo lsusb -s 001:010 -v

Bus 001 Device 010: ID 1a40:0801 Terminus Technology Inc. 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 
  bDeviceProtocol         1 Single TT
  bMaxPacketSize0        64
  idVendor           0x1a40 Terminus Technology Inc.
  idProduct          0x0801 
  bcdDevice            1.00
  iManufacturer           0 
  iProduct                1 USB 2.0 Hub
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0019
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         9 Hub
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 Full speed (or root) hub
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0001  1x 1 bytes
        bInterval              12
Hub Descriptor:
  bLength               9
  bDescriptorType      41
  nNbrPorts             4
  wHubCharacteristic 0x0000
    Ganged power switching
    Ganged overcurrent protection
    TT think time 8 FS bits
  bPwrOn2PwrGood       50 * 2 milli seconds
  bHubContrCurrent    100 milli Ampere
  DeviceRemovable    0x00
  PortPwrCtrlMask    0xff
 Hub Port Status:
   Port 1: 0000.0100 power
   Port 2: 0000.0100 power
   Port 3: 0000.0100 power
   Port 4: 0000.0100 power
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 
  bDeviceProtocol         0 Full speed (or root) hub
  bMaxPacketSize0        64
  bNumConfigurations      1
can't get debug descriptor: Resource temporarily unavailable
Device Status:     0x0001
  Self Powered
roland@dark:~$

When you connect the USB-C hub, do you see anything in dmesg ?

Are you expecting video out to the docking station? - because I don’t think video out via the USB-C port is available on the Librem Mini - and that may be causing enough confusion to make other things not work.

perhaps it’s not SUCH a big deal on the LMini but on the L5 if you can’t video-out via usb-c then …

I do expect, at least, for the USB-A and USB-C ports of the hub to work.

I will check.

@amosbatto, yes the hub do appear in dmesg, see below.

[  610.747251] usb 1-6: new high-speed USB device number 6 using xhci_hcd
[  610.895627] usb 1-6: New USB device found, idVendor=1a40, idProduct=0801, bcdDevice= 1.00
[  610.895629] usb 1-6: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[  610.895629] usb 1-6: Product: USB 2.0 Hub
[  610.896307] hub 1-6:1.0: USB hub found
[  610.896326] hub 1-6:1.0: 4 ports detected

I see it says 4 ports detected (on the hub?). Did you try your USB drive on different hub ports?

There are 2 USB-A port and one USB-C port, I tried all of them without any reaction from the system.

The other ports are 2 ports for SD cards, an Ethernet port, and 2 HDMI ports.

Sounds to me like its only picking up half your ports, though I couldn’t tell you why. You can try to plug an SD card into one or both of those ports to confirm this.

I will try that once I finish moving to my new home. Not sure I will have much time until then.

Thank you for your suggestions.

Yes, me too: 1×USB-C to computer + 2×USB-A and 1×USB-C PD. Anyway, with HD247B USB-C Hub prior firmware upgrade might help (WIN10 is necessary to be used for Device ID: 1A40:0801). I also think @montaropdf should consider usage of uhubctl (Buster link is here) and here is one, hopefully useful, example (of usage).

Here is another 1A40:0801 link relating to “missing the kernel drivers”, but let us hope there will be solution found sooner-than-later.

1 Like

Which Linux OS are you using on the Mini?

I would cross-checked this if this problem is caused by the used Linux OS or the Librem Mini
by attaching the dock to another hardware with the same OS.

1 Like

I use the stock PureOS pre-installed on the Librem Mini.

1 Like

@MrChromebox ^^

looking at the product info on Amazon, it lists compatibility for laptops as “All models supporting video output over USB-C (DisplayPort Alt Mode).” No current Librem laptops support that (the Librem 14 will be the first to do so). While it might be reasonable to expect that some of the other functions of the hub would still work, that’s somewhat dependent on the hub firmware and there’s no way to know how it’s going to function when there’s no USB-C DP Alt Mode and no USB-C PD.

2 Likes

@montaropdf, as I now somehow guess (to bother again) that your USB Hub uses VIA Labs, Inc. Host Controller (or some other, yet not any of those visible at all and therefore another suggestion of mine, just perhaps worth of trying) can you Save this Page As… or better Save usb.ids Link As… to Downloads and try again with lsusb output:

$ cd /home/user-name/Downloads
$ sudo cp usb.ids /var/lib/usbutils
$ sudo lsusb

But as first, please make a backup of your current usb.ids file, compare old and new one, whatever!

For example, this partial output belongs (related when connected) to my USB Hub (IMO, there is none lsusb output from/for your device):
Bus 002 Device 022: ID 2109:8818 VIA Labs, Inc.
Bus 002 Device 020: ID 058f:8468 Alcor Micro Corp.
Bus 002 Device 018: ID 2109:2822 VIA Labs, Inc.

P.S. And just ignore my 1a40:0801 Terminus Technology Inc. comment above! Instead, I hope this here helps, good luck!

Did you try if adapter like this USB 3.1 Type-C Female to USB 3.0 A Male works (shares data) with your HyperDrive USB Hub?

Hello,

Sorry to reply so late, a lot of things happens during the past months and this pass under the radar.

For the time being, this issue is not in my top priority as I use the device with the laptop provided by my customer to work from home.

However, I have not browsed the store lately, but, I thing that there is no indication about the supported features of the USB-C port and the same applies to the HDMI port too. It would be great to have such information available there, so it is possible to make sound decision about which devices to buy for Librem products.

Thank you for your time and hoping everything is fine for you.

This would appear to be correct. Even where the information is present, it may not have been expressed clearly enough for the non- or averagely-technical user.

Comparing:

Librem 14 - USB Type-C Video Out (4K capable) ; USB Type-C 3.1 ; USB Type-C (data transfer only)

Librem 15 - USB 3 (Type C) 5 Gbit/s 1 Port (data transfer only)

Librem Mini - TypeC 3.1 1 Port

I would say, Librem 14 info is downright confusing and almost contradictory, Librem 15 info is correct, Librem Mini info is incomplete.

Can someone get this tidied up? @joao.azevedo ?

Part of the blame goes to the USB consortium who want a USB port to be all things to all men. So you need an essay per USB port just to explain what parts of the USB specification are supported and what parts are not, not to mention the burgeoning USB version numbers and horrible USB version naming convention and multiple USB connector types.

This is not so easy though. No company can tell you for every USB device on the planet whether the USB device does or does not work with one or more of their products. At best, a company like Purism could list a few devices of a given type that have been tested and found to work (or indeed those that were tested and found not to work).

For video over USB-C there are hardware considerations. For any USB device with Linux there are software considerations. Put the two together and if noone has already tested it for you, … well just make sure that you buy your USB devices from a place with a good returns policy.

2 Likes