This Custom Board Adapts Lenovo's Connector to a Real ThinkPad X1 Nano Internal USB Port
Looking for a neater solution to connecting a proprietary wireless mouse dongle, joshua stein goes on a journey of USB discovery.
Maker joshua stein, capitalization the maker's own, has upgraded a Lenovo ThinkPad X1 Nano laptop to support an internal USB dongle for a cordless mouse — a project that turned out more challenging than expected.
"I wanted to add an internal USB port to my ThinkPad X1 Nano which should have been a fairly easy thing to do, but it wasn't," stein explains. "Of course, if I were still using my Framework Laptop it would be as easy as plugging in a custom module but I've been using my X1 Nano as my primary laptop for quite some time now."
The obvious first approach was to use an M.2 USB expansion card, which can connect to the M.2 B-key slot already present in the laptop. Sadly, this runs into the brick wall of Lenovo's user-hostile decision to prevent laptop expansion slots from being used with devices not on a firmware-stored whitelist of approved hardware — something stein points out dates back to when the ThinkPad brand was still under IBM's control more than two decades ago.
Discarding the idea of building a custom M.2 card that featured a microcontroller capable of lying to the system about its vendor and product identification codes, stein set about figuring out how the whitelist system worked. To start: a dump of the firmware, made from the flash chip in-situ with a pogo-pin adapter. Sadly, a built-in checksumming system would prevent easy modification — meaning a hardware solution was required.
"While staring at the motherboard with the battery removed, I remembered that the fingerprint reader that sits next to the touchpad connects over USB, though I usually have it disabled in the firmware," stein explains. "I wondered if it would be possible to use whatever connection that board uses to connect an arbitrary USB device."
The answer, it turns out, is "yes," but not easily: a breakout board for the flat flexible circuit (FFC) connector allowed stein to find the USB pins, but any USB device bar the fingerprint reader would be ignored by the system. This, it turns out, is because the FFC connector delivers a USB-like connection — but with 3.3V power rather than 5V. A boost converter solved that problem, and stein was able to design a custom circuit board which converts the FFC connector into a working internal USB port.
The full project write-up is available on stein's website.