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.

Friday, August 14, 2009

i feel old

Today my sister mentioned a blog post I wrote 7 years ago. Seven years! That's 25% of my life so far, and 10% of my life expectancy.

How long will this blog live for? It was about to die, but right now I feel like I should keep it.

Wednesday, April 22, 2009

the socks problem

I have the habit of leaving my clean clothes on the dryer until they run out or until I need to dry some more, case in which I transfer everything to a large basket. I rarely spend the time to put them away. When I need some socks I go to the dryer and try to find a matching pair. This process is often more difficult than I'd expect and it has bothered me for years.

So today I decided to compute the probabilities involved and the expected number of draws until I find a matching pair.

I draw one sock at a time uniformly at random until I have a matching pair. If I have 10 pairs of socks (all of them different), the probabilities of drawing a sock exactly at the k-th draw are as follows:

p(1 draw) = 0 (can't have a pair with only one sock)
p(2 draws) = (1 / 19) (I have 1 sock in my hands and I can draw any of the other 19 socks)
p(3 draws) = (1 - p(2)) * (2 / 18) (To get here, I can't have drawn a pair in the previous two draws; and now I have 2 socks and I can draw any of the other 18 socks)
p(10 draws) = (1 - p(2) - p(3) - ... - p(9)) * (9 / 11)
p(11 draws) = (1 - p(2) - p(3) - ... - p(9) - p(10)) * (10 / 10) (To get here, I can't have drawn a pair in the previous ten draws; I've also got all possible socks so anything that I draw at this point will match one of them, so the probability of finding a match here is 1)

The expected number of draws to find a matching pair is:
1 * p(1) + 2 * p(2) + 3 * p(3) + ... + 10 * p(10) + 11 * p(11)

That gives around 5.7 draws.

Ok, I don't feel as bad now. I still feel the universe is playing tricks on me, but at least they're subtle enough to keep my paranoia at bay.

Bonus: a graph showing the probabilities of finding a match on the k-th try.

Thursday, March 26, 2009

go humans go?

Walking home an hour ago, I saw a similar advertisement on top of some random building here in Seattle. Having discussed the economic crisis and the apparent lack of purpose of many things in life over dinner with some friends, I felt like defacing it. Given my absolute lack of spraying and urban climbing skills, I didn't do it. Not incurring the risk of end up in jail was a nice bonus. But I hate to see an idea wasted, so here it is. Thanks to the wonders of the Internet, Microsoft Paint and the generosity of Gary Soup (who published the original under the Creative Commons license on Flickr), here's my virtual manifest:

Monday, March 09, 2009


I saw Watchmen at the IMax theater last Saturday. I felt bad for Alan Moore. I know he's a crazy dude, but... If I had written it I'd be pretty pissed off.

Good: scenarios, special effects, sound track, Rorschach, Comedian
Ok: Nite Owl (could be more dorky), Dr Manhattan (could have less feelings)
Bad: Ozymandias (not smart enough), Silk Spectre (not annoying enough)
Horrible: plot and continuity (it should suffice to say that the ending sequence was a complete screw up; it's not nearly as powerful as the original - maybe I'll write more once everyone saw it)

Saturday, January 03, 2009

free, free palestine

Today a few hundred people here in Seattle protested against the Israeli attack on Gaza.

War sucks. Humanity should know better.