Question: I want to look at parameters under /sys/class/typec, but on my laptop, this doesn't show up. When I load the typec module manually, the directory appears but it is empty. After loading tcpm module, nothing happens.

How do I get the /sys/class/typec interface? How can I know if it is even supported? If it isn't, why not -- does my hardware not expose the controls? Are drivers missing? etc.

The laptop is a HP ProBook 430 G5 (based on intel 8gen Kaby Lake Refresh core i5). It has one USB-C port capable of USB Power Delivery (alongside DisplayPort and regular USB traffic).

I'm on Linux Mint Sylvia, my kernel is 4.15.3 from kernel.ubuntu.com (installed through ukuu tool). This should be recent enough that all the relevant kernel things exist. Why don't I see them?

(I also want to learn a little about the TypeC interface, hence why I'm asking this specific question, as opposed to the more task-oriented variant seen below.)

Background, AKA, why am I even doing this, in case this is helpful:

HP hardware is notorious for disliking 3rd party USB-C chargers, but this got somewhat better in the 8gen series; it sort of works now.

I'm using the following USB-C dock: http://i-tec.cz/?t=3&v=443

When the laptop is on AC power, I can connect the dock and everything works fine. When I disconnect the AC adapter, the laptop will continue to charge over the USB-C connection. Same thing happens when I connect the dock when laptop is turned off.

However, if I simply plug in the dock when the laptop is on AC power, it doesn't work at all. No charging, no devices, not even a connect event. Furthermore, the laptop starts making a slight clicking sound. In Windows, this is accompanied by repeated connect/disconnect sounds. In dmesg, I see messages like this: [10356.375855] xhci_hcd 0000:00:14.0: Cannot set link state. [10356.375866] usb usb2-port2: cannot disable (err = -32)

(yes, this might be a hardware problem)

However, if the problem lies with power delivery (as it seems to be, given the "plug in while on AC" thing), I'd like to try to switch the port to a non-PD mode. Then I could at least get the dock functionality. This seems to be done through USB Type-C Port Manager (tcpm) interface. I don't have that on my laptop. /sys/class/typec doesn't exist initially, shows up empty after inserting typec module.

  • struggling similar issue on HP Probook G5. Sometimes USB-C works as charger for me but sometimes it does not charge the battery but instead keeps it on same charge level. Now my battery is 26% charged and I'm connected via usb type-c to a dock station with power delivery and it does not charge the battery, just keeps it charged at same level. The worst thing is that this situation is treated as laptop is running on battery with corresponding power management settings :( – Sergey P. aka azure Jan 28 at 8:10

USB-C is a new technology and only nowadays Linux kernel is working on it's support [1] [2].

Are drivers missing?

I gamble a yes answer since you are using an old kernel.

I think best thing to do is , first, update to latest kernel and if it isn't enough, wait for the next kernel version.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.