At work they pretty much gave away a batch of vintage Dell GX240 desktop PCs: mine was a 1.7 GHz Pentium 4 machine from 2002 with 512 MBytes of memory and a 20 GByte IDE hard disk. I added a second bank of 512 MBytes of memory (133 MHz SD-RAM, 16 Euro from Zercom) and replaced the 20 GBytes hard disk with a spare 40 GByte hard disk. In the end, this Frankenstein machine is a hybrid between my old work machine (by coincidence I got my own machine back) and an old home hard drive.
Why install Windows 7 Release Candidate on an ancient machine?
Well, in my case the machine I am building will end up at my in-laws. They have a mild preference for Vista (they already have a Vista laptop). And it is claimed that Windows 7 actually runs better than Windows Vista on typical hardware – and there seems to be no reason why this wouldn’t apply to older hardware too – providing you can get the appropriate drivers. Additional reasons:
- This machine doesn’t need to be blazingly fast: it is for E-mail, browsing, etc.
- The machine meets Microsoft’s official Windows 7 minimum hardware requirements (1 GByte RAM, 1 GHz processor, etc). Maybe not the one needed to run the Glass user interface – but that remains to be seen.
- Windows 7 RC is free – at least you can “test” it for free until June 2010. After than, the RC will automatically shut down the machine after every 2 hours of operation. So using a Release Candidate is a temporary solution. Windows 7 is expected to be released in late 2009.
- I wanted to experiment with Windows 7 to see if I will put it on other machines as well. For Windows 7 features, see Wikipedia.
This post is only meant to document how to get Windows 7 installed on a Dell GX240. This may help others. And makes sure I don’t lose the recipe myself:
- Check the extra memory using the BIOS (F2). In my case I installed Windows while the machine temporarily had 768 MBytes of RAM. This worked fine.
- Download the free Microsoft Windows 7 RC .iso file and burn that to a DVD-R. The download takes a few hours (2.3 Gbytes).
- The machine “somehow” came with 2 identical CD-ROM drives. So I replaced one with an IDE DVD drive in order to install the Windows 7 installation DVD. In my case an old Philips DVD Recorder.
- I don’t think I changed the BIOS settings in any relevant way. Check that the CPU speed is “normal” rather than “compatible” (meaning slow). The Dell BIOS doesn’t seem to have any easy way to set the BIOS settings to safe factory defaults (other than removing batteries). Side note: the Dell BIOS is pretty fast at starting up.
- Installation went fine with 1 major and 2 minor exceptions:
– the device driver for the Ethernet network controller didn’t load (this is a big problem as you want to connect to the Internet)
– the device driver for the on-board AC97 audio didn’t load (problem solves itself later)
– the device driver for the ATI AGP graphics card ran in VGA-compatible mode (not a big problem as it supports 3 or so resolutions, but not solved yet)
The Ethernet driver problem
I spent hours trying go get a device driver which would get me a working network connection. A wrong approach:
The motherboard contains a so-called Intel 845 chip set. Its South Bridge is known as ICH2, Intel 82801ba, and Brookdale. It contains an Ethernet controller.
As this chip is a complex chip, but from a well-known family, it was unexpected that Windows supports many of the peripherals on this chip (e.g. USB, PCI bridge) but not the Fast Ethernet network interface or Intel’s audio interface.
It turns out that the Ethernet on a Dell GX240 is handled by a separate 3Com Ethernet chip called 3C920. So the Ethernet interface on the Intel chip set is apparently not used. The 3Com chip is in turn compatible with popular previous 3Com chip called 3C905C-TX. So the trick is to manually install drivers for a 3C905. The answer how to find a driver for that chip for Windows 7 (actually Vista – but both work) can be found here:
I have Dell with integrated 3C920 on motherboard. After installing Vista, I could not get on net at all; IPCONFIG showed nothing configured. In Device Manager, it showed the NIC but it had NO driver loaded.
From another computer, I downloaded drivers for 3C905C from 3Com at: http://support.3com.com/infodeli/tools/nic/3c905c.htm
In Device Manager, I did “Update Driver” (only needed Diskette 1).
Seems to be working OK now. Hope this works for you!
So this link to 3com brings you to “EtherCD v5.4 Disk 1 of 2 for the 3C90x Adapter Family ” which is an .exe file which self-extracts to give a set of driver files. These can be put on a memory stick (yes, you need another PC for the download part if your network driver fails).
Then you go the failing Ethernet driver (right-click on Computer -> manage -> Device Manager. Then you find the failing network adapter, and ask it to load a new driver. You will have to manually direct it to the USB stick with the driver files. But once found, it will actually see that you have a 3C920. After the driver installs the network connection will automatically work again.
Once you get the network connection running and let Windows update whatever it likes, it will actually load a more official Windows 7 compatible driver for the 3Com 3C920. And will also install the missing audio driver. Somehow it didn’t see the graphics card.
Startup time benchmark
So now Windows 7 is actually running on the machine, it is time for some benchmarking to see whether all this is worth the effort. After power-on:
- in 10 seconds you see a static text “Starting Windows”
- in 20 seconds you get an animation about “Starting Windows” just to keep you happy. [25 seconds]
- in 50 seconds you get a login screen where you can type in your password. [45 seconds]
- in 60 seconds (if you type fast) you see the desktop [70 seconds]
- in 80 seconds (again if you work fast) you get an open Internet Explorer window connected to say www.google.com [120 seconds]
All times are measuring from first pressing the power button. For comparison, I added the green timings for a more modern machine: Intel Core 2 Duo E4300 @ 1.8 GHz with 2 GBytes of DDR2 memory and a 160 GByte IDE hard disk. Unfortunately, for this benchmark, it has several years of usage – and thus significantly more software being loaded at startup: mainly MSN Messenger, Microsoft Live OneCare, Microsoft OneNote, Internet Download Manager, Logitech SetPoint. But in any case most timings are comparable.
Windows “Experience Index” benchmark
Windows Vista and 7 have a built-in benchmark (Control Panel → System → Check the Windows Performance Index). On Vista it gives ratings between 1 and 5. On Windows 7 the range is extended to 7.9.
It benchmarks the CPU, memory subsystem, display subsystem and hard disk. It stresses that the performance of the overall system is determined by the weakest link: the overall system is rated based on the lowest score of any subsystem. A bit simplistic, but workable as a quick test:
Note that this is still using the VGA display driver.
Updating the BIOS
The machine came with BIOS revision A03 while the latest and last version was A05 (August 2002). Dell (still) provides this on their website in two different forms:
- an executable called Bgx24005.exe that automatically makes an empty floppy disk bootable and copies the executable for flashing the BIOS to the floppy. I don’t recommend this route because one of the steps involves an executable that doesn’t run under Windows anymore.
- an executable file called gx240a05.exe that does the flashing. It needs to be copied onto a bootable floppy. Windows Vista and Windows 7 can format a floppy that is bootable, so this route is easiest.
Upgrading the BIOS may be important to install a modern AGP card (I am not entirely certain, but it certainly doesn’t harm to upgrade).
Upgrading the AGP card
Although the provided Rage 128 AGP 4x graphics board worked with Windows 7, it is treated like a generic VGA driver by Windows 7. This has a minor drawbacks:
- You cannot enable Windows 7’s Aero user interface feature. Maybe not a big deal. But we were installing a ridiculously new operating system (not even for sale yet) on a ridiculously old PC. So why not go all the way…
- The Rage 128, when treated as a generic VGA card, is slow. Especially if you run the display at higher resolutions: scrolling and screen updates are all handled by the main CPU.
- In theory, a modern graphics chip will be better at 3D games. But if you really care about gaming performance, you shouldn’t be refurbishing an old machine in the first place.
- A modern graphics card also has DVI-out and TV-out. The Rage 128 only has VGA out. DVI-out allows you to use a digital interface to the monitor. But I bet you can’t see the difference compared to an analog interface.
So I ended up purchasing an NVidia 6200-based AGP 8x board for 40 Euro (MSI NX6200AX-TD256H). This has 256 MB of memory and an AGP 8x interface. Fortunately it worked in the AGP 4x slot (a bit of a gamble) after I upgraded the BIOS.
Note that you may have a hard time finding a board that physically fits inside the GX240: the mini-tower version of the machine has room for full-sized AGP and PCI cards, but the machine is commonly encountered as small form factor cases. These can only hold reduced height AGP cards (as the cards are mounted on their sides and some of that space is used by other components).
The resulting performance boost was enough to run Aero: