Home Pauline's Pages Howto Articles Uniquely NZ Small Firms Search
Height Padding
MSI Wind U100 Netbook
Legacy Page - use under Ubuntu 8.04 Hardy Heron

This page covers the MSI Wind U100 Netbook running under a dual booted system with Windows XP and Ubuntu Hardy Heron 8.04. Hardy Heron was the Long Term Support (LTS) version with support until April 2011. We then switched to Ubuntu Jaunty Jacalope 9.04 when we bought a second identical Wind.

This is now a 'legacy' page as Jaunty is no longer supported and we have moved to the new version 10.04 Lucid Lynx which is the latest Long Term Support (LTS) version with three years support ahead. Lucid Lynx works out of the box and features full support for most Mobile Broadband USB sticks and Open Office 3.2, Firefox 3.6 and Thunderbird 3.

You should go to the latest page on the MSI Wind U100 under Ubuntu 10.04 Lucid Lynx unless you specifically want support for Hardy Heron.


The MSI Wind U100 and Ubuntu Linux - the story starts
Waiting for the Wind - preparation and searching out information.
The First Breath of Wind - testing and basic installation of Ubuntu 8.04.1
With the Wind behind - rapid progress in adding programs
Light Wind - tips and Tricks for a small screen under Ubuntu
Strong Winds - building Wifi Drivers the hard way
Wind in the rigging - disk management - stopping the drive clicking and wear
Hove Too - fixing Suspend anomalies
Looking for the Wind - adding up to date drivers for the Bison Web Cam
Hard On The Wind - Taming the Sentelic Trackpad
Taking the Wind away - Internet Access via Bluetooth Connections to Mobile Phones and Windows Mobile devices and use of a Vodafone Mobile Broadband USB Modem
Secret Winds - Keeping data safe on the move using Truecrypt for disk encryption.
Second Wind - We add a second Wind U100 and preview Ubuntu 9.04
Short of Wind under Lucid - a fix for the Critical Power anomaly when you unplug power from a machine which is turned on. (Applies to Lucid only)
No Wind
- Outstanding activities and snag list - now very short!
Before You Leave - we welcome comments and suggestions

The MSI Wind U100 and Ubuntu Linux - the story starts

We have spent many months agonising over whether we should get a Netbook and which one. We wanted one which was light for traveling but powerful and versatile enough to replace the laptop and was largely self contained. We expect to largely run Linux but would prefer to also have a dual boot to Windows XP because of Pauline's teaching where we are not sure that everything will work under Ubuntu. The first Netbooks we saw were the original Asus eeePC 700, three were brought to Pete's First talk on the Transition to Linux given on the QE2 Linux and Open Source, A Real alternative to Windows ? Or, why settle for Windows when you can have the whole house for free .

The eeePC was an eye opener but was never going to be adequate for OU teaching these days although we had a Libretto 50CT with a similar size and lower resolution screen in use for many years - it still works fine with Windows 95. The Netbook is really intended to replace our Toshiba Portege 3440 which is already dual booted with XP and Ubuntu Dapper Drake but will not take any more upgrades and needs wifi cards, USB2 cards with power supplies, an external USB disk and Bluetooth dongles to work.

The choices came down to the Asus eee901 and the MSI Wind U100 with the Wind winning with a 80 Gbyte hard drive versus a smaller solid state drive overcoming the poor relative battery life and questions over the Wifi. We nearly bought a Wind clone, the Advent 4211 from PC World a couple of months back and have finally ordered a MSI Wind U100-222UK-WT120A from Ebuyer.com which is White and has a 120 Gbyte drive, 1 gbyte memory, Windows XP, Wifi (which card of the three is not known), webcam and Bluetooth for £299 plus £5.95 shipping. To make it a going concern it will also need a 12v power supply (£15) and possibly a larger battery. (we estimate 4 hours £50 and 6 hours £70). This will be continued when it arrives and postings will cover the installation of Ubuntu based on our Road to Freedom - A progressive migration from Windows to Ubuntu for Safety, Security and Savings in Home Computing

Waiting for the Wind - preparation and searching out information.

Whilst we were waiting for the MSI Wind U100 to come I did some homework and planning by doing some searches of the MsiWind.net wiki and Ubuntu forums and found several items which were of interest.

The MsiWind.net wiki on Ubuntu Hardy Heron 8.04 Installation and Post Installation Guide and Tweak were probably the most useful overall.

I found that the drive was likely to already be partitioned into three primary partitions with a 4 Gbyte FAT32 partition for system restore information, a 40 Gbyte partition for Windows and the remainder of 75 Gbytes being a NTFS partition which was not used. I planned to delete the big NTFS partition and make an extended partition to hold a FAT32 data partition, a Swap partition and two EXT3 partitions for the root file system and a separate /home partition.

There were several forum articles covering Wifi and it became clear that there are now several possible Wifi cards but the most likely one was one I used for drivers was a RTL8187SE WLAN card and I found precompiled drivers at http://boskastrona.ovh.org/index_en.html - I found that it was however better to set up the Wifi drivers from scratch and that is what I did on the second Wind.

The next step was to make a bootable USB stick to install Ubuntu Hardy Heron 8.04.1 and I used Unetbootin which seems to be the perfect way to install Ubuntu on a machine without a CD. You can either download to the machine and install or you can create a LiveUSB. I created a LiveUSB of Hardy heron and tried it on the only machine which I have capable of booting from a USB stick and it behaved just the same. It looks as if it should be able to create a LiveUSB from an ISO of a LiveCD of other programs such as disk partitioners but I have not tried it yet. In fact I created two LiveUSBs because I made on for the partition editor Gparted as well.

The First Breath of Wind - testing and basic installation of Ubuntu 8.04.1

Setting up Windows: The Wind U100 arrived two days earlier than we had expected from Ebuyer.com and we eagerly unpacked it and found from the label that it had the expected Realtech RTL8187SE wireless card installed. We turned it on and connected up via Wifi which needed our WEP key entered 26 characters twice! It had two DVDs so we did not need to make backup .iso images although the facilities are built in and we will probably do so at some point. I tried to work through as much as possible using what I have written in The Road to Freedom but much was not required as it was a brand new machine with nothing to back-up and I had already made the .iso using Unetbootin

