Perfect Ubuntu Jaunty on the Asus eeePC 1005HA (and 1008HA)

Standard

The 1005HA is one of the brand new Asus eeePC netbooks, and it is a great little machine — aside from the fact that it comes with Windows XP or a dumbed-down customised Xandros (allegedly — as time goes on, Asus seem to be selling out to Microsoft).

As the 1005HA is pretty new, it has a few odd hardware quirks that won’t be fully supported out of the box until the next release of Ubuntu.

Here I run through what I did to end up with a 100% working install — including all Fn hotkeys. The good news is that it is very easy!

My perfect Ubuntu setup on the 1005HA

My perfect Ubuntu setup on the 1005HA

If you followed these instructions before, and now want to upgrade to Karmic, see my notes here.

Step 1: Installing Ubuntu

Start off with Ubuntu Netbook Remix. It is designed for netbooks and comes with a customised kernel. Even if you don’t like the special netbook interface, it can be easily reverted to the default Ubuntu look with a single click.

Download it here
, and follow the simple instructions here to create an installer on a USB stick.

Power on your netbook, and repeatedly tap F2 to bring up the BIOS configuration.

Under “Boot settings”, disable “Boot Booster”, and hit F10 to save settings. We do this so that we can specify our USB installer as the boot device, and can re-enable it later.

When the machine reboots, hit “Esc” repeatedly to being up the boot menu. Choose the USB key, and away you go.

I wouldn’t bother with the “live preview”, and jump straight into the install.

The Ubuntu install process is straightforward.

Partitioning during install

Partition the disk however you like.

I created separate partitions for / (20gb), /boot (1gb), swap (4gb), bootbooster efi partition (16MB), and /home (the remainder), but how you do it is really up to you. I favour the above partitioning scheme to serve me really well over the years.

I set /home, /boot and / to format as ext4, and found performance to be great.

Don’t forget to create a swap partition of around 2x the amount of RAM if you want hibernation to work!

The EFI partition is for the Asus Boot Booster feature. It needs to be 8MB — I made it 16 just to be sure. At boot time, BIOS information is cached in this little partition so that the power-on self test can be bypassed. It speeds up the boot process by several seconds, which I think is great.

You can leave the EFI that comes pre-created. However, I wanted to blow away all partitions and start from scratch with my own partitioning scheme, so I recreated it. It must be a primary partition. It must be labelled as type “EFI”, which I was not able to do using the installer. See below for instructions on how to set it after the install is completed. Leave this partition unformatted.

Wired networking

After install, the first thing you’ll notice is that ethernet and wireless networking aren’t working. Fortunately, they’re easy to fix.

On a computer with working networking, download this file:

atheros-wired-driver-1005ha-linux

Open the zip file (double-click it), and extract it to the location of your choice. Then, in a terminal, navigate (‘cd’) to the ‘src’ directory of the unpacked files, and type:

make
sudo make install
sudo insmod atl1e.ko

If you receive an error after the first line, and you’re not running Ubuntu Jaunty UNR, ensure you have the linux headers package installed for your kernel — you’ll need to find and download the appropriate .deb and install it. Information is here.

Until Ubuntu Karmic is released, every time you do a kernel update, you will need to re-run the last two steps (preceded by a sudo rmmod atl1e.ko).

You now have ethernet network — so plug yourself in to a network cable and set up wireless…

Wireless networking

This is easy — you just need to install the driver back-ported from the next Ubuntu release.

First, enable the backports repository: Administration > Software Sources > Updates and enable “Unsupported Updates (jaunty-backports)”.

Then, open Synaptic Package Manager, find the package linux-backports-modules-jaunty, and install it.

Getting rid of the Netbook Remix interface

While the netbook remix interface is innovative, I prefer having a desktop and a normal panel with window switcher. To kill the netbook interface, Just go to Preferences > Switch Desktop Mode.

