Lessons from Computer No POST

A learning experience.

At the beginning of the year, I built my first computer. This post is about my first hardware issue with that computer.

Hardware Failure

I should title this section, ‘User Failure’ or ‘Idiot’. My computer has been fantastic and worked flawlessly until I decided to upgrade, adding a second m.2 drive for expanded storage. While adding the new drive, I turned my back, and the computer fell from my desk onto the floor. Ugh. Then it would not boot.

No POST

The computer appeared to turn on, I could see lights and fans were spinning, but nothing appeared on the display. I’ve since learned this behaviour is called a “no post”. A POST is a Power On Self-Test, a process that runs on each boot and tests the system hardware before loading the operating system. On a successful POST, you will likely see the motherboard logo and option to enter the BIOS.

Successful POST

Resolving No Post

There is a wealth of information online to help resolve a no POST. It boils down to understanding the minimum hardware you need for a successful POST and eliminating each as causing the problem. Basically, with just the CPU, Power and RAM you should get a successful POST.

MSI, the makers of my motherboard, provide a help page “How to fix a PC with powers up but no display?

My Steps

I removed the parts not required to have a successful POST, the m.2 storage, Wifi card, and GPU. I disconnected all power cables and connectors except the motherboard power, CPU power and power switch connector. I verified the CPU and RAM were seated properly. The only external connections were to the power and display (via HDMI port). On power-up, the fans spun up, but no POST.

Just the minimal parts.

RAM
I tried each memory sticks alone and verified they were in the right location. Power-up, no POST. It was unlikely both sticks of RAM were faulty. Move onto BIOS.

BIOS
I used a jumper to reset the BIOS, removed the battery, and pushed the CMOS reset. Power-up, no POST. I have three parts left, Power Supply, Motherboard, and CPU.

Power Supply
Since the fans are spinning and lights are on, I assumed the power supply was working fine. My research explained that the power supply could be faulty and still provide some power, like a battery that powers the radio but will not start the car. I purchased a power supply. Again, power-up, no POST.

Motherboard
Unlike the power supply, which I could purchase at Best Buy fifteen miles away, I had to order a motherboard online. Again, power-up, no POST.

RAM Part 2
Since I had to wait a few days for the motherboard, why not replace the RAM. Back to Bestbuy. Power-up, no POST.

CPU
My research indicated the CPU was the most unlikely problem, but I had nothing else to replace. I ordered a new CPU and waited another two days. Ugh, power-up, no POST.

The Solution

Less the case, I built a new computer and had the same problem. This reminded me of my father’s old joke, “The lumberjack said, I used the same axe for 25 years, I’ve replaced the handle ten times and head five times”. Something was going on here I did not understand. Clearly, the issue was between my ears.

There is a set of lights on the motherboard called Check EZ Debug LED indicator, used for debugging the POST process. The VGA indicator was lit during each test, which made sense because that is the problem I was trying to solve. If I removed the RAM, the RAM indicator would light up.

EZ Debug LED Documentation

I put the GPU back into the system, and the VGA indicator remained on. This is when MY light went on. While there is an HDMI port on the motherboard, there is no onboard graphics. The CPU (or motherboard) would need to have graphics support, which my CPU does not. The fine print regarding Onboard Graphics for the MSI X470 Gaming Plus reads:

  1. Only support when using Radeon™ Vega Graphics and 2nd Gen AMD Ryzen™ with Radeon™ Graphics/ Athlon™ with Radeon™ Vega Graphics Processors

The issue, all along, was the GPU. One more trip to Best Buy and I was up and running.

All new parts, up and running.

Conclusion

The issue was very straight forward, but my lack of experience turned a one-day minor problem into a ten-day, painful, costly issue. If there was graphics support on the motherboard or CPU, I would have discovered the issue quickly. Because there wasn’t and I didn’t understand that, I saw the same No POST issue with the GPU and without it.

My take away: The presence of an HDMI port does not mean it’s usable, onboard graphics must be supported.

I did enjoy the learning process, and I’m more comfortable inside the computer.

Shared Keyboard and Mouse

I have two Linux computers at my desk. A (closed) laptop connected to a monitor and a home grown tower connected to two monitors. Three monitors in all. I frequently switch between these computers and control them with one keyboard and mouse.

For the past few years, I’ve been using a Logitech wireless keyboard (K780) and mouse (M585) that support multiple computers. One computer is connected to the keyboard and mouse via a wireless dongle, and the other is connected via Bluetooth. A set of keys switches the keyboard between computer, and a button switches the mouse. While the switching works most of the time, sometimes there is a delay. It’s frustrating when keystrokes are delayed or missing.

I recently switched to a wired keyboard and mouse and control the switching with software KVM (Keyboard Video Mouse). After using this for a week, I wish I had made this change sooner. Barrier is an open-source solution that works on Linux, Mac and Windows.

This solution is for sharing a single keyboard and mouse with multiple computers. Each computer requires a monitor.