I loaded the Avast! 4.8 free virus checker and a ZoneAlarm free firewall to give reasonable security. This took about 90 minutes by the time I had done all the reboots etc. I also loaded Firefox at this point so I had a realbrowser available rather than Internet Explorer.

And on to Ubuntu Hardy heron 8.04.1: I then got a little ahead of myself and put in the Ubuntu LiveUSB and rebooted - you tap the F11 key whilst booting to access the boot menu and select the USB Stick then wait a few seconds for it to all stabilise before the return - in a few minutes Hardy Heron was up and running. The Wifi did not work and I had only prepared the driver for the latest version of the kernel so I could not check that but almost everything else seemed to work.

I needed to know about the partitioning so I used Gparted on the LiveUSB and got carried away again and deleted the larger NTFS partition and created an extended partition and a 30 Gbyte FAT32 partition within it for shared DATA. I did check everything still worked in Windows and gave the new partition the name DATA and changed the operating system partition name to WINDOWS.

I was now go to go back to the LiveUSB and start the install. I used manual disk partitioning to create a 3 Gbyte swap (3x the memory size) and two EXT3 partitions with mount points of / and /home. Everything went according to plan and at minute 175 from opening the box I had a full Ubuntu system up and running and just managed to double click the .deb file for the Wifi driver downloaded from http://boskastrona.ovh.org/index_en.html and give it the WEP password by minute 180 ( I may have taken 181 but I did not check the start to the second!)

The partitioning looks like this when seen latter in Gparted within the Ubuntu system:

With the Wind behind - rapid progress in adding programs

We had made good progress so far so it was time to work through the configuration in The Road to Freedom . I set up the repositories. The Ubuntu software repository is organized into four "components", on the basis of the level of support Ubuntu can offer them, and whether or not they comply with Ubuntu's Free Software Philosophy. The components are called:

There are other sets of software which are held in repositories which can be used by Ubuntu but not supported by the Ubuntu team which can be added - we will add one called Medibuntu in due course. But first we need to enable some more of the 'official repositories' in readiness for some of the software I suggest you install.

We do this by System -> Administration -> Software Sources - You will be presented with 5 tabs

When you close you will be asked to download the updates and extra repository information. After you have done this you will probably find there are some updates to download showing in the top right panel. Click the icon and let them install. After a year of updates there were 281 updates totalling 320 Mbytes to install and a reboot was required as there was a kernel update included.

I then added the Medibuntu Repository which is a third-party repository containing many useful programs which are not true open source, which allow one to enable DVD playback and to add the codecs for MP3 playing and ripping etc. It can be included by way of a few quick commands in a terminal.

It is often much easier and quicker to use text input rather than a Graphical User Interface and even in Windows one has to resort to it for complex system work. A terminal is opened by Applications -> Accessories -> Terminal. The terminal is very basic, for example Ctrl C and Ctrl V do not work for cut and paste but unusually clicking the centre button of a three button mouse will paste. Up and down arrows scroll through the last commands used. Do not try to type any of the commands just cut and paste in turn from this web page and then hit enter. If they start with Sudo you will be asked to enter your password. Try it on the following.

sudo wget http://www.medibuntu.org/sources.list.d/hardy.list -O /etc/apt/sources.list.d/medibuntu.list

sudo apt-get update && sudo apt-get install medibuntu-keyring && sudo apt-get update

This will add the Medibuntu repository, import the Medibuntu GPG key and make the new packages available for installing using the Synaptic Package Manager access by System -> Administration -> Synaptic Package Manager.

If you are using a different version of Ubuntu such as Jaunty or Lucid replace hardy.list by jaunty.list

Using the Synaptic Package Manager to add programs including those from the Medibuntu Repository:

The Synaptic package manager is similar to Add/Remove but at a lower level and used more for adding services than main stream programs although it will do so just as well - we could have used it for Thunderbird we are going to be adding a number of library routines to for playing and ripping media files. The package manager is clever and every program in Ubuntu carries the information on its dependence on any other services and automatically downloads them, if required.

Open the Synaptic Package Manager by System -> Administration -> Synaptic Package Manage.

When the Synaptic Package Manager has opened use Search to find the package/program you want, click the box and click Mark for Installation each one. When they are all marked, click Apply. The following is the list I use when setting up a machine.

This is my initial list of packages installed using the Synaptic Package Manager

Proprietory Programs from the Medibuntu Repository

Medibuntu can not only be used to add music and video codecs but also to load commercial/proprietary programs which can not be made available directly in Ubuntu due to legal restrictions in some countries. Use the Synaptic Package Manager and Search for the program you want. I have skype and the Adobe reader on both of the Winds but the list of programs possible includes:

In most cases they will be added to your “Applications” menu.

Light Wind - tips and Tricks for a small screen under Ubuntu

Many programs and web sites these days are written on the assumption that you will have at least a 1024 x 800 screen whilst the Wind U100 has one 1024 x 600.

Removing Flicker on Full Screen Windows.

This screen mode can flicker if compiz is enabled. To fix that problem, install compizconfig-settings-manager by using the Synaptic Package Manager or opening up the Terminal application and typing:

sudo apt-get install compizconfig-settings-manager

Then, go to to System > Preferences > CompizConfig Settings manager (Advanced Desktop Effects Settings), click the "General Options" button and untick "Unredirect Full screen Windows".

Strong Winds - building Wifi Drivers the hard way

This is not needed with Jaunty or Lucid as the version has good working Wifi Drivers built in - skip this entire section.

I initially got Wifi set up using a .deb file but in my messing around I broke it. I set it up on the earlier kernel the hard way by making a driver as per the Wind User Wiki but nothing I could do made it start automatically on the latest kernel and a dmesg showed dozens of errors. So back to building drivers the hard way again.

The reason we have to build the drivers is that they need information on the exact version of linux you are running and they need to be rebuilt for every version so when you get a new version in your updates which is significant enough to have a new Grub loader entry you will need to rebuild the drivers which is a pain - that is why most of the common drivers are already included in the kernel update. The drivers are written either by the device manufacturer or by enthusiasts if no linux version is available and are in a uniform format to make use easy. In some cases they may need some fine tuning for a particular machine and they are then refereed to as a fork as the basic updates are lost until a new 'fork' is created. That is the case for the Wind Wifi driver which needed a couple of minor changes to compile and run on the Wind hardware, for example, machines differ in how the Wifi is turned on and off (Fn Key versus switch etc) . The fork has been created in the last few weeks by Coffelius and is also the basis of the .deb file I first used initially.