Gnome panels can take up too much space on a netbook screen — you can set them to auto-hide by right-clicking them and choosing Properties. To speed up the auto-hide behaviour, fire up gconf-editor, and navigate to apps > panel > toplevels, and reduce hide_delay and unhde_delay for each panel.

Super Hybrid Engine, Installing an eeePC tray utility, and getting all hotkeys to work

An eeePC tray utility is useful in order to utilise Asus’ so-called “Super Hybrid Engine”, which is really just marketing lingo for adjusting processor speed for different power:performance profiles. It also enables you to switch on/off all the eeePC’s integrated peripherals with a click or two, or using the hotkeys.

After a bit of trial and error, I found that the best tool for the job is “eeepc-tray”. It can be installed from a repository, which means that it will be automatically kept up to date.

Follow these simple instructions to add the statux.org repository.

When done, fire up Synaptic Package Manager, and find and install the packages eeepc-tray and eeepc-laptop-dkms. When done, reboot.

Now, all your hotkeys, apart from Fn+Space, Fn+F3, and the top-left touchpad enable/disable buttons,will be working.

Finishing off: Final hotkeys

First off, we need to make the touchpad addressable by other applications. The safest way to do that is through a rather cumbersome SHMConfig policy XML file.

Create a new plain text file, with the following content:

<?xml version="1.0" encoding="UTF-8"?>
<deviceinfo version="0.2">
<device>
<match key="info.product" string="SynPS/2 Synaptics TouchPad">
<merge key="input.x11_options.SHMConfig" type="string">True</merge>
<merge key="input.x11_driver" type="string">synaptics</merge>
</match>
</device>
<device>
<match key="info.linux.driver" string="psmouse">
<merge key="input.x11_options.SHMConfig" type="string">True</merge>
</match>
</device>
</deviceinfo>

and save it as /etc/hal/fdi/policy/shmconfig.fdi.

Then reboot, or restart X (right-alt – SysRq – k), and the touhpad will now be addressable. When you type, it will briefly disable to prevent accidental mousing.

All we need to do now is enable the outstanding hotkeys. Right-click the eeepc-tray icon, click “Edit Configuration”, and paste the following in the empty file:

#Touchpad control
KEY_TOUCHPAD="00000037"
# Fn + space
KEY_FSB="00000039"

And there you go… all working!

Sound and microphone

The sound works perfectly out of the box. However, the microphone input is set to the microphone jack, rather than the internal mic by default. To change it, open Volume Control, hit Preferences, and enable all the Mic and Input Source options. Then, set the input source to “Int Mic” under the Options tab.

In skype, set your Sound In device to be HDA Intel (hw:Intel, 0). (Sound Out and Ringing should be set to ‘pulse’)

Setting the EFI partition for boot booster

As mentioned above in the partitioning section, for boot booster to work if you removed the default Asus EFI partition during install, you’ll need to set your new 8MB primary partition as type “EFI”. Doing that is simple:

open a terminal, and type sudo fdisk -l to list your partitions. Look for the little Boot Booster partition you set aside. My EFI partition was on device /dev/sda3.

Then, to set the appropriate partition as “EFI”, type sudo sfdisk --change-id /dev/sda 3 ef, replacing “3″ with the device name you found in the previous step (e.g. “2″ for /dev/sda2).

Just be sure you do it to the right partition — back up your data first if you’re unsure!

When you reboot, hit F2, and re-enable boot booster in the BIOS.

