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.

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

  1. Thank you so much!!! This guide collected all of the information I needed to get things going on my eeePC! I’m linking to this post on my blog, and on all of the unanswered forum posts on this topic.

    Thanks again,
    Daniil.

  2. Thank you very much. the guide ist just awesome. My eeePC is now running fine and it took me just about 2 hours thanks to your guide!

  3. admin

    Tiaan — I can’t help with Linux Mint. However, there’s nothing here that requires knowledge of the command line.

    I suggest you ask specific questions regarding problems on the Linux Mint forums.

  4. This is an awesome guide – thank you! I got my 1005HA a couple of days ago and planned to write a guide much like this myself, but you’ve taken care of it for me.

    One question – while linux-backports-modules-jaunty does properly enable wireless networking, I’m having problems when the machine goes idle or suspends. When I wake it up, wireless no longer works; the “Enable wireless” option is greyed out in the networking menu; and nothing I’ve tried gets it working again. I tried using the eeePC Tray to get it going; it doesn’t actually recognize that WiFi has been disabled, so first I tell it to turn WiFi off, then on again. It seems to work for a second, detecting and connecting to my wireless network for just a moment, but then flakes out again.

    Does this happen to you, too? Any suggestions or ideas on how one might fix that?

  5. admin

    Hi Jack — that doesn’t happen for me. Have you tried it with a different router to see if the behaviour is any different?

  6. Stephen

    Hi,

    This is the most amazing guide. Thank-you very very much, I uninstalled eeebuntu immediately and installed via your guide. There’s a few hiccups I’ve run into however:
    1. I followed each step for wireless but I cannot see any packages related to backports in synaptic.
    2. I followed all of status.pub and status.org instructions with keyfiles etc. However, I cannot find eeepc-trya or eeepc-laptop-dkms in synaptic as well.

    But I’m extremely glad with how easy the fix was for wired connection. Thank-you thank-you thank-you!

  7. admin

    I’ve updated the instructions with how to enable the backports — that’s likely the problem r.e. the wireless.

    For the statux repository, make sure you update (check) Synaptic after adding it.

    Also, the “Quick Search” in Synaptic is rubbish. Ctrl+F seems to be more reliable. Of course, apt-get install package-name does th etrick just as well.

  8. Fifiki

    Hi!
    How many hour the battery time under Ubuntu with wifi or 3gUSB and half screen brigness?Better them xp?

    Thanks the reply!

  9. admin

    Hello Fifiki. I don’t know how long battery lasts on XP as I immediately deleted it (haven’t used it for years). With 50% screen brightness, and wi-fi and bluetooth on, in Power Save mode, I get about 6 hours, a little less if I’m doing stuff in the background.

    My experience is that linux is usually a slightly more power hungry than Windows on equivalent hardware.

  10. Fifiki

    And just 6hour:-(
    Hmm…because my friend tell me:n270 6cell(but 48w) battery is 8hour with win xp Wifi:On BlueTooh:Off and half briggness….hmm…
    Thats my problem because my school+work time=8hour.

  11. Jay

    Great guide. As someone pretty new to Linux everything worked except when trying to save the created shmconfig.fdi file, I was told I didn’t have permission. I solved this using sudo nautilus in Terminal. Not sure if this was supposed to happen or not.

    The main difficulty I am having at this point is the wireless signal strength is fairly low and I keep losing connection. I’m dual booting with Ubuntu Remix and the XP install that came installed. I have a 1005HA. When I use XP, the connection strength remains “Excellent” and I have no connection issues. From an identical location, the connection in Ubuntu is spotty and low strength. Is there anything I can do to improve the situation?

  12. Ken J

    Just a quick thanks for putting this guide together – I can now purchase the 1005HA for my Wife’s birthday (she wanted to run Linux after she saw how easy it was with a machine I set up for the kids).

  13. admin

    Yes. The normal way is to invoke a text editor with root privileges from the command line — e.g. sudo gedit path-to-file. Running nautilus as root works too, although it is considered a little dangerous.

    I wanted to avoid too many command line bits since it was aimed at new users — I figured that experienced users would know what to do, and new users would learn by figuring it out.

    As for wireless — mine is just “OK”. At home it’s not as good as it could be, but I haven’t had any problems at coffee shops. I think the driver will be improved in the next Kernel. If you enable the jaunty-proposed repository, an update is coming through that includes a slightly updated kernel and wireless driver. I don’t think it will make any different but you might want to try it. Other people are using the 2.6.30 kernel, which seems to be better all around, except wired ethernet doesn’t work — that’s why I just stuck with the default in this guide.

  14. Hey again – I’d actually started following your instructions after already having installed Eeebuntu NBR. Most of your suggestions worked perfectly; only the wireless was acting up.

    I decided to start from scratch with Ubuntu NBR, and for a while everything was working properly, including wireless. The wireless instructions you provided don’t work properly in Eeebuntu when returning from the suspend state; I think it’s something about the linux image that’s currently being used in the Eeebuntu NBR not having a suitable corresponding version of linux-backports-modules-jaunty available just yet.

    One new problem though is that touchpad disabling is no longer working. It worked fine for a while after following your instructions, but it stopped working for no apparent reason. The EeePC 1005HA Touchpad Disabled/Enabled popup notification still appears when I press the button, so something is associating the right action with that button, but the action doesn’t actually happen. Trying to figure out whether I changed a setting somewhere along the way…

  15. Hi,

    I’ve run into the problem where I need the linux-headers-2.6.28-11-generic.deb file, but I can’t find it anywhere. Obviously I can’t use apt-get, as I have no wired or wireless connection. Also, packages.ubuntu.com is not available.

    Do you know of anywhere/anyone I can get this file from?

    Thanks

    Shane

  16. admin

    Shane: I’m sure it will be back up shortly. If not, try a mirror.

    Jack: Definitely sounds like a problem with SHMCOnfig. Check that the policy file is still there and as above. There is another way to enable SHMConfig — by adding a single line to the appropriate section of your /etc/X11/xorg.conf, but it has some security implications — it means that any unprivileged program acan access your touchpad.

    If you search for “Ubuntu SHMCOnfig” you should be able to find more info.

    Fifiki: The webcam works perfectly in Skype, and any other program I’ve tried it in. I think the 6-hour battery life is par for the course — but I do tend to use it fairly heavily for PHP & Python development, with a development web server stack running in the background. With a bit of tweaking, and removing unnecessary services, you should be able to get more. As I said before though, Ubuntu tends to drain batteries slightly faster than Windows on equivalent hardware — no idea why, i guess it just uses the hardware differently.

  17. Hi,

    Thanks for the link to the mirrors. However, the mirror does not have a search facility. I’ve tried looking through the folders manually (and googled the site), but can’t find linux-headers-2.6.28-11-generic.deb anywhere.

    Do you have any idea where it should be?

    Thanks

    Shane

  18. admin

    Shane:

    For your mirror, look in /pool/main/l/linux

    If you can’t find it, I recommend you use Ubuntu Jaunty UNR, like I did in the guide.

  19. Jim

    You saved me! Thank you so much for writing this. I’m so glad to finally have the touchpad toggle button working. I use the regular Jaunty install on my 1005HA and am running the sensors-applet. I find that my system normally runs at 56C but gets into the 60′s. Have you looked at your system temps? Linux isn’t always the best at putting chipsets into their low power modes and can consume more power sometimes. I’m hoping that as this laptop becomes more popular more power optimizations will be implemented. I’m curious if other people have the same “heat” concern with their 1005HA’s.

    Thanks again,
    Jim

  20. admin

    Jim: Great! I haven’t noticed high temps. Been running rock solid.

    I agree r.e. low power — I think partially to blame is that companies can rush out products with hacked-together Windows drivers, rather than take the time to build interoperable hardware with public specs.

  21. Hi again – started over with the SHMConfig setup as you suggested and the button is working again. At some point I thought it wasn’t working and I tried the suggestions on the Eeebuntuwiki (http://eeebuntu.org/wiki/index.php/Xorg), but I think the combination of the SHMConfig solution and the xorg solution canceled each other out. Who knows why it wasn’t working in the first place after it had been working for a while; temporary glitch of some sort? Anyhow, thanks again!

  22. Did this on my new 1005HA, but ethernet just won’t work. The module compiles and loads, and running insmod a second time confirms it is loaded, but nothing further happens. eth0 continues to not exist. I’ve even tried modprobe instead of insmod and put the module in /etc/modules, but no dice. There isn’t another atl1e.ko elsewhere on the box either.

    Wireless, however, works after I downloaded the relevant deb files and transferred via thumbdrive.

    Rumour had it Karmic alpha3 does wired and wireless out of the box, so I gave that a spin, but wired continues to claim non existence.

    Have to move on to the rest of the process now… thanks for the useful guide (despite my ethernet)!

  23. Well, what do you know? The Ethernet adapter had disappeared entirely. Turning it off in the BIOS and unplugging the battery and mains for a few minutes restored it. All is well in my world now.

  24. admin

    Unfortunately not (I must say, while I like multitouch on an ipod with thumb-and-forefinger, I just don’t find it easy on a touchpad with index-and-middle finger). I’d like to gt two-finger scrolling working though — it works on my other Ubuntu laptop. That said,the right-hand scroll area on the 1005HA seems to be very sensitive.

    J

  25. SeanB

    I’m a linux noob, and when I sudo make install the wired driver it says “cannot write to /var/cache/man/cat7/atl1e.7.gz in catman mode atl1e.” I did install the linux headers .deb. I would greatly appreciate any advice.

  26. fady

    thanks for your instructions! I can’t wait to get rid of windows! one question though, is there any difference between ubuntu and eeebuntu? I’m a total newbie in linux and I’ve been a mac user before. I’d appreciate the advice. thanks again.

  27. Autumn

    Just wanted to say THANK YOU!
    I tried some other common suggestions; removing the battery, and installing Karmic alpha 3, which recognized my wireless, but crashed constantly. I was about at the end of my rope when I found your post. Great instructions, had no probs. You Rock!

  28. admin

    SeanB: I wouldn’t worry about that error — the kernel module should have already been made, try installing it with sudo modprobe atl1esudo modprobe atl1e

    fady: For newbies, I prefer to go with plain Ubuntu rather than the derivatives such as eeebuntu, even if they clai to be more newie-friendly. That’s because there is a lot more support available for Ubuntu — Google and Ubuntuforums.org are great resources, and aren’t nearly as useful if you’re running a smaller distro. Derivative distros will also be slower to update to new versions.

    J

  29. philip

    Thanks for the post. I followed your steps and my Eee PC 1005HA Premium installed well. I used eeebuntu standard.

    I have a little problem though. When I Right click the EeePCTray icon on the top panel, I get the drop down menu, and the screen resolution changes to the next setting simultaneously. This is annoying. I end up right clicking twice to get back to my original resolution. I am also curious why the ‘Screen Resolutions’ in the drop down menu of the EeePCTray has zero entries? This could be related to the problem above.

    Any ideas?

  30. PziKoz

    Hey! Thanks for the really nice and useful guide, I’m new to linux(first day actually) and it really helped me. The only problem I had was that I couldn’t CTRL-Click to open hyperlink in tab anymore in firefox(and i’m an heavy tab user). So I did a little tweaking to shmconfig.fdi, changing the parameter ‘True’ to ‘False’ in this line

    True

    So far it seem to work pretty fine, only problems is the first ctrl-Click doesn’t seem to register, doing a simple click instead, but I can live with that. Hope that can help other people who want to be able to disable their touchpad but still being able to CTRL-Click(but beware I did this with little to no knowledge of Linux so it could be unoptimized/unstable)

  31. admin

    Hi pziKoz — haha, annoying when it strips tags isn’t it?

    Yes, the auto-disable of the touchpad can be a little annoying sometimes. I also use alt+drag quite often to drag windows around.

    I think if you use the buttons rather than tapping the scrollpad, it’s OK though..?

    Philip — sounds very odd. Do make sure you also installed eeepc-laptop-dkms (it might now have changed its name to netbook-dkms).

  32. Dragos

    Hi,

    I have instaled UNR and almost everything works perfect. However I noticed(it happens in windows too now) that the webcam instead of having a crystal clear image(as it used to), now it adds some purple to the image and of course the colours are quite distorted.

    Any idea what happens and what I can do about this?

    Thanks!

  33. SeanB

    Everything works perfectly. I’m glad I took your advice and reverted the standard desktop. Thank you very much!

  34. a94060

    Id like to point out that for wifi install using eeebuntu 3.0, linux-headers generic version, and the original version are required before compiling.

  35. Evan

    I have the 1005HA-P and set up linux on it pretty much exactly as described here but the bluetooth module doesn’t seem to be recognized. Any ideas?
    Thanks

  36. Thank you very much for this fairly comprehensive guide to setting up Ubuntu on the EeePC 1005HA, I had mine up and running with a fully functional desktop and wired/wireless connection in just over an hour without any issues whatsoever.

    The only problem I have encountered is that when using Skype, sound is mono and only output to one sound channel – which means that when you use stereo headphones to make phone calls you only get sound in one ear. Apparently this is a bug with pulseaudio but there is a great workaround (http://bit.ly/dDMkV) which involves pasting a bit of code into your ~/.asoundrc file and then selecting “skype” as your Sound In, Sound Out and Ringer Device in the Skype sound settings.

    As this guide seems to be becoming a bit of a reference (or THE reference) for setting up UNR 9.04 on the 1005HA and considering the importance of an application such as Skype on small netbooks which are often used for communications, it may well be worth incorporating this setup step into your guide above.

    Hope this was of some use to somebody out there :-)

    Jono

  37. I am very new to Linux, but I have one ham radio server up using ver 9.04. I noticed there is a now a 9.10 beta version out there. I have just ordered my Asus 1005-HA-P, so should I just wait until 9.10 for a more reliable system for the Netbook?

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>