The author shares their journey of turning their ThinkPad laptop into a programmable USB device, enabling emulation of various USB devices without external hardware. Through fiddling with Linux kernel drivers, they discovered the xDCI controller, leading to surprising findings involving xHCI, DW3, and BIOS settings. The author’s investigation into xDCI’s role in their laptop’s USB functionality uncovered valuable insights from kernel code and online forums, highlighting the importance of ACPI and PCIe device checks. Despite unsuccessful attempts to enable xDCI through BIOS, the presence of the ACPI _STA method indicated promising potential for future discoveries.
https://xairy.io/articles/thinkpad-xdci