Improving wifi on the Kogan Agora netbook with an Intel 3945ABG network card

Intel® PRO/Wireless 3945ABG

Intel® PRO/Wireless 3945ABG

Update: Please note this article is only applicable to 1st generation (10″) Kogan Agora netbook. If you have a 2nd generation (12″) Kogan Agora laptop you will need to purchase a “half” sized mini PCI-E card.

After several months of fighting my Kogan Agora netbook to connect to wifi networks, which included the netbook only connecting to my access point if I saved the AP’s configuration, I have finally found a fix to better the wifi performance.

Back cover removed, showing the network card (bottom left)

My frustration reached its peak when the netbook refused to connect to my new Netcomm NB9WMAXXN wireless router, so after a quick transaction on ebay I purchased an Intel® PRO/Wireless 3945ABG Mini PCI-E card to replace the Ralink wireless card that replaced the VIA card.

It came at a cost of $7.95 including postage, so it was a small gamble to take in the hope it would rid me of my connection woes.

Close up of the original VIA network card

And after a quick change over, I was quite happy to see the latest version of Ubuntu (11.04, which had up until now refused to connect to my wireless network) connect instantly when I logged in!

Hopefully this will see some better mileage obtained from my Kogan Agora netbook – at least until I can replace it with a 10″ tablet.

Upgrading ubuntu 10.04 to grub 2

Yes – it has been a while between posts! My kogan netbook has been serving the purpose it was intended for, meaning I haven’t come across anything I have felt I need to share in this blog. Upgrading ubuntu along the way has been happy and cheery with no issues, so no need to blog…

But there have been three or four comments over the months regarding the touchpad not working with newer versions of ubuntu. Whilst ubuntu 9.10 came with grub 2 by default, upgrading from 9.04 (grub 1.5) to 9.10 and then up to 10.04 meant grub stayed at 1.5, so even though I am running 10.04, I am still on grub 1.5, and the “i8042_nomux” fix seems to still work.

When 9.10 was released, Tom provided this blog with a solution for making the kogan netbook’s touchpad work in 9.10. I had figured this would work for 10.04 too, so to be sure, I think its time to upgrade my kogan netbook to 10.04, just to make sure the touchpad still works.

Upgrading to grub 2 is straight forward using apt-get:

sudo apt-get install grub2

During the upgrade I was asked if i wanted to chainload grub 2 from my existing grub legacy setup. It was highly recommended, so I went with it. It also asked me if I wanted to keep the “i8042_nomux” parameter, which I also agreed to do – I want my touchpad!

Grub 2 was installed, and after a reboot all was still well with the touchpad. However, because I agreed to chainload grub 2, grub 1.5 is still installed on my Master Boot Record (MBR) – not grub 2. This can be easily rectified with the following command:

sudo upgrade-from-grub-legacy

During this grub upgrade, I was asked if I wanted to keep my locally modified version of /etc/default/grub, and figuring this was modified for the “i8042_nomux” parameter, I agreed. I then had to choose where to install grub too, and I chose /dev/sda.

After a quick reboot, using grub 2 to boot, my touchpad still worked. success!! I now know that under ubuntu 10.04 with grub2, the touchpad on the kogan netbook works.

Now to help the people who can’t get the touchpad working. Short of doing a fresh install with 10.04 on my machine to try and replicate the issue (I don’t have the time, sorry), I thought I would try and work out what makes the touchpad work under grub 2.

Based on Tom’s info, i checked out my grub config:

sudo gedit /etc/default/grub

And it looks like:

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.

GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=3
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX="i8042.nomux"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_LINUX_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

I believe the important part is this line:

GRUB_CMDLINE_LINUX="i8042.nomux"

So I decided to comment the line out by adding a “#” to the front, run “sudo update-grub” to update my grub config and rebooted. When ubuntu came back, my touchpad was fixed in the center of the screen – stuck and broken. Reversing what I had just done (remove the “#”, run “sudo update-grub”, reboot) and the touchpad was back in motion.

If your kogan agora’s touchpad is not working, I have the following advice to offer. Edit your grub config:

sudo gedit /etc/default/grub

and type the following line – I say type because if you copy and paste, the wrong quotes may be used:

GRUB_CMDLINE_LINUX="i8042.nomux"

If there any other occurences of i8042.nomux remove them (just i8042.nomux) and then update your grub config:

sudo update-grub

Now reboot, and fingers crossed your touchpad will dance with your finger. If this fails, please comment below with your specifics (i.e fresh ubuntu 10.04 install, upgraded from grub 1.5, upgraded from 9.10, etc) and I will try and help.

 

Touchpad configuration for Ubuntu and grub 2

Note: this post has been edited to match my ubuntu 10.04 config.

Ubuntu now uses grub 2 as the default boot loader, and this means a change in the instructions for making the kogan agora touchpad function under ubuntu.

After putting out a call for assistance on this, Tom has come through with the goods! In order to get the agora’s touchpad working with grub 2, follow these instructions

In a terminal:

sudo gedit /etc/default/grub

Find the line GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash” and just after it add a new line and type in (make sure you type to avoid the wrong quote symbol copying and pasting) the following line:

GRUB_CMDLINE_LINUX=”i8042.nomux”

and then update grub and reboot:

sudo update-grub

I have tested this myself and it works a treat. Thanks Tom!

References: http://agoranetbook.kayno.net/2009/08/02/touchpad-update-ensuring-i8042-nomux-is-not-removed-when-your-kernel-is-updated/comment-page-1/#comment-13165