After installation, you set up one computer as the server, and others as clients. On the Barrier server, you add a screen for each client computer using it’s machine name and position it relative to the server screen. For example, my computer called “pop-os” is to the left of “rebel-tower”.

On the client machines, you identify the address of the Barrier server.

After Barrier is running on the clients and server, when working on rebel-tower and moving the mouse off the screen to the left, the mouse will begin moving on the pop-os screen. Wherever the mouse is active, the keyboard is active. You move the mouse to the computer you want to type on. This implementation is more natural to use than pushing keys and buttons, and it’s fast and smooth.

I have not used any of Barrier’s advanced settings, maybe someday. You can define keystrokes to switch computers and activate advanced functionality. Barrier’s Linux version does not support drag and drop between computers, but Mac and Windows is supported. While this feature could be useful, it’s not critical for me.

I’m always surprised by the quality and abundance of open source Linux applications.

Mac Mini (mid-2011) on Linux

When Apple released MacOS Majove in 2018, the minimum hardware requirements abandon lots of great hardware. While the hardware is still usable, macOS and Apple software cannot be updated to their current releases. That sucks.

This post outlines the process of moving a Mac Mini (mid-2011) to Linux.

Mac Mini

The Mac Mini I’m rescuing is a mid-2011 with i5-2415M, 2GB RAM and 500GB HDD, running macOS High Sierra (version 10.13). It’s dreadfully slow. The goal is to use this machine as a general purpose computer in a classroom for high school students.

In addition to changing the operating system from macOS to Linux, the RAM will be upgraded to 8MB and 550GB hard drive replaced with 128GB SSD.

Steps

The overall steps:

  1. Order new hardware
  2. Upgrade RAM and Hard disk drive (HDD)
  3. Install Linux

Upgrade

I use Crucial’s website to help determine the parts I can upgrade. Using the model of the computer you’re working on, Crucial will show you the options for memory, hard drive, and SSD upgrades. I often buy the parts on Amazon.

For this upgrade, I used:

  • Memory : Crucial – 8GB Kit (2x4GB) DDR3L – 1333 SODIMM ~$60 USD
  • Solid State Drive (SSD) : Crucial – BX500 2.5 SSD 120GB ~$22 USD

Upgrading this Mac mini is straight-forward. It was built in the days when ‘upgrade-ability’ was built into the hardware design. Finding a YouTube video to guide you through the steps of taking the Mac Mini apart is very helpful. I used this video from MacSales.

The parts inside the Mac mini fit just right. The first time I did one of these upgrades, the SSD wasn’t aligned properly which prevented the wifi from fitting, and the screw holes did not align. Take your time and don’t force anything.

Installing Linux

I’ve been using Elementary OS for a few weeks, and I’m impressed. I appears to be a good distribution choice for someone coming from MAC. While my day-to-day distribution is currently Pop_OS!, I’m going to give Elementary a try with this upgrade.

Installing Linux is the same basic process for any distribution.

  • Download .iso file from the distribution’s website.
  • Create a bootable USB Drive with the .iso. There are utilities to do that with; I use Etcher.
  • Boot the target computer from the USB Drive and follow the prompts.

Elementary OS has the details of these steps outlined on the installation page of their website.

Wifi

I expected to have issues with wifi. In my experience, when installing Linux on Macs from this era, wifi does not work out of the box. I was pleasantly surprised the Elementary install screen recognized the wifi card and connected to it, and downloaded the latest software update.. After the installation was complete and the computer rebooted, the wifi card was no longer recognized. I needed to install drivers. As in the past, running the following command from the terminal fixes the issue:

sudo apt-get install firmware-b43-installer

Up and running

This upgrade was simple and straight-forward. It’s a fun project for someone that has no experience with hardware upgrades or Linux.

Benchmarks

This is my first experience running any type of benchmark. I used GeekBench on the Mac Mini before and after the upgrade. I don’t have much insight into what these numbers mean; I expect to in the future. But my hands-on benchmark tells me this computer runs as fast as much newer hardware and is totally usable.

Before – MacOS w/2GB RAM and HDD

Pre-upgrade full report available on GeekBench

After – Elementary OS w/8GB RAM and SSD

Post-upgrade full report available on GeekBench

Conclusion

The performance of this Mac Mini would have improved with only the hardware upgrades (without switching to Linux). But on Linux, the performance is really good.

A more important point is that Apple abandoned this Mac Mini. When Mojave was released in 2018, the minimum hardware requirements are:

  • MacBook: Early 2015 or newer
  • MacBook Air: Mid 2012 or newer
  • MacBook Pro: 2012 or newer, Retina display not needed
  • Mac Mini: Late 2012 or newer
  • iMac: Late 2012 or newer

Struck at High-Sierra, this computer would only receive security updates, moving forward. Many software applications cannot be updated either. After switching to Linux, this computer can run the latest operating system and applications available on Linux.

I did this upgrade for my friend, Chris. I look forward to see what experience he has in the classroom with Elementary OS.

(It took me 3x longer to write this post than it did to save that Mac mini)