Take a look at our
ThinkPads.com HOME PAGE
For those who might want to contribute to the blog, start here: Editors Alley Topic
Then contact Bill with a Private Message

Project: Thunderbolt 3 on X210

Old(er) Thinkpads with New(er) Intestines: X62 / T50 / T70 / etc.
Post Reply
Message
Author
flyingfishfinger
Junior Member
Junior Member
Posts: 356
Joined: Sun Nov 18, 2012 5:42 pm
Location: San Francisco Bay Area

Project: Thunderbolt 3 on X210

#1 Post by flyingfishfinger » Fri Apr 10, 2020 3:22 am

UPDATE: Blog post is up: https://rsend.wordpress.com/x210-corebo ... 10-laptop/ That will be updated with progress, major milestones will be added to this thread as I hit them.

Hi,
For those of us who have an X210, you might have noticed the lack of USB-C and / or Thunderbolt ports. My work is particularly Mac-heavy and there are a bunch of Thunderbolt docks and screens around the office, which was the stimulus for this project. I've been toying with it since last year, but because of the virus lockdown here in California I've finally had lots of time to work on it and actually get somewhere.

The good news: Looks like it's possible. The bad: We give up the M.2 slot and the entire sub-card on the right. Also, this is a teaser. I'll update it as I go along, it's not fully working yet.

The details:
After inspecting the insides of an X210, we'll notice that there's technically a bunch of area under the 2.5" HDD to the right of the main board, where the sub-card from the original X201 lives. The circuitry isn't very space-efficient and it's kind of old - the SD card reader in particular runs over USB 2.0, which is very slow by current standards.

You can get various Thunderbolt add-in cards, like the GC-Titan Ridge, GC-Alpine Ridge, ASrock Thunderbolt 3 AIC and Asus Thunderbolt EX3 .

They all provide (at least one) TB3 output and take (at least one) Displayport signal as input, depending on how much resolution we want to pump over the link. Video data isn't provided through the PCIe slot, it's just multiplexed in. All cards include a USB 3.x controller, Titan Ridge cards apparently do not include a USB 2 controller so that need to be grabbed from somewhere else as well if we're using that.

Now, the EX3 (Alpine Ridge) is juuuuust small enough that it (probably) fits in the space where the sub-card lives, if we're willing to give it up (i.e move these features somewhere else).

