Roll Out

I didn’t forget about this blog or this project. Quite the contrary, in fact.

Since my last post ten months ago I’ve gone fully through the five stages of grief. At first I was absolutely denying the reality of the situation with my eBay-purchased Lenovo ThinkServer 140. I don’t know how many times I tried to re-seat the memory modules and boot that box. Then I spent some time quite angry with the eBay vendor who I felt had wronged me. Never mind that I let it sit in the box for a few months without testing it. Nope. Clearly the vendor’s fault. After that I moved on to bargaining with myself. Did I really need a full 32GB of memory? Did I even really need a home lab? Maybe this project could be done some other way that didn’t involve spending more money! (Spoiler: It couldn’t.) That all happened pretty quickly. By the end of February I was just plain sad about it all. Because depression is often my bread and butter I spent the next 8 months ignoring the project.

Last week I finally decided to accept the reality of the situation. I’d dropped some cash on a lemon. Nothing to be done but start over. Except that’s not quite accurate. I knew that the problem with the server was either the motherboard or the processor. So, as I thought about it I realized that either I needed to buy one or the other and get this thing moving again. But which one should I start with? As with so many things I decided to take the path of least financial resistance. I searched eBay and found a barebones TS140 (just the motherboard, case, and power supply) for about $100 less than the cost of a new processor. Done!

Twin Lenovo TS140 servers

A few days later my barebones TS140 arrived. I quickly dropped the existing Intel Xeon E3-1245v3 processor into the new machine, screwed down the cooler, dropped in a full 32GB of RAM and turned it on. No beep codes! This was great news!

I didn’t get a POST right away, however. In fact, I didn’t get anything. Just a black screen. The fans were spinning so I assumed power wasn’t an issue. That’s when it occurred to me that I had read something during my initial troubleshooting of the other TS140 back in January: Maybe there was a bent pin in the CPU socket? I had read that sometimes CPU pins get bent during shipping. The TS140 uses an LGA socket so the CPU itself has no pins. Instead, the pins are in the socket. A visual inspection told me that there was definitely something wrong, but my vision was not good enough to let me see if a pin was just bent or missing entirely. I popped a macro lens onto my phone’s camera and snapped a picture.

Bent LGA socket pin.
I don’t think it’s supposed to look like that.

Another problem. At this point I was almost ready to give up again. Especially because I couldn’t actually see the pin to fix it. I needed my camera with the macro lens to see the problem in the first place. Oh well. What did I have to lose at that point? I decided to use a jeweler’s flat-head screwdriver to try and fix it as best my eyes would allow me. That resulted in the following photo.

A very lucky break.

I’m still not sure exactly how I did it, but I did. I re-seated the processor, plugged everything back in and… the ThinkServer splash screen appeared!

It couldn’t be that easy though. The socket pin fix definitely improved the situation, but I still wasn’t getting to a full POST. Hmm. I had dropped my previously used ESXi USB flash drive into the front port to see if it would boot. It turns out that the new TS140 was running BIOS firmware from 2012 that had a bug in it. With a USB drive inserted it would stay on the ThinkServer splash screen until the drive was removed. I pulled the drive and was able to access the BIOS configuration screen.

Lenovo TS140 BIOS configuration menu
All of the RAM!

Finally! All of the memory I had originally intended to put into this host was finally showing up. It only took a little under a year for me to make it happen. I’ll take it. I quickly created a FreeDOS USB boot drive and updated the BIOS firmware to Lenovo’s latest.

From there I shut everything down and started migrating everything over from the original TS140. If you haven’t read my previous posts you can go back to see the work I had already done. The power supply, drives, and cable management were all moved. I even moved over the Lenovo fan-cooled drive bay I had purchased. Luckily the new TS140 came with a second of these bays so now I have two, which will be great for when I fill it up with more storage later. While I had the case open I decided I’d also drop in the Dell YT674 Intel PRO/1000 VT Quad Gigabit Ethernet NIC that I purchased on eBay earlier in the year.

Once all of the existing hardware modifications were transitioned over I started over with a fresh ESXi 6.5 installation on a USB flash drive. Everything booted successfully and I finally had a small, quiet, ESXi server in my home.

In my next post I’ll talk about virtualizing pfSense for use with Google Fiber. Have I not mentioned that I have a 1Gbps, symmetrical bandwidth connection? 😉