Browse by type
What can this USB cable actually do?
A KDE Plasma 6 system tray widget and CLI tool that tells you, in plain English, what each USB device plugged into your Linux machine can actually do.
WhatCable-Linux is a Linux port of WhatCable, a macOS menu bar app by Darryl Morley. This port expands the original USB-C focus to cover all USB devices, while preserving the rich USB-C Power Delivery diagnostics from the original.

# Install dependencies (Fedora)
sudo dnf install cmake extra-cmake-modules qt6-qtbase-devel qt6-qtdeclarative-devel \
kf6-kirigami-devel kf6-ki18n-devel kf6-kcoreaddons-devel kf6-kpackage-devel \
libplasma-devel plasma-workspace-devel systemd-devel
# Install dependencies (Arch/Manjaro)
sudo pacman -S cmake extra-cmake-modules qt6-base qt6-declarative \
kirigami ki18n plasma-workspace systemd-libs kpackage
# Build
cmake -B build -DCMAKE_INSTALL_PREFIX=/usr
cmake --build build
sudo cmake --install build
# Or install just the plasmoid for your user
kpackagetool6 -t Plasma/Applet -i build/pkg/org.kde.whatcable
After building, the whatcable-linux binary is in build/src/cli/:
whatcable-linux # human-readable summary of every USB device
whatcable-linux --json # structured JSON output
whatcable-linux --watch # stream updates as devices come and go
whatcable-linux --raw # include raw sysfs attributes
whatcable-linux --version
whatcable-linux --help
WhatCable-Linux reads three areas of the Linux sysfs virtual filesystem. No root access required for basic info:
| sysfs path | What it gives us |
|---|---|
/sys/bus/usb/devices/ |
All USB devices: vendor, product, speed, power, class, interfaces, topology |
/sys/class/typec/ |
USB-C port state: connection, roles, cable e-marker, partner identity |
/sys/class/usb_power_delivery/ |
PD negotiation: PDO list from charger, active profile, PPS ranges |
Hotplug monitoring uses libudev to detect connect/disconnect events in real time.
Cable speed and power decoding follow the USB Power Delivery 3.x spec, ported from the original WhatCable's Swift implementation.
WhatCable-Linux is a port of WhatCable by Darryl Morley. The USB Power Delivery decoding logic, charging diagnostics, vendor database, and plain-English summary approach are derived from the original macOS app.
$ claude mcp add whatcable-linux \
-- python -m otcore.mcp_server <graph>