231 thoughts on “Perfect Ubuntu Jaunty on the Asus eeePC 1005HA (and 1008HA)

  1. HoClan

    Hello!
    Thx for the tutorial, UNR works now perfect on my asus.
    How long is the battery lifetime with ubuntu, because on mine it’s about 6 hours fully charged and with xp it’s about 8,5 hours.
    I tried same settings for ubuntu and xp:
    Wlan turn off
    brightness 15%
    bluetooth on because of my bluetooth mouse
    powersavings mode
    but I think the difference is still 1,5 hours and that’s much for my taste.
    what’s your stats?

  2. jan 0ng

    Hi, thanks for the documentation all is working aside from – Finishing off: Final hotkeys – can’t save it as /etc/hal/fdi/policy/shmconfig.fdi – it says could not save the file you do not have the permissions necessary to save the file.

    Thank you in advance

  3. jan 0ng

    Thank you. I have another problem, the touchpad disable button is not working, brightness using the FN + F5&F6, FN + f2.. THANKS in advance

  4. Plague

    Thanks, I got this up and going with minimal problems, This netbook never saw windows start on it. I’m new to ubuntu and I have put it on all my pcs. Only the HTPC is left. I had some problem with the wifi at first and on a couple of updates but it was easy to fix. =-). The only thing i now have a problem with is the touch-pad, I am unable to get it to suspend while typing.. It worked when I first installed the file, but that was the only time it worked. Is there anything else that could be done.
    Thanks for your help.
    Plague

  5. Nico

    I put uname -r in the terminal and showed the same as you 2.6.28-11-generic,I download the package and installed but still shows an error “*** no rule to make target 3/src’. Stop.
    help please

  6. Joe

    I followed the instructions and got as far as the wireless. I installed the linux jaunty backport modules as instructions say. However, I don’t know what to do after that to get the wireless up and running. It doesn’t work on its own after installing so I’m not sure what to try. I don’t want to mess up the wired connection by doing something foolish out of ignorance. Thanks.

  7. jan

    have you noticed something with the battery life?
    on xp I can use my asus 1005ha for 8 to 9 hours, but with ubuntu 9.04, only 6hours..

    Pls comment on this

    Thanks

  8. pra maprow

    Greetings…I’ve got an Asus Eee PC (904HA)that I would like to get Ubuntu for (as described for 1005/8HA)…is this possible?…thanks…

  9. Alan

    Hi, thanks for the guide it got my ethernet up and running great! I am having a problem with wireless though, every few minutes it will just stop responding, though network manager says it is still connected. Ping will just hang until the wireless decides to kick in or I reset it. I have compiled the driver on the atheros site, I have followed your instructions and enabled back ports. Any ideas? Thanks for the help.

  10. Joe

    Since my last post, I ironed out the wireless problem (actually writing this now on my asus without wires). I did all the other stuff too. The only glitch is that I can’t get Skype to work. My audio doesn’t record. I have the settings set as indicated and tried other settings but to no avail. It’s not a burning issue however but would like to get it working someday so I don’t have to use Windows. Anyway, thanks for all this. I love having this thing fully functional.

  11. Joe

    I found a real flaw with Ubuntu today. I didn’t know that you can’t cut and paste from GIMP into some other applications (namely Open Office). I’m hoping to find a workaround, but without a solution, I can’t really use Ubuntu. It’s a shame because it’s the only system I have run where nearly everything works well having followed this guide. I was using Zenwalk and can cut and paste between these same applications with that OS, which is something that I have to do a lot for work.

    If anyone can steer me towards a fix, I’d be greatful.

  12. nick

    Is there anyway to get the wifi drivers off of another computer via usb? All the drivers I’ve found are for a newer kernel. :(

  13. Basil

    Hello,

    unfortunately booting from the thumb-drive does not work for me on 1005HA. I followed the instructions most slavishly – I downloaded UNR, used dd instead of cp to write it to the thumb-drive, disabled the Boot Booster, saved the settings, brought up the boot menu and chose the thumb-drive.

    1) When trying to boot from my thumb-drive, the URN image is ignored, no error message appears, and XP is loaded from the HD.

    2) When trying to boot from a borrowed thumb-drive, the error message “missing operating system” appears and XP is not loaded, but the machine must be manually rebooted.

    3) When trying to boot a Thinkpad from the borrowed thumb-drive, everything works as expected, which means, the image on the thumb-drive is indeed bootable.

    4) When trying to install URN from within XP, the program wubi.exe does not run. When I click on the icon, the cursor becomes busy for a couple of seconds but no window appears. When I try to execute wubi from the command line by issuing
    E:
    wubi (or wubi.exe, or wubi.exe –cdmenu)

    nothing happens. (The –cdmenu flag was found in the autorun file.)

    Any ideas?

    Is it OK to install the normal Ubuntu distribution from a CD image (http://releases.ubuntu.com/9.04/ubuntu-9.04-desktop-i386.iso)?
    Or is UNR indispensable for getting all hardware to work?

    Thanks in advance,
    Basil

  14. Great tutorial. I am very grateful that you shared your work. I never would have been able to get things set up with such ease. Thanks.

    I had none of the problems described by some other commenters.

    I suggest initially setting up what will become the bootbooster ef partition as “unused.” It will become used when you change the partition type later.

  15. effequattro

    Great thanks for your precious informations. I’m an absolute beginner in Ubuntu, buyed two days ago an Asus eeePC 1005HA with Windows XP preinstalled, made a dual boot installation but when I started Ubuntu Remix I had the sad surprise that Internet was not running. I followed your suggestion in ‘Wired networking’ and now Internet is going on smoothly! I don’t really know what will happen when I’ll follow you next suggestions! :-)
    Thank you very much again!

  16. Garry

    Thanks for posting about getting the wifi to work. Been scouring the web and your page is the first decent one I could find. I went through the first part with no problem but could not find this:
    “Then, open Synaptic Package Manager, find the package linux-backports-modules-jaunty, and install it.”
    Any ideas?

    So, I’m quite new to linux. This is my first exposure so got a lot to learn. Maybe you could help with another issue. When I first loaded the OS onto a USB stick and booted, the MBR got trashed and windows would not boot. Got a GRUB error 22. So just loaded linux and wiped out windows. I would like to have a dual boot machine. The disk that came with the Eeepc does not boot from the USB CDrom. Looking for some help.

    Thanks.

    You rock!

  17. melissa

    @Jan – I have the same problem. Battery life is MUCH better in XP than in Ubuntu (others on message boards are reporting the same problem). It seems that Ubuntu just uses way more battery and there is no fix.

    The problem I am having now is that the computer won’t suspend after idle if the lid is closed. It works fine when the lid is open, but not when it is closed. I don’t want it to suspend every time I close the lid (although that function works fine), just when idle for a certain period of time. It just won’t work if the lid is closed. Anyone else?

  18. Ron Litton

    Sorry, not “newbie friendly” enough. I just bought an ASUS Eee, mod. 1005HAB, from Best Buy, loaded with XP. I know NOTHING about any form of Linux, but wanted to try it, so I bought a 2G flash drive with the Eeebuntu Netbook Remix install loaded on it. I installed with little difficulty, but now my 1005HAB can’t find it’s wifi adapter, so I can’t connect to the Internet. You say “you just need to install the driver back-ported from the next Ubuntu release.

    First, enable the backports repository (WHAT’S THAT AND HOW DO I ENABLE IT?): Administration > Software Sources > Updates and enable “Unsupported Updates (jaunty-backports)”.

    Then, open Synaptic Package Manager (WHAT’S THAT AND HOW DO I OPEN IT?), find the package linux-backports-modules-jaunty, and install it (INSTALL IT HOW, AND DOESN’T THIS REQUIRE AN INTERNET CONNECTION?).

    Hey, I appreciate your attempt at a simple process, but it’s NOT SIMPLE ENOUGH for us total know-nothings! With time and trying, I’ll know more, but I’m not there yet, and need it even simpler. Got a simple, step-by-step fix for me, that I can implement either without an Internet connection, or by booting the netbook in XP and downloading files to a flash drive?

    Thanks,
    Ron Litton

  19. Alex

    Thanks so much, been trying to get the Wifi on my eee pc 1005 all day. tried your fix and all working fine now

  20. Xebek

    Thanks a lot for this guide, I was able to install Ubuntu on my 1005HA. One question though, I’ve run into a big problem no one seems to be able to figure out for me. When I leave the netbook alone and it automatically dims the brightness due to being idle, once I wake it up by doing whatever (moving cursor, hitting a button) the brightness will shoot up to 100 percent, and not whatever it was left at.

    This is very annoying as I sometimes have to use it at a dim setting in class, but after it auto dims, it is very annoying to have to manually lower it back down.

    Any fix to this?

  21. varanasi

    Thanks for the tutorial. Perfect.

    Two questions . . . Have you tried Karmic yet? (Please, please, please!)

    Second, many people have reported baulky, intermittent wireless connections. Me, too. Seems to be after a suspend. From one of the threads:

    The best way to reproduce the wifi problem is:
    - Boot
    - use your EEE with wifi…. it works.
    - suspend
    - on wake up, sure your wifi is not opera[ting] as well

    Any ideas?

  22. Mondotofu

    Shane & Admin:

    To get the linux-headers deb package, you can go to a working Ubuntu desktop and enter the following command:

    sudo apt-get install linux-headers-2.6.28-11-generic

    After the setup finishes, you will find

  23. Mondotofu

    Shane & Admin:

    To get the linux-headers deb package, you can go to a working Ubuntu desktop and enter the following command:

    sudo apt-get install linux-headers-2.6.28-11-generic

    After the setup finishes, you will find the deb that you need in the /var/cache/apt/archives directory.

    -rw-r–r– 1 root root 8692696 2009-04-17 00:06 linux-headers-2.6.28-11_2.6.28-11.42_all.deb
    -rw-r–r– 1 root root 667528 2009-04-17 00:07 linux-headers-2.6.28-11-generic_2.6.28-11.42_i386.deb

    Copy both files to the eeepc and place in any directory.

    Run the
    dpkg -i linux-headers-2.6.28-11_2.6.28-11.42_all.deb

    to set up your environment to build the src for the Atheros network card.

    Hope this helps!

  24. admin

    Ron: It is as newbie friendly as I wanted to make it. I could have pasted commands for you to blindly copy, but wanted people to understand what they are doing. If during the course of that, you had to do a Google search to find out what a package manager is (and how great it is), then I think I’ll be achieving my goal.

    I won’t get down to utter basics – -that’s not what this guide is for. Similarly, if you wrote a guide for Windows, I don’t expect you would tell people how exactly to get to “Control Panel” or what the Start Menu is.

  25. soulish

    Hi all, this guide is fantastic and I thank you for putting it up. But I am still having a problem with the touchpad that was mentioned a few pages back in the comments. Namely I can not get the button associated with turning the touchpad off to do that. Instead, when I hit the button it gives me the following message: “Unable to disable touchpad; Ensure xorg.conf is properly configured.” Let me mention here that I have the full install of Ubuntu 8.10 not the netbook remix. And I think I got it like a day before the official release. It seems that in this install, for some reason, the xorg.conf file is not generated by default. So I was able to generate a generic one by running Xorg -configure and then I could modify that file. However, I can find no consensus on the web as to how I need to modify that file and regardless, every method I did try led to nothing different that my current state. BTW, the Super Hybrid Engine works fine with Fn+Spacebar which was defined in the same place as the touchpad button so hopefully it should be able to work. Any help is greatly appreciated. Thanks

  26. Hi, is there a way to make it dual booting with XP??
    Please share if you know about that, and please details coz I’m absolutely new in ubuntu..

  27. admin

    Adi: yes, but I hate dual-booting myself — it is not particularly convenient. I dumped windows altogether 4 years ago and have never looked back. I have Windows 7 in a virtual machine for my wife for the occasional ActiveX-powered website or dodgy Chinese software that she needs to use.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>