Friday, November 27, 2009

Installing Windows 7 on an ASUS EeePC

[Disclaimer: this clearly is not the typical Gondolin post (though one could argue that nowadays the typical post is empty - let's not even get into that); I'm posting it here because I want to share the info and I can't think of an easier place to write it to.

Dear usual readers, feel free to ignore this entirely]

I recently installed Windows 7 on my wife's netbook, an ASUS EeePC 1000HE (if you landed here looking for instructions on how to do it, see for instance this guide). Five minutes after I proudly handed it over to her, considering my task done, she noticed that the special function keys (the overloaded Fn keys that one can use for various tasks such as increasing, decreasing or muting the system volume, changing brightness, etc) were not working. I naively assumed that fixing it would be a simple task. It took me 4 hours! So I decided to try to save people's time by posting a how-to.

If you go to the ASUS download page, you can easily enough find and download drivers for your EeePC netbook. Just type the model name on the upper left hand search box, fill in the model name (in my case, "1000HE"), select the OS and it will show you links for a bunch of things. Windows 7 installation picked up most things by itself (Video, LAN, Audio), so I didn't bother to get specific drivers for them. I did download and install the "Hotkey Service Utility" (under ATK), the "Touchpad Driver" (under Touchpad) plus the "ASUS Instant Key Utility" and "ASUS Update Utility" (both under Utilities). The latter installer refuses to run and quits with a confusing error message: "WARNING ASUSUpdate only support Eee PC Product and please install the ASUS ACPI Driver First".

The symptom one would typically experience after installing the other three utilities and restarting the system is a mysterious error message popping up after logon saying "ASUS ACPI service Can't get WMI ASUSManagement Object".

The fact that ASUS Update refuses to install is unfortunate; in fact, it seems ASUS created a chicken-and-egg problem. It turns out that ASUS Update doesn't want to be installed because the BIOS version doesn't match its requirements. The error message after login is caused by the same reason. However, the easiest way to update the BIOS would be by running ASUS Update.

There are other ways of flashing your BIOS, but they are poorly documented. I had to search for hours and try multiple different things until I arrived at the following (reasonably simple) solution.

How to update an ASUS EeePC BIOS

1. Get an USB drive. It can be quite small, you will need less than 1MB in it
2. Format the USB drive using the FAT filesystem (aka FAT16). This is important. Do not use FAT32; otherwise the EZ Flash utility will freeze (specifically, it hangs saying that it's reading the file). You can do this by going to Windows Explorer, right clicking on your USB drive, selecting Format and choosing FAT. Quick format is turned on by default and should work just fine
3. Download the latest BIOS version for your netbook from the ASUS website. You don't need to do incremental steps; you can go directly for the latest version (which is the highest numbered update (in my case, it was version 1104))
4. Copy the ROM file to the USB drive
5. Rename the file to ModelName.ROM. In my case, I had to rename it to 1000HE.ROM
6. Turn the netbook off
7. Make sure the USB drive is connected to one of the netbook's USB ports (prior to turning it on)
8. Make sure you have your power adapter plugged in (because you really don't want to run out of battery in the middle of a BIOS update)
9. Turn the netbook on
10. On the initial screen, press ALT+F2 to run the EZ Flash utility
11. If it finds the pendrive, it will say so. Otherwise it will keep on an infinite loop looking for it
12. If it finds the file with the name it's expecting, it will say so. Otherwise it will complain
13. EZ Flash will then read the file and perform a bunch of operations. In my case, these took less than 5 minutes. When it's done, it will instruct you to reboot. Do it!
14. You're all set. :)

After you went through this, once you boot Windows it will stop displaying the error message and it will allow you to install the ASUS Update utility.