June 29th, 2024

Adding a USB Port to the ThinkPad X1 Nano (The Hard Way)

The author modifies a ThinkPad X1 Nano laptop by adding an internal USB port. They overcome challenges, design a flex PCB, boost voltage, and successfully integrate the port for device connectivity.

Read original articleLink Icon
Adding a USB Port to the ThinkPad X1 Nano (The Hard Way)

The article discusses the author's attempt to add an internal USB port to their ThinkPad X1 Nano laptop. They explore different methods, including using an M.2 slot for a USB card, investigating firmware whitelists, and repurposing the fingerprint reader's USB connection. The author designs a flex PCB to integrate a USB port, boosts voltage for compatibility with devices like the Logitech Bolt receiver, and uses EasyEDA for PCB design. After assembling the PCB, they successfully integrate the USB port into the laptop, enabling connectivity for various devices. The article details the challenges faced, solutions implemented, and the final successful outcome of the project.

Related

More ARM Linux Laptops Are on the Way

More ARM Linux Laptops Are on the Way

More ARM Linux laptops are emerging, including Tuxedo Computers' "Drako" with Qualcomm's Snapdragon X Elite chipset to rival Apple's M2. This signals progress in ARM-based Linux devices, supported by Qualcomm's collaboration with Linaro for smoother integration. Challenges persist in ensuring compatibility and driver support, akin to Windows ARM laptops and Apple silicon MacBooks.

Upgrading my Chumby 8 kernel part 11: SD/CF card reader

Upgrading my Chumby 8 kernel part 11: SD/CF card reader

Doug Brown discusses upgrading the Chumby 8 kernel, addressing an SD/CF card reader issue by modifying the USB storage driver and implementing a userspace daemon to manage the device effectively.

Hacking eInk Price Tags (2021)

Hacking eInk Price Tags (2021)

Hackers repurpose eInk electronic shelf labels (ESLs) into photo frames or status displays by customizing firmware. Detailed exploration of hacking challenges, including Marvell chip analysis, bootloader functions, memory storage, communication protocols, and debugging methods.

ThinkPad 701C with a Framework brain transplant

ThinkPad 701C with a Framework brain transplant

A project merges Thinkpad 701C with modern tech: Framework mainboard, iPad 7 display, original keyboard/trackpoint, USB-A/C, GigE ports. Custom adaptations, new components designed. Positive community feedback received.

Easily upgradeable laptops are making a comeback and I'm here for it

Easily upgradeable laptops are making a comeback and I'm here for it

Easily upgradeable laptops like Lenovo's ThinkPad T14 Gen 5 and T16 Gen 3 models are designed for repairability, receiving a high score from iFixit. This shift aligns with sustainability and right-to-repair trends.

Link Icon 17 comments
By @dcminter - 4 months
I encountered the same mpcie card whitelist nuisance on the Lenovo m73 Tiny. Turns out there that you can just update the serial and model number to "INVALID" and it will then let you boot with a non-whitelisted device, albeit with an angry beep and warning message.

https://www.reddit.com/r/homelab/comments/lx7d8f/pfsense_len...

Apparently it's possible to add the pcie device identifier to the whitelist, but it looks like a very fiddly process and I didn't really care about the minor issues resulting from the cruder approach:

https://www.reddit.com/r/Lenovo/comments/dcf0lw/comment/fbpy...

No idea if any of that works on the X1 Nano, but you never know.

By @freedomben - 4 months
Amazing adventure and great write up! It reads like an adventure novel :-)

> Unfortunately, Lenovo continues to implement a stupid network card whitelist that IBM started over 20 years ago on its ThinkPad models. If the card in the M.2 slot is not advertising a known PCI vendor and product ID in the whitelist contained in the BIOS (now UEFI firmware), the ThinkPad will refuse to boot.

Why?? Are there legitimate reasons for this sort of design behavior other than anticompetitiveness?

