I’m in the early phase of building a home lab. I ordered some hardware from eBay, the centerpiece of it all being a Cisco 2851 router. I will discuss the details of this lab in future posts. But right now I want to focus on an issue that I encountered while setting up a basic, indispensable, and prerequisite item when building a home Cisco lab.
One of the basic workbench items that is required is a PC installed with Putty and TFTP for staging Cisco equipment. After receiving delivery of used hardware from eBay, one of the first things you want to do immediately is put it on the bench, power it on, and check to see if everything is in order and working properly. Putty is used for console access to the equipment, using the familiar baby blue colored Cisco rollover cable. Most modern PCs or laptops do not have the DB-9 serial connection that this cable needs. But I had an old Dell Optiplex GX-150 desktop uselessly lying around – perfect for this purpose. So I set about performing a fresh install of Windows XP (with Service Pack 3) on the Dell.
Anyone who has spent any substantial amount of time in IT related endeavors knows full well that such tasks, seemingly straight-forward at the outset, have the potential to take you on unexpected detours. Such was the case here.
The first sign of trouble I noticed, after the installation, was that Windows Update was not working. It was not pulling down any updates, even though I had it running for a long time. The other thing I discovered was that Task Manager was showing the CPU running solidly at 100%, with the offending process being SVCHOST. Now, knowing that SVCHOST is pegging the CPU is not really useful in itself since turns out that SVCHOST is a parent process that hosts another process. In order to know the root cause, is necessary to know what that sub-process is.
Task Manager is unable to reveal this info; it is necessary to use another tool called Process Explorer, obtainable from Windows Sysinternals. Using Process Explorer, I determined that it was WUAUCLT, a Windows Update Agent process. So after some hours spent Googling, probing, and head scratching, it turned out that I had an issue related to Windows Update. So what’s the fix?
Before I get to that, I also wish to mention that during all this troubleshooting, I’ve attempted to scrap WinXP and install Linux on the Dell. There are many distributions of Linux that work very well on old hardware and there are several, including one called Crunchbang, that claim to be very lightweight. I thought it would be ideal for an old PC with a Pentium III processor with only 512 KB of memory and 20 GB hard drive.
The other motivation is the fact that Microsoft will stop supporting WinXP in April of next year. This is actually a real concern because security experts are predicting that hackers around the world will come out in full force with zero-day exploits that they were saving for that occasion. If that happens, then WinXP will be seriously compromised. The drawback is that I’ve never used Linux to console into Cisco equipment. It even turns out that there is no Linux version of Putty (there is a Unix-based C source code, though).
But a bigger roadblock was the fact that I was unable to install Linux on the Dell at all. It appears that all Live CDs are actually DVDs. My Dell, being as old as it is, only has a CD-ROM drive. Even the ISO image sizes do not fit on a 700MB CD. I tried cannibalizing a DVD drive from an expired laptop, but the BIOS appeared to have problems recognizing this foreign drive, even after upgrading the BIOS firmware to the latest version.
The BIOS was also incapable of booting from a USB drive. I wish to comment to the Linux community that a big reason why people install Linux is to extend the life of old equipment, so it makes no sense to distribute images in a way that makes it extremely difficult or impossible to install it on that old equipment. I know that the stock response from the Linux and Open Source folks would be something along the lines of “well then, just roll out your own distro”.
I may do exactly that at some point and I also wish to revisit Crunchbang because I was fascinated by it. But this sentiment really does not help me right now. BTW, all this extra work involving Linux added extra hours to the overall troubleshooting. After considering the pros and cons, I realized that the Linux route was becoming a dead-end. I decided to stay with WinXP.
The Fix: After further research on Google, it became clear that the fault had to do with the interaction between Internet Explorer and Windows Update. Windows Update is heavily integrated with IE. When you initiate Windows Update after the install, the Windows Update Agent will get updated first. However, IE still remains as IE version 6, the old version that came off of the re-install CD.
What I did to correct the problem was to first manually upgrade IE to version 8. Higher versions will not work with WinXP. Then I downloaded and installed the latest cumulative security update for IE8. This is the latest and greatest patch as of Oct 4, 2013. After I did all this and rebooted, I am pleased to report that both Automatic Update and manual Windows/Microsoft Update via update.microsoft.com is working fine. In fact, I am running the updates as I am writing this. As anyone who has done this before knows well, it is a fairly time-consuming process.
If you are in a similar situation and do some Googling, you will find that this is a fairly widely known and reported issue. You will find lots of suggestions, much of which is useless, but I am fairly confident that the fix presented above is the definitive answer to this issue.