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