The following is what I did on the older kernel version where there was no .deb available - it worked perfectly and started every time the machine booted up. It assumes the driver download is called rtl8187se_coffee and was inside the archive rtl8187se_linux-04.tar.bz2 - this is a derived from the standard rtl8187 driver ('fork' version 4) by coffelius downloadable from http://code.google.com/p/msi-wind-linux/ - there is a lot of extra information on that page and has the links to debian installer and install scripts which are further discussed in the Wind Forums . Note - the names of the files may be different so adjust the following as required.

sudo apt-get install build-essential
sudo apt-get install linux-headers-`uname -r`
tar jxf rtl8187se_linux-04.tar.bz2
cd rtl8187se_coffee
sudo cp -r ieee80211/*.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless/
sudo cp rtl8185/r8180.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless/

sudo rm -rv /lib/modules/`uname -r`/kernel/drivers/net/wireless/rtl8187.ko
sudo rm -rv /lib/modules/`uname -r`/kernel/net/ieee80211
sudo rm -rv /lib/modules/`uname -r`/ubuntu/wireless/rtl8187-usb

sudo modprobe -r r8180
sudo depmod -a
sudo modprobe r8180

Now a brief explanation of what is being done.

The first line install two utilities into your system which are used in the building of the utilities. This is a once off activity but it will tell you if they already exist.

The second line fetches the information about your kernel so exactly matching drivers can be built. This is needed for each new kernel version but again it will not cause problems if you do it an extra time.

The driver comes as a compressed archive which is in a standard format and when extracted creates a subdirectory of where it is run with the same name which contains all the files needed to create the drivers and some scripts to help create and 'install' the drivers which assume they are run from within the same folder. That is why we needed to get the latest 'headers which contain the information needed to build a driver specific to your version.

We now change to the directory containing the extracted files so we can run the script.

The script makedrv now compiles the actual drivers we need based on its own data and that in the linux kernel header file. What we end up with are local copies.

The next two lines copy them to the standard places on the machine. The `uname -r` is replaced by the current header when the line is used in a terminal. Note they are back quotes which are at the top left of the keyboard. You can find out the header by typing just uname -r in a terminal. [There is also a script which could be called by ./install with many drivers to do this but it assumes standard places and the original forum postings did not use it, perhaps because the positions are non standard. ]

The next block of lines of three lines should be used with caution - they remove all the other versions of similar drivers on the machine - see the footnote as to why this is required. I have included them in case I ever turn this into a script. An alternative way is to rename all the files ending in .ko in the folders above to .kop so that they can not be found by depmod -a when it is called below. You can use gksudo nautilus to run a GUI filehandler as root to make the destruction easy.

The next line makes sure that any existing versions are removed which prevent the new driver being installed.

The next line sets up the dependences for the automatic install every time the machine starts.

And the final line both loads the drive and makes the driver available for when the machine starts up.

As stated before this procedure should be adequate for a one off install on a fresh kernel version and worked perfectly on kernel version 2.6.24-21-generic for me without the file deletions. The equivalent via a .deb worked until I messed something up trying to sort out other drivers for the Webcam which must have changed the order that depmod picked up the files. I spent a long time experimenting and investigating and now know a lot more about the relevant terminal commands modprobe, lsmod, dmesg, modprobe -l and finally the one that gave the game away modinfo. Many produce a lot of output and piping to grep to filter it is useful to try dmesg | grep 81 which will find all lines in the main log with an 81 in them.

A cautionary footnote on Wifi and other drivers.

I am begriming to understand how the driver installation has been going pear shaped. First one needs to know that all the modules which are available are .ko files and depmod -a is run every time the machine boots up. This recreates the dependency tree and satisfies it by searching all the standard areas for .ko files. So we have great scope for problems if the system has a driver in place as well as the driver we are loading and they use the same file names because they come from the same original source - this means that we can have our new driver having its dependencies satisfied by an old file if depmod finds it first. I have been trying out modinfo which I had read about and found that at least on of the new drivers dependencies is being satisfied by a similar file in an ubuntu folder - this crossing of files must have been leading to all the error messages and I can now see why some of the scripts I have seen delete other folders, I had renamed some as a precaution but that did not stop the automated search. You will see the problem if you do a Find Files using the panel tool for ieee80211*.ko and you will find that versions exist in several places, there should be versions in each kernel but not two in any kernel.

In the longer term I wonder if one should install into the standard ubuntu locations. Either way I wonder what other devices depend on these files, I use a USB Wifi dongle at times which is more sensitive than the little built in ones and I do not want that to lose its drivers.


Wind in the rigging - disk management - stopping the drive clicking and wear

The latest version of Ubuntu, Hardy Heron seems to do a lot of disk access resulting in a clicking noise on the Wind. This seems to be partly to do with the energy saving available from the drive and continual parking of the heads and partly that the swapping in and out is set too aggressively.

I have played with both under Ubunty Hardy Heron and it has given some improvement possible at the cost of power consumption.

This seems to be less of a problem with Jaunty and Lucid - I have not changd the Power Management settings other than Swappiness. There does not seem to be any correlation now with Suspend settings so if you are using Jauntu I recommend you skip these changes.

Power Management: The first step is to make power management less aggressive. This one hopes has the following results:

To try the setting without rebooting run:

sudo hdparm -B 192 /dev/sda

To make a permanent change one needs to modify a setup file so open a terminal and type:

sudo gedit /etc/hdparm.conf

At the end of the file, paste the following:

command_line {
hdparm -B 192 /dev/sda

The value in the above line can be any where from 1 - 254 unless you want to switch power management off completely when you should use 255 instead of 192. It will make the drive run slightly warmer and use slightly more power but probably better than mad head parking. I currently have 255 to switch power management off completely.

The changes to power management seem to be an important part of getting suspend to work.

Swap file management:

The second way to reduce disk usage is to reduce the use of the swap file. There is a parameter called swapiness which is normally reduced on netbooks using solid state memory which wears out faster than a hard drive! See Performance tuning with ''swappiness'' Swappiness controls the tendency of the kernel to move processes out of physical memory and on to the swap disk. As disks are much slower than RAM, this can lead to slower response times for system and applications if processes are too aggressively moved out of memory and wear on solid state disks.

Reducing the default value of swappiness will actually improve overall performance for a typical Ubuntu desktop installation. There is a consensus that a value of swappiness=10 is recommended for a desktop and 60 for a server.

To check the swappiness value

cat /proc/sys/vm/swappiness
For a temporary change (lost on reboot) with a swappiness value of 10:

sudo sysctl vm.swappiness=10

To make a change permanent you must edit a configuration file:

sudo gedit /etc/sysctl.conf

Search for vm.swappiness and change its value as desired. If vm.swappiness does not exist, add it to the end of the file like so:


Save the file and reboot.

Hove Too - Fixing Suspend anomalies on the Wind

The following is only applicable to Ubuntu Hardy Heron and must not be applied to Jaunty or Lucid where Suspend already works 'out of the box'

I tried the various suggestions in Ubuntu Hardy Heron 8.04 Installation and Post Installation Guide and Tweak which are otherwise very useful documents but I initially ended up with an almost unusable system which had no sound, froze on videos and would not mount USB drives at startup. I had to reloaded from scratch, 3 hours lost as it was an almost complete configuration. At the time I blamed this on the changes I had made to get sound back after a suspend but have since found it was probably a different cause related to pulse audio as I was using the example files for tests which also used video. This must be sorted out before proceeding to do a lot of audio and video tests.

Fixing freezes due to Pulse Audio (Not under Lucid)

Disable pulse audio by Preferences -> Sessions and untick Pulse Audio Session Management

Fixing Suspend problems caused by power saving modes.

Next one should carry out the modifications to reduce the aggression of the hard drive power management as are required to reduce drive clicking. That has already been covered and you may have done it. If you have not done so go back and do it - it seems to be essential to carry it out before any experimenting with Suspend. After the power management has been done suspend will probably work reliably but there will be no sound and possibly USB will be unreliable. Note I have turned off the advanced drive level power management completely (setting 255 rather than the recommended setting of 192 - I do not know if that is significant to Suspend)

Fixing Sound after a Suspend. (Not under Lucid)

This is because the sound driver is set up to a default automatic mode which should pick up settings from the BIOS which does not work after a suspend. One therefore needs to add a parameter to the sound configuration file /etc/modprobe.d/alsa-base for snd-hda-intel to tell it what to use. The choice is not simple as there is no setting for the Wind and there are about 20 choices - two are given as Targa/MSI however and I tried both - the setting which worked was targa-2ch-dig

sudo gedit /etc/modprobe.d/alsa-base

At the end of the file, paste the following:

options snd-hda-intel model=targa-2ch-dig

This fixed sound but all the settings have to be set up again by double clicking the volume control. You may need to play to get all the levels right.

Fixing USB problems after a suspend (Not under Lucid)

This change makes sure that all USB devices come up properly after a suspend. It is documented in the thread USB devices dead after sleep/hibernate and other places. This change makes sure that the ehci-hcd USB driver is handled correctly by adding to the list of modules covered during a suspend. The procedure is to do the following in a terminal for Hardy Heron is:

echo SUSPEND_MODULES="ehci-hcd" > /tmp/unload_modules
chmod +x /tmp/unload_modules
sudo mv /tmp/unload_modules /etc/pm/config.d/unload_modules

This only works if there is no /etc/pm/config.d/unload_modules file already - if it exists then it should be edited and

added to the file. Check using the file browser

End result

I now suspend all the time and have had no problems with sound or connected USB devices coming back up.

Looking for the Wind - adding up to date drivers for the Bison Web Cam

The following is not needed in Jaunty or Lucid where the Web Cam works 'out of the box' so this section should be skipped if you are using Jaunty or Lucid.

Warning: Do not use the latest distribution of Ubuntu 9.10 called Karmic Koala yet. There are at least two serious problems with brightness flickering and with total loss of USB with the internal webcam enabled on most (all?) models the MSI Wind with the Bison Webcam as of 3 November 2009 . Try to get a copy of Jaunty or do not upgrade until these are reported to be fixed properly. Read the Release Notes for Karmic and the associated Bug reports before you upgrade. The following proceedure may work on Karmic but I have not tested it.

This does not work at present on the Wind U100 as the driver in the Linux kernel is an early version and nobody has provided a replacement in an easy to use form and that I understand what it is doing - I was not happy with the procedures in the Wind Wiki. I eventually found a write up on UVC Support in Ubuntu which made some sense and I used it to set up the Web Cam in the following way. It is not detected by Skype until I discovered that it has to be on when Skype is fired up rather than turned on latter. It also displays perfectly in a picture and photo grab program called 'cheese' I found was recommended for tests.

UVC Stands for 'USB Video Class'. It defines video streaming functionality on USB. UVC compliant peripherals should only need a generic driver. The GNU/Linux UVC Generic Driver Page is at http://linux-uvc.berlios.de/ and includes a list of supported devices including the Bison camera in my Wind U100 (but MSI change peripherals on occasion so check). There is a UVC module in Hardy Heron so some webcams 'just work' but most, like the Bison in Wind, need the latest version. This currently requires one to download a driver from the site above and build it. The procedure in detail is:

Install two utilities which are needed to build drivers if you do not have them - trying a second time does not cause a problem

sudo apt-get install build-essential

Install subversion if you do not already have it by:

sudo apt-get install subversion

Then get that latest source from the Berlios UVC subversion repository with:

svn checkout svn://svn.berlios.de/linux-uvc/linux-uvc/trunk

This will create a folder called 'trunk' containing the source in your current directory (/home/username)

You now need the kernel header files package specific to your CPU architecture, for example, linux-headers-2.6.24-43-generic . You can use uname -r to get the current version like this (Note they are back quotes, it is easiest to cut and paste otherwise they are at top left of keyboard):

sudo apt-get install linux-headers-`uname -r`

Navigate to the 'trunk' directory containing the source and run make:

cd trunk
make uvcvideo

Ubuntu is non standard and keeps the kernel module for UVC in /lib/modules/your kernel/ubuntu/media/usbvideo and the makefile which has been created has to be edited slightly to install to the correct directory. Open the the makefile in a text editor:

sudo gedit Makefile

and search for and change

INSTALL_MOD_DIR := usb/media


INSTALL_MOD_DIR := ubuntu/media/usbvideo

then run

sudo make install

Update dependencies using depmod

sudo depmod -a

Unload the original modules by

sudo modprobe -r uvcvideo

Plug in your camera and enter the following command to insert the new modules:

sudo modprobe uvcvideo

and it should all be working. I used the above by cut and paste into a terminal for the second Wind and no corrections were needed. You can test it with Cheese and then Skype. Remember to turn on the Webcam before running skype otherwise it will not detect it. The red light only comes on when the camera is in use, not when it is turned on. You can use lsusb in a terminal to find out if it is on. If it is on you will see Bison in the list of devices - if not do Fn F6 and try again.

Skype is in the Medibuntu repository so can be installed by System -> Administration -> Synaptic Package Manager and search for Skype.

Hard On The Wind - Taming the Sentelic Trackpad

The Trackpad fitted to most of the MSI Wind U100s is from Sentelic and there are no dedicated drivers available within the kernel - it is in theory possible to take a driver avilable from Sentelic, recompile the kernel with a patch to include it and compile a control panel to give control over the pad but this is beyond most users and would have to be done every time a kernel update was available which would be a nightmare.

The Sentelic trackpad however offers most of the facilities normally expected and needed such as:

The main problems are:

The simplest way round random movements when entering text is to use an external mouse and toggling the touchpad off by Fn F3.

I have however tamed the touch pad by use of a simple utility called mouseemu which was initially written for use of single button mice on the Apple. Mouseemu enables one to:

Mouseemu can be installed by Sytem - Applications -> Synaptic Package Manager and Searching for Mouseemu

You will need to reboot before it becomes active.

It needs a file to be configured to enable the two features by

sudo gedit /etc/default/mouseemu

Remove the # in front of the SCROLL and TYPING_BLOCK entries

Set the delay before the tap becomes active in TYPING_BLOCK - I use 1500 for a 1.5 second block

Change the SCROLL value to 100 instead of 56 if you want to use the AltGr key instead of Alt.

I prefer Alt as it can be held by a left finger whilst scrolling with a right finger but some programs such as Firefox use it and you will need to change to the Super Key for dragging windows off the edge of the active screen area which is very useful on a small screen. I have not yet found the key code for the Super key to use with mousemu

I have now quite got to like the Sentelic touch pad when using the Wind on my lap but I always prefer to also have a mouse available when I have the space to use one.

Taking the Wind away - Internet Access via Bluetooth Connections to Mobile Phones and Windows Mobile devices

Bluetooth - basics and pairing

Bluetooth is an excellent way to send contacts and files between machines and also allows the modem in one device to be used by another. Before you can do this the various devices must be 'paired' - this means that you set up a 'PIN' on both to give a secure communication without anybody else being able to hijack your mobile. The other security feature is that once paired you stop your devices being 'discovered' by other peoples machines which are searching for devices with Bluetooth (BT) turned on. This all sounds a bit complex and it does take a little while the first time.

When a Bluetooth dongle is inserted or a built in Bluetooth device such as that on the MSI Wind is turned on a Bluetooth icon appears in the system area . The first activity is to pair the Phone or Mobile Device to the computer.

The way Bluetooth is paired varies a little between machines so here I will use one of our Windows Mobile 5 devices, an O2 XDA Executive as an example for pairing etc. On the XDA do Start -> Settings -> Connections tab -> Bluetooth -> Mode tab and tick both Turn On and Make Discoverable. Then go to the Devices tab and tap New Partnership to pair the first time. The XDA will scan for other devices which are 'Discoverable' and find the Wind and come back with its name (wind-ubuntu) and also any other devices in range. Tap the wind-ubuntu and you will be asked to enter a code ('PIN') and you then have to rush to the Wind where a message asking if you want to continue and enter a matching 'PIN' pops up. At any future time you can work down the same menus to the devices which are paired and click on one to set which functions on your machine you will allow the other machine to use from a list - on Windows Mobile machines this may only be Dial-up-Networking as file and contact transfers are covered under the Beam settings.

Bluetooth Phone Dial-Up Network connection under Hardy Heron

Not checked yet under Jaunty or Lucid but no changes expected

Once you have Paired the phone and the computer you need to find out several pieces of information to enable you to set up the connection to the modem in the phone so you can set up a configuration file - the ends result is you have what looks like a local device. You can scan the Bluetooth connections looking for Dial Up Network (DUN) connections (modems) in the phones by typing the following strings in a terminal, in this example both my T610 phone and the XDA have been paired and are with range.

hcitool scan
sdptool search DUN

which gives an output like this for with both my T610 Phone and O2 XDA Exec on::

pcurtis@satellite:~$ hcitool scan
Scanning ...
00:12:37:C6:81:31 wind-ubuntu
00:0E:07:2C:E8:82 T610
pcurtis@satellite:~$ sdptool search DUN
Inquiring ...
Searching for DUN on 00:12:37:C6:81:31 ...
Service Name: Dial-up Networking
Service RecHandle: 0x10003
Service Class ID List:
"Dialup Networking" (0x1103)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 4
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"Dialup Networking" (0x1103)
Version: 0x0100
Searching for DUN on 00:0E:07:2C:E8:82 ...
Service Name: Dial-up Networking
Service RecHandle: 0x10000
Service Class ID List:
"Dialup Networking" (0x1103)
"Generic Networking" (0x1201)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 1
Profile Descriptor List:
"Dialup Networking" (0x1103)
Version: 0x0100


I will include both set up the phone and the XDA in the configuration file as rfcomm0 and rfcomm1 - one can add extra devices to the configuration file as shown below:

The following is the contents of the file which contains the configuration information for both the T610 and the XDA and it lives in /etc/bluetooth/rfcomm.conf
. It is safest to make a copy then edit the existing 'default' rfcomm.conf file. The two important pieces of information are the addresses of the bluetooth devices and the channel numbers for the DUN connections

# RFCOMM configuration file /etc/bluetooth/rfcomm.conf
rfcomm0 {
bind yes;
# Bluetooth address of T610
device 00:0E:07:2C:E8:82;
# RFCOMM channel for the T610
channel 1;
# Description of the connection
comment "T610 Dial-up Networking via Bluetooth";
rfcomm1 {
bind yes;
# Bluetooth address of XDA
device 00:12:37:C6:81:31;
# RFCOMM channel for the XDA
channel 4;
# Description of the connection
comment "XDA Dial-up Networking via Bluetooth";

Remember when testing that whenever you change a configuration file such as the above which you are going to use you must reboot the machine or restart the relevant sub-system, in this case by:

sudo /etc/init.d/bluetooth restart

The extra device appears in /dev so it can be accessed via the Network Manager, a terminal program such as wvdial but my preference is for the GNOME-PPP Dialler.


Gnome-PPP is a program to enable one to make Dial Up Network connections using any modems which are connected to the machine. GNOME PPP is installed via Add/Remove and seems to be an excellent way to get a simple dial up connection which also puts a icon in the bar which can be used to monitor and stop the connection - first class for a normal simple modem set up which detected my serial modem automatically and connected me up. I do not see a way built in to handle multiple connection but it is so simple to change that may be not worth worrying so having done my initial trials with wvdial with the Vodafone Connect Card I have now switched to GNOME PPP.

The modems appear as devices in /dev and the exact name depends on the sort of modem. In the case of bluetooth link to phone they look like /dev/rfcommx where x is 0, 1, 2 etc and the configuration is in the /etc/rfcomm.conf file we made above.

Installing Gnome-PPP: Gnome-PPP is not installed automatically so install it with Add/Remove programs and searching for gnome-ppp.

User privileges: On some versions of Ubuntu you do not automatically have all the permissions to run Gnome-PPP as a user even with all the normal administration privileges - you need to be in the dip group to run it. If this is the case the log file which is available from the Log button will have a line complaining about permissions for the executable file /usr/sbin/pppd. The easiest way is to do System -> Administration -> Users and Groups then unlock with your password and highlight your user name and click Properties and on the User Privileges Tab tick Connect to Internet using a Modem.

The main configuration in Gnome-PPP is done by a GUI interface and is all fairly obvious if you are making a simple land-line Dial-Up connection. The default modem initialisation strings and other settings will almost certainly work, so only the initial screen needs the username, password and telephone number entered for a land-line modem. The only thing missing with GNOME-PPP is help. It uses its own configuration file $HOME/.wvdial.conf which it is reported can have additions despite the warnings not to modify by hand.

If, however, you want to make a GPRS connection via most mobile phones you need to set up the APN via an initialisation string option on the second tab of the Setup Screen, and then use a special code in place of the phone number. Using Vodafone UK PrePay on the T610 as an example the Initialisation string 3 is set to:

Init 3 AT+CGDCONT=1,"IP","pp.vodafone.co.uk"

and the phone code used is


For other providers replace the pp.vodafone.co.uk with their APN (eg Vodafone UK Contract is internet, Guernsey Wave is pepper and Vodafone NZ is www.vodafone.net.nz)

In general the username and passwords are not checked but for most phones something needs to be present - check with your provider. I use web and web with vodafone. There are more details on my Global Communications and Computing page

My typical settings on the Setup screens for Gnome-PPP are:

Changes required in /etc/ppp/options

Some other options need to be set for most mobile network connections to prevent them timing out. These are not possible via the GUI interface and are taken from the the 'master' pppd set up file which is /etc/ppp/options. We can look at the current options which are set by:

sudo egrep -v '#|^ *$' /etc/ppp/options

It is desirable to make a backup before editing the /etc/ppp/options file so to make a copy and open a terminal:

sudo cp /etc/ppp/options /etc/ppp/options_bak
sudo gedit /etc/ppp/options

I have made three changes to the file. The first two are essential for most GPRS connections and disable the sending and checking of the echo response sent to check the connection is alive - the echo is not implemented by most mobile service providers and the default result is that 4 echo response requests are sent at 30 second intervals and after the 4th failure to receive a response the connection is broken. If you are disconnected after 2 minutes that is the cause. The new values of 0 inhibit the sending and checking:

lcp-echo-failure 0
lcp-echo-interval 0

The third change is essential for the Vodafone Connect Card but does not impact other connections significantly so I do it routinely so I do not forget. It involves disabling negotiation of Van Jacobson style IP header compression by un-commenting


I have also tried modifying the /ect/ppp/options file to add an extra delay before connection as I was sometimes not getting a correct DNS delivered using Gnome-PP with the Vodafone but it seems to have little benefit but you can try.

connect-delay 5000

Note the information in the /etc/ppp/options file does not recommend that changes are made in this file. The documentation ( man pppd ) says that if there is a file ~/.ppprc it is used for user default options which could be used instead of modifying /etc/ppp/options - I have not tried that method as the simple way works for me and gives me a working system. I have the attitude that "if its not broken don't fix it"

Permissions: I have once had a problem after installing and uninstalling the vodafone connect software with gnome-ppp complaining about permissions which did not seem to be cured by the setting your user permissions as above - it seemed that the other software had modified something and gnome-ppp or more precisely the pppd daemon needed to be run as root. This was cured by setting the setuid attribute with:

sudo chmod u+s /usr/sbin/pppd

When an executable file has been given the setuid attribute, normal users on the system can execute this file and gain the privileges of the user who owns the file.

Firefox 3.x and PPP connections - fixing Firefox starting in Offline Mode

The writers of Firefox 3 have tried to be clever and automatically start Firefoz in the Offline Mode if there is no internet connection present. They have done that in Linux by checking if Network Manager has an open connection which is fine for the Ethernet and Wireless Network connections that are looked after by Network Manager. Unfortunately Network Manager does not know about Point to Point Protocol connections - that is dial up and other mobile connections using the PPP daemon. The result is that if you make a connection using Gnome-PPP Firefox swithes into Offline Mode when it starts and it has to be switched back using File -> Work Offline. This is OK for the occasional connection but gets very tedious if you have mobile broadband in use all the time or have a old telephone dial up via a modem. This has been discussed at length and there is now an option to inhibit the feature but only deep in the configuration. The way to access it is by entering about:config in the address bar and then enter. This will bring up a warning screen about dragons being present so you have to take care - click Ok and then enter toolkit.networkmanager.disable into the filter which will reduce you down to a view of the required option which will be currently set to false. Right click -> Toggle - this will change the value to true and inhibit the check in network manager. Exit Firefox and when you next use it on a PPP connection it will no longer start up offline. For more details see The Mozillazine Article toolkit.networkmanager.disable

Use of the Vodafone Mobile Connect Broadband package with Huawei E220 USB Modem.

Vodafone now offer a package with a USB broadband stick preloaded with 1 Gbyte of UK data for £49 reduced to £39 for Xmas. Top ups are £15 for 1 Gbyte. The stick I received even has a micro SD reader built. It is branded as a Vodafone K3565 which is detected as a Huawei E220. It handles GPRS, 3g and the latest HSDPA services providing 3.6 Mbaud rates. The MSI Wind has no PCMCIA slot so this is perfect for round the UK and I think I have persuaded Vodafone to unlock it for roaming with different Vodafone SIM cards. The service includes reception of texts but not sending.

The modem driver is built into Ubuntu 8.04 and detects the modem with the caveat below. The Vodafone Group have written some support software for linux - it is not officially supported but is an Open Source development which can be used for many USB 3G sticks and service providers. I covered its use in Ubuntu Linux on the Move but I found that good old fashioned gnome-ppp was all that was needed and much faster to connect so I have not installed it on the second Wind when I found I had never used it for real connections!

Jaunty has a number of improvements over Hardy when it comes to USB Broadband USB sticks in general: Firstly the dual devices are correctly handled in the kernel and identified as Broadband modems however many times they are plugged in and out and Secondly the Network Manager has been extended considerably and handles Mobile Broadband connections explicitely so most of the following can be skipped if you use Jaunty where you do not need Gnome-PPP or the Vodafone Mobile Connect software although you may choose to use them.

Lucid handles an increased number of USB sticks including the Vodafone K3565-Z.

Multiple instances of the device: The only problem I had under Hardy Heron and which was independent of software used is that modem is detected when you plug it in but it ends up with multiple installations of the USB devices the first time it is plugged in after the machine is booted up. If you unplug and plug in again it is perfect - you can do it many times without problems. This seems to be to do with the fact that it changes mode - initially it looks like a CD so the drivers can be automatically installed under Windows then switches to a modem mode. This is fixed in Jaunty.

You can check what you have after the first time you plug in by;


which should show the Modem as well as other USB devices

pcurtis@triton-ubuntu:~$ lsusb
Bus 004 Device 006: ID 12d1:1003 Huawei Technologies Co., Ltd. E220 HSDPA Modem
Bus 004 Device 002: ID 0c0b:2bcf Dura Micro, Inc. (Acomdata)
Bus 004 Device 001: ID 0000:0000
Bus 003 Device 001: ID 0000:0000
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 001: ID 0000:0000

and then you can check the actual devices which have been installed by

ls -al /dev/ttyU*

you should only have two or three devices /dev/ttyUSB0 /dev/ttyUSB1 and possibly /dev/ttyUSB2 as it also has a built in card reader for a micro SDC card. If you have more it will not work. Unplug and plug in again, wait 30 seconds and check again. At one time I had 12 devices listed! You may want to write an alias for ls -al /dev/ttyU* or put it in a launcher on the desktop as one tends to use it quite often

pcurtis@triton-ubuntu:~$ ls -al /dev/ttyU*
crw-rw---- 1 root dialout 188, 0 2008-12-21 19:00 /dev/ttyUSB0
crw-rw---- 1 root dialout 188, 1 2008-12-21 19:00 /dev/ttyUSB1

Gnome-ppp set up for Vodafone Mobile Broadband:
When you set up Gnome-ppp the only new information needed for vodafone PAYG Broadband is:

Username: web
Password: web
APN: pp.internet

The APN is unusual as vodafone usually use pp.vodafone.co.uk for PAYG and internet for contract but I got it from the default under Windows and only that seemed to work when I tested in a normal phone as well as in the dongle. I just added an init string to set up the default APN (CID 1) and it also worked immediately. I use the following init strings:

Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+CGDCONT=1,"IP","pp.internet"

I am not sure that the init2 is needed - it is the standard set up for a fax modem as used through a mobile phone .

The 'number to dial' is set to be *99# or *99***1# and I use stupid mode to get a quick connection.

I have looked at the codes sent by vmc and tried the codes there to set GPRS prefered as an init code. It does not seem very effective but for completeness the codes I have extracted from the vmc source are:

Init4 =AT^SYSCFG=13,1,3FFFFFFF,2,4
For 3GONLY set
Init4 =AT^SYSCFG=14,2,3FFFFFFF,2,4
Init4 =AT^SYSCFG=2,1,3FFFFFFF,2,4
For 3GPREF set
Init4 =AT^SYSCFG=2,2,3FFFFFFF,2,4

I tried the small program provided by vodafone called usb_modeswitch to switch between CD boot mode and Modem mode but it did not work even after various settings in the confg file - recognise the device but does nothing. I am still into having to check if the devices are correct with ls -al /dev/ttyU* if it does not fire up correctly and pluging in again if still a problem.

I have not found a way to check ones credit under linux as the linux vmc software does not support it - if the software is improved to do so I will install it. Currently credit checking and Topup via a vouchure is available under the Windows VMC or by telephone and credit card however 1 Gbyte should last a long time!

Monitoring data use

I have installed the Network Monitor Applet in the taskbar as well as the network manager as it gives an indication of the total data use. With Mobile Broadband Connections initiated using the Network Manager the Network Monitor seems to provide the cumulative use since the last restart. I had to install network Monitor using the Synaptic Package Manager as it is not available by default under Jaunty or Lucid.

Secret Winds - Truecrypt Disk Encryption Software

I was not sure whether to include this under my write up of the Wind but if one is running an ultaportable computer like the Wind it becomes even more important to have the ability to encrypt important data you carry with you. I have always had some encryption and initially used PGP and PGPdisk under Windows but switched a couple of years ago to TrueCrypt - Free Open-Source On-The-Fly Disk Encryption Software which runs under both Windows and Linux some time ago - I was attracted because it:

It creates a Virtual Disk with the contents encrypted into a single file or onto a disk partition or removable media such as a USB stick. In fact it does it rather better than PGPDisk in many ways and in the Windows version it has all the same automatic demount etc options. The encryption is all on the fly so you have a file, you mount it as a disk and from then on it is used just like a real disk and everything is decrypted and re-encrypted invisibly in real time. The virtual Drive is unmounted automatically at close down and one should have closed all the open documents using the Virtual Drive by that point just like when you shut down normally. The advantage is that you never have the files copied onto a real disk so there are no shadows or temporary files left behind and one does not have to do a secure delete. I have loaded it onto two of my Windows systems.

Truecrypt obviously installs deep into the operating system in order to encrypt decrypt invisibly on the fly. The early versions were specific to a Linux Kernel and had to be recompiled/installed every time a Kernel was updated. Fortunately TrueCrypt has now reached version 6 which can be downloaded as a .deb file for both 32 and 64 bit versions of Ubuntu – make sure you get the correct version. The .deb is packed into a compressed file .tar.gz just double click truecrypt-6.x-ubuntu-x86.tar.gz to open the archive and drag the folder to the desktop, double click it then click 'Run in Terminal' to run the installer script.

The new version of Truecrypt is a great improvement and has a GUI interface almost identical to that in Windows. It can be run by just typeing truecrypt in a terminal or from a launcher. It opens virtual disks which are placed on the desktop. Making new volumes (encrypted containers) is now trivial – just use the wizard. Old files can be opened but it is best to create a new volume and copy the contents across. This is now a very refined product under Linux.

The only feature I have found is that one has to have administrative privileges to mount ones volumes. This means that one is asked for ones administrative password on occasions as well as the volume password. There is a way round this by providing additional 'rights' specific to just this activity to a user (or group) by additions to the sudoer file. There is information on the Sudoers file and editing it at:


Because sudo is such a powerful program you must take care not to put anything formatted incorrectly in the file. To prevent any incorrect formatting getting into the file you should edit it using the command visudo run as root or by using sudo ( sudo visudo ). In Ubuntu 8.04 the default editor for visudo has changed to vi, a terminal editor, which is an incomprehensible at least to those used to Windows. To change this behaviour we can edit the users setup file:

gedit ~/.bashrc

Add the lines to use gedit as the standard GUI editor and nano as a terminal editor:

# Addition to standard file to select visual and terminal editors
[ $DISPLAY ] && \
export VISUAL="gedit" || \
export EDITOR="nano"

Now you can launch visudo in a terminal with the standard editor gedit by:

sudo -E visudo

There are now two ways to proceed, if you have a lot of users then it is worth creating a group for truecrypt, changing truecrypt to be a member of that group and adding all the users that need truecrypt to that group. You then use sudoer to giving group members the 'rights' to use it without a password. See:

http://wiki.archlinux.org/index.php/Truecrypt or

If you only have one or two users then it is easier to give them individual rights by adding a line(s) to the configuration file by launching visudo in a terminal into the standard editor gedit by:

sudo -E visudo

and appending one of the following lines for either a single user (replace USERNAME with your username) or a group called truecrypt (the last option is brute force and gives everyone access) :

USERNAME ALL = (root) NOPASSWD:/usr/bin/truecrypt
%truecrypt ALL = (root) NOPASSWD:/usr/bin/truecrypt
ALL ALL=NOPASSWD:/usr/bin/truecrypt

Save and exit - if there are errors there will be a message and a request what to do in the terminal.

I have used it both the simple way and by creating a group called truecrypt. In the case of the Wind where I have two users I created a a new group truecrypt using System -> Administration -> Users and Groups and Truecrypt now runs under all both users without continual prompts for passwords. I had to use the brute force approach under Lucid.

Second Wind

The first Wind was so successful that we have now purchased a second one from Lambda-Tek for £278 including next day delivery. We will update/correct/clarify this write up as we set up up the new machine with the intention that the software set up will be identical. The first Wind was set up with Ubuntu hardy heron 8.04 which is the LTS (Long Term Support) version which is guaranteed to have 3 years support for desktop use and 5 years for Servers. After tests with the LiveCD we moved to Ubuntu Jaunty 9.04 for the second Wind. It has drivers built in for the Wifi and Webcam and ran Out of the Box even including suspend. from a LiveCD. It also has full support for the Vodafone Broadband USB Dongle which now looks just like any other network in the Network Manager Applelet. Add OpenOffice 3.0 and an improved F-Spot and it seems a sensible upgrade as it wll be supported for a year which tales one to the next LTS distribution. It will remove the need for all the installation of drivers after each kernel Upgrade. I will report further and add updates to any sections which change.

Files modified on Second Wind - In order to help me set up future mahines and also to show how little 'configuration' involving a terminal is needed I am going to list the files actually changed from their defaults and sumarise the changes and why they took place.

None of the above are essential for basic operation and several are specific to programs or facilities you may chose not to use such as bluetooth phones, vodafone data cards, truecrypt disk encryption and Unison synchronisation over a secure network. In summary it is possible to get by without having to use a terminal for several weeks or even months although in the long term you would restrict yourself.

Short of Wind - the Solution to the MSI Wind U100 'Critical Power' Anomaly

The MSI Wind and many other netbooks and laptops have a very large power surge shown after unplugging and plugging in the power adapter. This is typically 700 watts and is enough to trip the 'critical power' shutdown if it is calculated on time remaining. The symptom can be reproduced if you unplug the power adapter with machine on - you will get a critical power message and the machine will then hibernate which is a triffle annoying if the battery is full.

The 'critical power' criteria can be set to use the battery charge remaining instead and there is a setting in the gnome-power-manager to do that but it is not accessible from the normal GUI. You need to use a terminal and run


The Configuration Editor can also be accessed by enabling it in Applications - it is very powerful and you can easily make a system unusable so it is hidden by default. To enable it Right Click on Applications -> Edit Menus -> System Tools and tick the box beside Configuration Editor. It will now be available under Applications -> System Tools -> Configuration Editor.

In Configuration Editor -> apps -> gnome-power-manager -> general and untick 'use_time_for_policy'

It seems that a settling time was used in Hardy and Jaunty which is not applied in Lucid. The change should be a permanent fix for each user - it may need to be reapplied for other users.

No Wind - Outstanding activities, snag list - now very short! and Stop Press

Overall the Wind has been very easy to set up and seems to be excellent under Ubuntu Hardy Heron 8.04.1 and almost perfect under Jaunty Jackalope but I would not like anyone to think that every problem has been solved.

I am therefore keeping this area for an account of any issues and solutions if and when we find them.

Before You Leave

We would be very pleased if visitors could spare a little time to give me some feedback - it is the only way I know who has visited, if it is useful and how I should develop it's content and the techniques used. I would be delighted if you could send comments or just let us know you have visited by Sending a quick Message to us.

Home page | Pauline's Pages | Howto Articles | Uniquely NZ | Small Firms | Search

Copyright © Peter and Pauline Curtis
Content revised: 11 th May, 2010
Valid HTML 4.01!