Teaching an old laptop some new tricks
About a week ago, I found an abandoned old laptop by the curb of my trash area, and my Dumpster diver's spirit immediately prompted me to pick it up and give it a good cleanup and see if it was still on a workable state, or if I could at least still salvage some parts.
A week later, I'm daily-driving that very discarded machine at my workplace and it's performing great, despite only having a single-core Celeron CPU and 4GB RAM.
This might as well be just another one of the many, many Linux on the desktop success stories out there saving old computers with a more secure OS, and it's definitely not the first time I'm doing it. Still, this time to me it had a special meaning; it was really like those movies where the underdog gets the prize. All of that from a simple stack of Free Software, and a USB wifi dongle. Follow more of the story in this post.
The initial situation
When I first inspected the laptop and found out that it was fully functional, with all parts working, my next question was to decide what OS I was going to install on it. I had a few candidates up my sleeve, including my recent successes of Artix and Alpine Linux, and also was pretty excited to try out BunsenLabs as well, given my positive recent experience as a rescue medium, but that one failed during the installation.
In the end, however, I ended up settling with Debian Buster, which I had previously tried in - ironically - another salvaged machine, and was wondering if it was lightweight enough for the machine. Speaking of which, here are the unimpressive specs of it:
- CPU: Intel Celeron 900 @ 2.2GHz (single core!)
- RAM: DDR3 400MHz 4GB
- Disk: 160GB HDD
- Ethernet port, but no built-in wifi.
Ok, so that's not the weakest machine I've ever worked with, but these specs are low even for a 2010-made machine (even my 2006 Dell had a better CPU). The CPU seems to be the big bottleneck here, so running out of memory won't be too much of a concern, I think. A more surprising point is the lack of wifi - people, this laptop was built in 2010! How come it has no support for this minimum amount of mobility?! Luckily, though, I have some spare USB WiFi dongles, which I use mostly when the built-in wifi isn't supported out of the box, so not everything is lost yet.
So, in a context like that, how does Buster fare as a desktop?
As it turns out, very well. Compared to other super-minimalist distros, it offered a great balance between the speed and usability, with pretty much everything I would need to use working fast enough. However, the lack of wifi is indeed out of place with 2021 standards, so we will fix that next.
Getting it to work in a modern environment
I'm no stranger in not having my wifi working at times - I lost count on how many distros I've booted without connectivity, or had to activate it after the install. The fix is easy enough: insert USB WiFi dongle, then select it from the GUI network manager. So I do that, but still no juice. What the hell?
It turns out that due to Debian's policy of not including nonfree software repos by default meant that drivers for my dongles were missing from the base install, and couldn't be installed even from a cabled connection. Oops. No biggie, though, as I could simply download the missing firmware debs from another machine, and install them locally, and once I had WiFi working, it was just a matter of enabling the
contrib repos to the apt sources list.
However, that is a rather simple dongle, that only works with the 802.11n standard of WiFi, which does not support 5GHz channels, and for today's infrastructure can be considered quite old. I have another 802.11ac dongle that is much faster, but can I install the drivers for it?
This community-supported repository on Github maintains a more recent fork of a Kali-only unofficial driver for my device (rtl8812au), and luckily it was fairly easy to install. I needed to install the
dkms package in order to do the kernel module install, but that was pretty straightforward:
apt-get install dkms git clone https://github.com/jeremyb31/rtl8812au-1 cd rtl8812au-1/ ./dkms-install.sh
I presume that as long as the distribution has support for
dkms probing and compiler support, it should be the same process.
The compilation from source was straightforward, but did take a while given this CPU. At the end of the install process, automated through the script, the module installed was loaded, and good to go. Next step, plug in the receiver dongle, figure out its weird device identifier (
wlx28ee52bcbc13 here) and add it to wicd. Modern WiFi is ready!
The bottom line
Even as I write this essay, this seemingly obsolete machine is alive and kicking, doing real work alongside the other much more modern machines in the office. Even though some tasks like watching videos do take their toll on it, it's still perfectly usable with the addition of only a few peripherals. I've even set up a Tor hidden service and was able to SSH to it from my house with no problems. RAM usage sits at around 2.0/3.76GB with peak browser and other resources usage, and yet the system remains responsive without swapping.
I was extremely impressed with how this truly underdog, a "granpa" machine became a useful workhorse thanks to GNU/Linux and Free Software. It's not ready to become the next PCMasterRace top rig, but dammit, it works very well, even when I play AssaultCube Reloaded (no lagging under low details!)
I have the feeling that "back in the day" it would've been quite a good machine in comparison. I'm thinking about taking it back home and trying out a few other distros in it to lower down the RAM, but I'm quite happy with Buster.
Linux wins yet again!
What was the oldest or weakest machine that you were able to "revive" using Linux? Have you got some other old hardware stories to share? Let me know on Mastodon!
This post is number #22 of my #100DaysToOffload project. Follow my progress through Mastodon!
Last updated on 07/25/21