I turned my ThinkPad into a programmable USB device

Hackers are excited by a deep dive into turning a ThinkPad laptop into a fully programmable USB device using its hidden xDCI controller, effectively letting a PC act as a keyboard, mouse, storage drive, or other peripheral. Commenters explore practical and speculative uses such as making laptops serve as plug‑and‑play consoles for headless machines, exposing NAS storage to game consoles, or creating networkless KVM-style setups, while lamenting that hardware vendors often ship such capabilities disabled or inaccessible. The thread also situates the work in a broader history of USB OTG, serial links, and remote management, highlighting both how much is technically possible and how little of it is exposed in mainstream products.

Overall reaction to the project

  • Many readers praise the write-up as unusually detailed, technically deep, and nostalgic of “old-school hacker” culture.
  • Some highlight how rare the mix of curiosity, persistence, and low‑level firmware work is.
  • Others note it’s “impressive but inefficient” compared with tiny microcontrollers, yet valuable for experimentation and understanding hardware.

Using laptops as USB devices / ad‑hoc KVMs

  • Strong interest in using a laptop as a generic keyboard, mouse, and monitor for another machine, especially for headless maintenance and multi‑machine setups.
  • People are surprised this isn’t a common feature on modern laptops, especially with USB‑C.
  • Some see this work as a step toward networkless Synergy‑style input sharing over a USB cable.

Existing software and networking alternatives

  • Suggestions include SSH, serial access, XDMCP, x2x/x2vnc, Synergy/Barrier/Input Leap, USB‑over‑IP tools, and FireWire/Ethernet direct links.
  • Others push back: these often don’t cover GUI-before-OS, hardware/network failures, or “simple plug‑in laptop as KVM” UX.

Hardware workarounds and niche devices

  • Mention of KVM laptops/tablets and “lapdock”‑style products that take video input and act as keyboard/mouse.
  • Practical setups: cheap HDMI capture dongles plus wireless keyboard/trackpad; USB‑UART‑to‑USB‑HID cables with small scripts.
  • Some speculate such a module would fit well with modular laptops, but question feasibility over plain USB‑C.

USB device emulation and storage use cases

  • Enthusiasm about emulating USB block devices for easy file transfer or exposing NAS storage to consoles via OTG and g_mass_storage.
  • Bandwidth limits on many SBCs (USB 2.0 OTG) are noted as a major bottleneck; higher‑speed boards are discussed.

Technical hurdles and vendor decisions

  • Frustration that xDCI capabilities exist in hardware but are hidden/disabled in firmware, forcing invasive hacking.
  • A contrary view argues vendors reasonably disable obscure, untested features lacking proper power switching and support.
  • Some report similar but incomplete xDCI support on other Intel SoCs; others lament that many Ryzen/USB‑C systems can’t do this at all.

Security and low-level hacking angles

  • Discussion of using programmable USB devices to exploit TOCTOU bugs in firmware update flows.
  • Clarification that this isn’t just “emulation” but using the real USB device role built into Linux-capable hardware.