Long story short, I am now in the possession of a Sunix UDP2018 card (I decided that if I couldn't get TB3 working, I could at least get a USB-C port that does Displayport as well), the Thunderbolt EX3 card and way too many M.2 risers / PCIe adapters.

The main issue is that the above cards are designed to work with very specific motherboards and are vendor-locked with a special "Thunderbolt Header", whose pins are manipulated by the boards to unhide the cards on the PCIe bus. Luckily, the Hackintosh / EGPU guys have some experts in this area, and they figured out how to activate the cards on unsupported motherboards. It's a combination of tying some pins high and poking at Extended Capability registers on the PCI devices.

In addition to the above, turns out that M.2 adapters don't adapt the CLKREQ# pin properly. This is present on M.2 & mPCIe devices, but not on regular PCIe cards. The dumb adapters appear to leave it floating, but it needs be tied low at the very least. It took me 4 months of trying out different adapters & wondering if they were defective to figure this out.

Now, let me present the beastly prototype:
Image

Here's what it shows up as in Windows:
Image

Here's what it shows up as in Ubuntu:
Image

It's still got a bunch of issues, and I haven't tested many things (an actual Thunderbolt dock and a monitor - all I have with me right now are USB 2 / 3 drives & disks).

In particular, if I try accessing a USB3 disk, after about a minute the system (Windows OR Linux) hangs and requires a hard reset. I suspect this has to do with the cheap M.2 adapter the card is sitting in for now.

Upcoming work: Fix freeze, steal Displayport signal, move sound card / SD card reader etc. This is more of a proof of concept for now, but I wanted to share it and get feedback / questions.

Other random things I learned so far:
- An NVME drive will work in a mini PCIe slot as an x1 disk drive - tried it in the WiFi slot
- You can get a combo Wifi abgn/ac + BT 4.0 card that's purely USB and is smaller than a half-size mPCIe card

Also, apologies if this post is a bit incoherent... I'm on-call on a night shift with a bunch of time to kill.

Cheers,
R
Last edited by flyingfishfinger on Mon Jul 27, 2020 12:37 pm, edited 2 times in total.

flyingfishfinger
Junior Member
Junior Member
Posts: 356
Joined: Sun Nov 18, 2012 5:42 pm
Location: San Francisco Bay Area

Re: Project: Thunderbolt 3 on X210

#2 Post by flyingfishfinger » Mon Apr 20, 2020 3:22 pm

Quick update - the freeze can be gotten around by enabling "Peer Memory Write" in the BIOS. Now my dock connects and functions correctly, but I don't really have any devices to test PCIe passthrough (eGPU etc).

Image

R

Yao2000
Posts: 33
Joined: Mon Jul 13, 2020 2:15 am
Location: Taipei, Taiwan

Re: Project: Thunderbolt 3 on X210

#3 Post by Yao2000 » Sat Jul 25, 2020 10:32 pm

flyingfishfinger wrote:
Mon Apr 20, 2020 3:22 pm
Quick update - the freeze can be gotten around by enabling "Peer Memory Write" in the BIOS. Now my dock connects and functions correctly, but I don't really have any devices to test PCIe passthrough (eGPU etc).

Image

R
amazing post and information. i wonder if the same thunderbolt 3 can be added to the new X2100. the x210 and x2100 are both amazing upgraded x201 laptops but both are missing thunderbolt 3.

the X2100 has a usb type-c port but no thunderbolt 3.

how is progress now? have you got it working?

flyingfishfinger
Junior Member
Junior Member
Posts: 356
Joined: Sun Nov 18, 2012 5:42 pm
Location: San Francisco Bay Area

Re: Project: Thunderbolt 3 on X210

#4 Post by flyingfishfinger » Mon Jul 27, 2020 12:36 pm

I added a blog post link to the first post, where I'll document progress but I'll be happy to update this thread with major milestones.

As far as whether it would work on the X2100 - I don't know. If it uses the same old X201 sub-card, then it SHOULD work. Fitting the card into the case involves EXTENSIVE trimming of the bottom chassis though (see blog post soon), so what I would probably do is acquire a spare X201 case, make the mod and transplant the internals once it succeeds and the case doesn't get destroyed. I don't have an X2100 though, and don't plan to get one at the moment.

Currently I'm twiddling my thumbs: I designed a PCB to adapt the M.2 slot to some ribbon cables which are soldered to the card directly. Unfortunately, I made a mistake the first time, and also blew up my first card in an unrelated incident. I've since received a replacement card, but I had to re-route my PCB to fix the issue and I'm currently waiting for that to arrive.

I did find something interesting though, regarding the DP passthrough: I tried it at the office with an LG Ultrafine 5k (yes, I know the X210 can't output 5k but according to the KBL-R documentation I should be able to get 4k out - 4096x2304 @ 60 Hz).
- On Ubuntu, I can make a connection and am offered something up to about 1080p and nothing higher. Why is this?
- On Windows, I can't even connect the display. When I plug it in, Windows detects it and shows it as a 2nd screen under the display menu, but it never outputs anything and the laptop internal screen constantly turns on and off like it's TRYING to switch displays. Is this some kind of known behaviour / software bug?

Yao2000
Posts: 33
Joined: Mon Jul 13, 2020 2:15 am
Location: Taipei, Taiwan

Re: Project: Thunderbolt 3 on X210

#5 Post by Yao2000 » Mon Jul 27, 2020 10:26 pm

according to your picture, the m.2 nvme pcie SSD drive slot has to be given up? you cant use the m.2 SATA 3 slot?

flyingfishfinger
Junior Member
Junior Member
Posts: 356
Joined: Sun Nov 18, 2012 5:42 pm
Location: San Francisco Bay Area

Re: Project: Thunderbolt 3 on X210

#6 Post by flyingfishfinger » Tue Jul 28, 2020 12:33 am

Yao2000 wrote:
Mon Jul 27, 2020 10:26 pm
according to your picture, the m.2 nvme pcie SSD drive slot has to be given up? you cant use the m.2 SATA 3 slot?
Correct - I wanted compatibility over speed. And no, you also lose the SATA part of the M.2 slot, because the lanes are actually shared and the mode is switched.

It should theoretically be possible to get another x2 NVME drive working if you steal BOTH the mSATA slot and the regular 2.5" drive & combine them. That's a definite improvement over SATA III and it's something I'm working on as well. No luck yet though.

Yao2000
Posts: 33
Joined: Mon Jul 13, 2020 2:15 am
Location: Taipei, Taiwan

Re: Project: Thunderbolt 3 on X210

#7 Post by Yao2000 » Tue Jul 28, 2020 1:56 am

flyingfishfinger wrote:
Tue Jul 28, 2020 12:33 am
Yao2000 wrote:
Mon Jul 27, 2020 10:26 pm
according to your picture, the m.2 nvme pcie SSD drive slot has to be given up? you cant use the m.2 SATA 3 slot?
Correct - I wanted compatibility over speed. And no, you also lose the SATA part of the M.2 slot, because the lanes are actually shared and the mode is switched.

It should theoretically be possible to get another x2 NVME drive working if you steal BOTH the mSATA slot and the regular 2.5" drive & combine them. That's a definite improvement over SATA III and it's something I'm working on as well. No luck yet though.
what an amazing project and future proofing your x210.

if you get the Thunderbolt 3 working as well as an m.2 nvme SSD slot, that is truly amazing.

Post Reply
  • Similar Topics
    Replies
    Views
    Last post

Return to “51nb and other modded Thinkpads”

Who is online

Users browsing this forum: No registered users and 11 guests