By @utensil4778 - 4 months
I had to do a similar thing with my T530. I wanted to upgrade to a WiFi 6+Bluetooth card. The built in Bluetooth adapter is very old, I think v4.2. It's also a finicky module with a mezzanine connector, and it's nestled deeply into the internal magnesium frame so the range is abysmal.

I reflashed the BIOS to kill the whitelist, but I'm left with a bigger problem. The WiFi slot offers PCI, but not USB. The WWAN slot has USB, but not PCI.

I ended up tapping into the original Bluetooth connector to steal the USB lines and route them back to the PCI connector.

I had some issues at first with the device not enumerating reliably, but it eventually settled down.

Now I have WiFi 6 and Bluetooth 5. Unfortunately the WiFi frontend is extremely bad (it's a Chinese knockoff) and I have pretty bad signal strength even literally on top of the router. But it works well enough and my Bluetooth headphones now work more than 10ft away from the machine.

The major problem is that the only WiFi 6 card available in mini PCIe is knockoff Intel AX210 cards. I suppose that's fair, mPCIe is basically obsolete these days. Unfortunately I don't have space for a M.2 or other adapter. Maybe I could build a custom express card

By @AshamedCaptain - 4 months
> I use a Logitech mouse which can connect wirelessly to a USB dongle over RF, providing lower latency and better battery life than Bluetooth

In my experience this has not been true at all now that most Logitech mice use LE ("Bluetooth Smart") rather than BT. The only advantage the RF dongle has is that it works without an OS.... or on an OS without a BT/LE stack, like here.

By @adolph - 4 months
Guys would rather design and PCBway an internal mod than for OpenBSD support Bluetooth.

https://news.ycombinator.com/item?id=25950845

By @gzalo - 4 months
I don't get the point of designing and building a 3.3 to 5v booster instead of just wiring a cable to one of the existing USB C vbus 5v pins? Am I missing something?
By @Reason077 - 4 months
> "connect wirelessly to a USB dongle over RF, providing lower latency and better battery life than Bluetooth."

Is this still true of modern Bluetooth 5.0 LE devices? Not sure about latency, but battery life seems to be extremely good now days. I get at least half a year out of a charge, on a mouse I use nearly every day.

By @exabrial - 4 months
Why is ‘no ports’ still a fucking trend?
By @ryzvonusef - 4 months
DIY Perks had a similar problem (USB-A mouse dongle; laptop with only USB-C) he decided to fiddle with the dongle and change it's port instead:

https://www.youtube.com/watch?v=V-vFtiDYiIw

By @ein0p - 4 months
Speaking of, what’s the closest thing to the old 11” MacBook Air that’s currently available and runs Linux?
By @prmoustache - 4 months
I am a simple guy, I would have just attached a usb-hub with velcro on my laptop.
By @mushufasa - 4 months
sounds like the author enjoyed the process. of course, if you need more ports the thinkpad x13 is basically the same size/weight of the nano with many more ports
By @k4rli - 4 months
This blog has a nice screensaver, especially for OLED.
By @wkat4242 - 4 months
I wonder how much those Flex pcbs cost. They can be costly even with cheap prototypers.

It's a really clean job though.

By @lemonlime0x3C33 - 4 months
This was a joy to read, your easyEDA design looked great too! I didn't know they had 3D capabilities.
By @Yakub-AlEspunj - 4 months
I'm surprised Lenovo's whitelist hasn't been tackled more frequently, given its well-documented limitations. The only real reason to maintain such an artificial barrier is to artificially inflate profits from FRUs and enterprise support. The fact that every other major manufacturer has moved past this practice already only serves as evidence. I mean, come on, Lenovo, you're trying to compete with the likes of HP and Dell, and you're stuck on this archaic thinking. It's almost as if you're deliberately trying to alienate your most loyal customers.
By @userbinator - 4 months
though it's a bit tiresome to use because it requires a steady hand applying downward pressure for about eight minutes for a full read and write.

A suitably heavy weight will solve that problem.