Introduction
I have two daughters at university at the present time, and both of them are in need of a new computer. This paper records my attempts at making the Ultimate Student Workstation. Well perhaps not, on the budget available, but at least a solid machine that will be good for work and play.
Disclaimer
This information is published in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Computer hardware manufacturers are notorious for changing the specification of their products, whilst keeping the same part numbers. What has worked for me might not work for you - proceed at your own risk.
Audience
This article assumes reasonable familiarity with assembling computers from component parts and a general basic knowledge of electronics. It also assumes familiarity with the GNU/Linux operating system and the application software commonly used with it.
Update
2005-06-20 The prototype USW has been running continuously for several days now - crunching Seti work units.
2006-12-11 Two more USWs have been built, this time using the 3Com Wireless 11a/b/g PCI wireless card, the Intel Celeron D processor 351+, 1 GB RAM and the Kubuntu version of GNU/Linux.
Rationale
The basic requirements of the box are:
- Word Processing
- Web Browsing
- Playing Music
- Playing Video
- TV and Radio
- Recharging digital portable music players
- Printing
- Scanning
Both of my daughters live in a different country from me, so frequent service calls are impractical. For this reason the GNU/Linux operating system was chosen for ruggedness and resistance to virus attack.
This makes buying a complete machine off the shelf a waste of money, as one is nearly always forced to buy an unwanted operating system. I am just too busy at the moment to go through the palaver of claiming back the money on unused software licences, especially as I would have to do it in French!
Choosing the Components
A set of components must be chosen that are compatible with the Linux operating system. This is always something of a black art, as most component manufacturers seem to be frightened to mention Linux compatibility for fear of upsetting the large software vendors.
However, other sources of information exist, and many components that do not advertise Linux as a supported operating system will, in fact, work well in a Linux system.
Barebones Box
Because of the space restraints in the average student acommodation, a small ATX size case was preferred over a large tower system. Cubes were considered, but seem to occupy a fair bit of desktop space. The ATX occupies more, but acts as a stand for the monitor, and the space around the monitor is usually 'dead'. My family are all fairly tall, so the additional height gained by putting the monitor on top of the processor box is also of benefit.
When taking into account the need for a IEEE 1394 / Firewire port and two spare slots for the WiFi and tuner cards, not many solutions presented themselves. Eventually the Asus Pundit-PH3 was chosen. This choice probably represents the greatest technical risk in the whole project, as the unit is relatively new and little has been written about the unit's Linux compatibility so far. The manual does not mention Linux as a supported operating system, but various references to Linux kernels and support exist in the appendices. I can only conjecture that the box was engineered with Linux in mind, but (nearly) all references were subsequently removed from the manual by the marketing people when the engineers had finished writing it. There again, as with all conspiracy theories, it is more than likely just an oversight...
Machine Specification
Components Fitted (June 2005 build)
These are the components used to build the workstation. They were all bought in the computer shops in the twelfth district of Paris, with the exception of the UK keyboard, bought at PC World in Staines, England. All prices are in Euros and include local taxes.
| Component | Manufacturer | Model | Price (€) | Supplier |
|---|---|---|---|---|
| Barebones Case | Asus | Pundit-PH3 | 225.00€ | eSoph.com |
| Processor | Intel | Pentium 4 530J | 152.00€ | GM Computer |
| Memory | Kingston |
DDR+PC3200 KVR400X64C3A/512 |
41.00€ | GM Computer |
| Hard Disk | Maxtor | DiamondMax 10 200GB SATA 150 | 89.00€ | GM Computer |
| DVD / CD Drive | LG | GSA-4163B | 46.00€ | GM Computer |
| WI Fi Card | Netgear | WG311TFS | 55.00€ | LCD International |
| Monitor | LG | Flatron L1730S | 226.00€ | LCD International |
| Keyboard | PC World | PC LINE PC-KBW400 | 14.50€ | PC World |
| Mouse | Logitech | Optique | 10.00€ | SCI |
| Printer | Epson | CX3600 | 100.00€ | Carrefour |
| Music Player | iriver | iFP 790 | 139.00€ | LCD International |
| Operating System | Fedora GNU/Linux | Core 3 | 0.00€ | Red Hat |
| Office Suite | OpenOffice.org | OpenOffice.org 1.1.4 | 0.00€ | OpenOffice.org |
| Web Browser | Mozilla | Mozilla Firefox | 0.00€ | Mozilla |
| Email Client | Mozilla | Mozilla Thunderbird | 0.00€ | Mozilla |
| Total | 1097.50€ |
Components Not Fitted
This is where you can benefit from my mistakes! The Pundit is a low profile barebones, and needs low profile expansion cards. I have not used these before, so I have no 'feel' for the relative size of these things. I asked, when I bought the cards, if they would fit. I thought that I was assured that they would fit, but with my level of French it is perfectly possible that the vendor did not understand the question, or that I did not understand the reply. In any case, the cards are too tall to fit the case. The wireless network card was subsequently modified to fit (see below) but the tv tuner card is just too big. It has now been used in the ORW. The card that was subsequently obtained was the Hauppage WinTV-PVR-150MCE l.p. (where the final l.p. in the part number presumably stands for low profile). and this has been fitted to the second USR to be built. I am sure I inspected the bottom of the Pundit processor fan on receipt and found that it had no thermal compound on it. In the event it did, so the paste was not required. Again, something that was soon used on subsequent projects. All prices are in Euros and include local taxes.
| Component | Manufacturer | Model | Price (€) | Supplier |
|---|---|---|---|---|
| TV Tuner Card | Hauppauge | WinTV-PCI-FM model 760 | 65.00€ | LCD International |
| Thermal Paste | Arctic Silver | AS5 | 8.00€ | LCD International |
| Total | 73.00€ |
Components Fitted (December 2006 build)
These are the components used to build the workstation. They were bought in the computer shops in the twelfth district of Paris and via the Internet in France with the exception of the UK keyboard, bought at PC World in Staines, England. All prices are in Euros and include local taxes but not shipping.
| Component | Manufacturer | Model | Price (€) | Supplier |
|---|---|---|---|---|
| Barebones Case | Asus | Pundit-PH3 | 149.00€ | Galaxy - Computer |
| Processor | Intel | Celeron D 351 | 66.90€ | LDLC.com |
| Memory | Kingston | KVR400X64C3A/1G | 89.00€ | Sérénité Système |
| Hard Disk | Maxtor | DiamondMax 10 200GB SATA 150 | 64.00€ | Sky Micro |
| DVD / CD Drive | LG | GSA-H12N | 31.00€ | New PC Charenton |
| WI Fi Card | 3Com | 3Com Wireless 11a/b/g PCI | 39.50€ | LDLC.com |
| Monitor | LG | Flatron L1730S | 194.00€ | LDLC.com |
| Keyboard | PC World | PC LINE PC-KBW400 | 14.50€ | PC World |
| Mouse | Logitech | Optique | 10.00€ | SCI |
| Operating System | Kubuntu GNU/Linux | Edgy 6.10 | 0.00€ | Kubuntu |
| Office Suite | OpenOffice.org | OpenOffice.org 2 | 0.00€ | OpenOffice.org |
| Web Browser | Mozilla | Mozilla Firefox 2 | 0.00€ | Mozilla |
| Email Client | Mozilla | Mozilla Thunderbird | 0.00€ | Mozilla |
| Total | 657.90€ |
Construction
The Asus Pundit PH3 comprises a low profile case housing power supply, drive bays, flash card reader and motherboard (Fig 1).
Click thumbnail to enlarge
Fig. 1
The unit was assembled in time honoured fashion on the dining table. The only tools used were a screwdriver and an anti-static strap to the system unit and to myself. I also removed my pullover, which seems to generate enough static electricity to power a small town.
Basic dissasembly was a breeze. To remove the cover requires only the removal of two knurled - head screws, then the cover can be pulled back slightly to disengage the fittings and lifted off. Another bar is lifted upwards to allow the expansion card retaining plate to be removed, which allows better access inside the case.
Installing the processor
|
Click thumbnail to enlarge |
|||
|
|
|
|
|
|
Fig. 2 |
Fig. 3 |
Fig. 4 |
Fig. 5 |
A boxed Pentium 4 processor was purchased, which was probably not necessary as the Pundit comes with a processor fan. The box contains the processor, a processor fan and the instructions. Processor installation is detailed in the manual accompanying the Pundit, but is basically just a case of opening the processor socket, removing the plastic blanking plate that protects the socket when no processor is installed, dropping in the processor and closing the socket (Figs. 2 - 5). Care must be taken to align the processor correctly with the socket, and not to touch the socket pins, the processor pins, or the plate on top of the processor that transfers heat to the heatsink.
Click thumbnail to enlarge
Fig. 6
The processor fan was then lined up with the mounting points on the motherboard, taking care that the mounting devices were aligned as explained in the manual. Care was taken to position the fan power lead next to the socket on the motherboard. The fan was fitted in place by firmly pressing on diagonally opposite pairs of devices until they click into place (Fig 6). It only then remains to plug the fan power lead into the motherboard.
Installing the RAM
The system RAM was all contained on one module, that was clipped into the first socket on the board.
Installing the Wireless Network Card (Netgear WG311TFS)
The wireless network card purchased for this computer came with a standard full height PCI bracket and would not fit into the Pundit case. A search on Google soon revealed a selection of cards that came with an optional low profile PCI bracket, but none of these seemed to be readily available at the local computer shops. It was noted that the circuit board of the WG311T could fit easily into the Pundit case, so it was decided to attempt to modify the WG311T PCI bracket to fit into a low profile slot.
Disclaimer
This information is published in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
The procedures undertaken in this section may well invalidate product warranties and equipment approvals. Do not attempt these procedures without a good knowledge of workshop safety practice. Proceed at your own risk.
Checking the card fit
The top cover and expansion card retaining plate were removed from the Pundit to give access to the expansion card bays. A screwless retention system is used to keep cards in place, and once the retention bar was raised one of the bay blanking plates could be lifted out. The two screws fixing the WG311T to the mounting bracket were removed enabling the printed circuit card to be separated from the bracket. The printed circuit card was then positioned so that the antenna connector poked through the hole left where the blanking plate was, then the card was pressed firmly into the connector (Fig 7).
Click thumbnail to enlarge
Fig. 7
An adjacent blanking plate was then removed, and the card bracket was placed into this to see if the screw holes would line up. In the event they did not, being too high, indicating that the bottom of the PCI bracket would need treatment as well as the top.
Trimming the Bracket
The first operation was to remove a couple of millimetres of material from the foot of the bracket whilst retaining the same profile. This was achieved by using a small tenon - saw type of blade in an X-Acto knife handle (Fig 8). All rough edges and all traces of swarf were removed, then the bracket was tested again in the Pundit case to check the hole alignment with the wireless network card and to see where to bend and cut the bracket to fit the low profile bay. The bracket was of 'L' section at the point where the bend had to be made, so a cut was made in the smaller part of the 'L' to facilitate bending. When the bend had been made (rather crudely with two pairs of grips, as no vice was available) it was again tried against the computer case (Fig 9).
|
Click thumbnail to enlarge |
||
|
|
|
|
|
Fig. 8 |
Fig. 9 |
Fig. 10 |
The radius of the bend was rather too large to allow the bracket to fit snugly in the bay, so it was 'dressed' with a hammer and steel block until a snug fit was obtained. The bracket was now cut above the bend, and the 'L' section flattened out to make the locating tab. The locating slot was made by drilling a hole, then making two cuts from the edge of the tab to the hole. The whole bracket was cleaned up again and checked for fit in the case. After a little more 'dressing' a good fit was obtained (Fig 10).
Reassembly
The wireless card was removed from the Pundit unit. Observing anti - static precautions, the bracket was now offered up to the wireless card and the two screws replaced.
Fitting the card
The card was now eased into the bay, so that the antenna connector could pass through the bracket hole, and then the card was firmly pressed into the PCI connector (Figs 11 - 12).
|
Click thumbnail to enlarge |
|
|
|
|
|
Fig. 11 |
Fig. 12 |
The bracket was engaged with the fixing lug on the case, and then the expansion card bay cover was replaced.
Installing the Wireless Network Card (3Com Wireless 11a/b/g PCI)
For the second build of USWs, a low profile compatible network card was discovered, the 3Com Wireless 11a/b/g PCI (Part 3CRDAG675B). This card is supplied with a full height bracket fitted, but a low profile bracket is included in the box. Thus installation should merely be a case of (after taking anti - static precautions) unscrewing the full height bracket and replacing it with the low profile one. In practice, the low profile card had had the hole for the antenna stamped slightly out of place, and the hole had to be enlarged slightly with a round file to get a good fit on the card. The bracket was then screwed into place and the card fitted into a PCI bay in the Pundit unit.
|
Click thumbnail to enlarge |
||
|
|
|
|
|
Fig. 13 |
Fig. 14 |
Fig. 15 |
Installing the TV Tuner Card (Hauppage WinTV-PVR-150MCE l.p. PAL)
For the second build of USWs, a low profile compatible TV tuner card was discovered, the Hauppage WinTV-PVR-150MCE l.p. PAL. This card is supplied with a low profile bracket fitted, but a full height bracket is included in the box. Thus installation was merely a case of removing a PCI slot blanking plate and plugging the card into a spare PCI bay in the Pundit unit.
|
Click thumbnail to enlarge |
||
|
|
|
|
|
Fig. 16 |
Fig. 17 |
|
Installing the drives
All the drives in the Pundit are of the 'drop in' type, and the only tool required is a small screwdriver to affix screws onto the sides of the drives.
DVD R/W
The front panel of the Pundit case had already been unclipped during prior dismantling of the unit. Before fitting the DVD drive into the case, the cables and connectors were fed through the aperture in the case and connected to the drive. The DVD drive was fitted by affixing two screws to the normal mounting holes on each side of the drive, then sliding the drive into an aperture at the front of the case until a retaining catch clicked. The blanking plate was then removed from the front panel before refitting.
SATA Hard Disk
Again mounting screws were driven into the hard disk mounting holes, but this time the screws were fitted with plastic washers supplied with the Pundit case. The SATA and power cables were connected and the unit gently lowered into the drive cradle and then moved sideways to click it into place.
Software Installation
Updating the BIOS
The original build of the USW used the Intel Pentium 4 Processor 530J which operated without problem. On a subsequent build the 530j was no longer available. Many shops were offering the 531 as a direct replacement, but this is not currently (2006-12-10) listed as compatible on the Asus website. This meant another suitable socket LGA775 processor had to be found, the only one available at a reasonable price being the Intel Celeron D processor 351. This processor was ordered on the internet, but it was noted that the part that arrived was marked 351+. Whether this made a difference or not is unknown, but on booting the new machine, a microcode error was detected during boot:
Intel CPU uCode loading error
Press F1 to Resume
This could be cleared by pressing F1 after which the machine operated normally. To remedy this it was decided to upgrade the BIOS. A search on the internet revealed similar problems had been fixed by upgrading to the latest BIOS, version 0502 beta. As the machine has no floppy drive, and proprietary operating systems are not installed, the update had to be installed as follows using the EZ-Flash system. Firstly download the update (0502.zip) to an empty directory and unzip it to get 0502.ROM. Rename this file to have the same name as the Pundit motherboard, in this case P5GD1VMX.ROM. Then burn this file to CD-ROM. Put this CD into the CD drive of the Pundit, and repeatedly press ALT-F2 during system boot. The machine will enter the EZ-Flash utility, and install the BIOS update. Do not interrupt the process until it is complete. The machine will then report corrupt cmos ram, which may be cleared by pressing F2 to accept the default settings. The machine should now boot normally.
Installing Kubuntu (December 2006 build)
While the prototype USW has given good service, some areas have proved to be a little tricky for non - technical users, mainly in the areas of wireless networking using WPA encryption, and of managing USB - connected mass storage devices. As the Kubuntu GNU/Linux distribution has a good name for non - technical desktop use it was decided to test version 6.10 (Edgy Eft) of this distribution for use in subsequent builds of the USW.
Basic Installation from CD
The basic installation of Kubuntu was very straightforward, just a question of inserting the installation disc into the machine, rebooting and following the onscreen prompts.
Bringing the System Up to Date
Assuming that the machine has a network connection to the public Internet, some time after installation a red and white warning triangle will appear in the system tray indicating that updated versions of some of the software on the machine are available. Clicking on this triangle will open the Adept updater window, enabling the relevant upgrades to be downloaded and installed.
When Kubuntu 7.04 Feisty Fawn became available, Adept suggested performing an upgrade to this version of the operating system, and the on-scrren instructions were followed to complete the update.
Adding more Software
After the initial installation, it was desired to add further programs to the system. this was done using the Adept Manager (K - System - Adept Manager Manage Packages). To see all the programs available additional repositories need to be added to the system. In Adept, select View - Manage Repositories to see the repositories, and then enable the Universe entries by right clicking on them and selecting 'enable' from the resulting drop - down menu, then click on 'universe' to edit the entry so that it reads 'universe - multiverse'. On returning to the main window, clicking 'Fetch Updates' will refresh the program list, and most commonly used software should be available.
Several programs were then marked for installation,such as Firefox, Thunderbird, KWLan, Gaim and XMMS along with the KDE games package.
Using Adept Behind a Proxy
If your machine is behind a proxy firewall, it is still possible to use Adept to keep the system up to date and to install further software. The way I did it was to create a file:
/etc/apt/apt.conf.d/proxy
by issuing the command:
sudo kwrite /etc/apt/apt.conf.d/proxy
and to place in it the details of the proxy as follows:
Acquire {
http {
Proxy "http://username:userpassword@191.168.1.1:8080";
};
};
Obviously replace username, userpassword, the IP address 191.168.1.1 and the port number 8080 with those applicable to the proxy you wish to access.
Installing the Flash 9 Plugin
If you wish to play Flash content within Firefox, you will need to install the Flash plugin. If you select this with Adept, what you actually get is a script that downloads Flash and then installs it for you. Due to ownership of this product passing to Adobe, and also that the product has just been upgraded to version 9, this script is currently broken. The script is designed to install flash to a directory:
/usr/lib/flashplugin-nonfree/
and then symlink to the Firefox plugin directory:
/usr/lib/firefox/plugins/
To do the same thing manually download the plugin install_flash_player_9_linux.tar.gz file into an empty directory by going to http://www.adobe.com/ and clicking the 'Get Adobe Flash Player' button, then clicking the relevant link on the resulting page. Then open a command window (Press Alt-F2 then enter 'konsole' and hit return), change into the directory where you have just saved the file and untar it with the command:
tar -zxvf install_flash_player_9_linux.tar.gz
If you used Firefox to do the download, close it now then make the target directory with:
sudo mkdir /usr/lib/flashplugin-nonfree/
then change into the untarred directory
cd install_flash_player_9_linux/
and copy the two relevant files to /usr/lib/flashplugin-nonfree/
sudo cp libflashplayer.so /usr/lib/flashplugin-nonfree/
sudo cp flashplayer.xpt /usr/lib/flashplugin-nonfree/
Finally change into the Firefox plugin directory
cd /usr/lib/firefox/plugins/
and link the relevant files with:
sudo ln -s /usr/lib/flashplugin-nonfree/libflashplayer.so
sudo ln -s /usr/lib/flashplugin-nonfree/flashplayer.xpt
Restart Firefox, then enter:
about:plugins
in the URL bar. You should see the Flash 9 plugin listed with your other plugins.
Installing Skype
The Skype VoIP software can be installed by going to http://www.skype.com/download/skype/linux/ and downloading the Debian package. Open a command window, change to the directory that you downloaded the package into and issue the command:
sudo dpkg -i skype_debian-xxx_i386.deb
to install the package (where xxx matches the version number of the package you downloaded).
Installing a Simply Phone VoIP handset
...to be continued...
Click thumbnail to enlarge
Fig. 18
It was found that the handset sound levels would sometimes change on stopping and restarting the system. To avoid having to open a mixer window and reset them a small script was written to set the handset levels every time the Skype application was started. A file containing the following was saved as .skypestart and made executeable.
#!/bin/sh
amixer -c 1 sset Mic,0 90% on cap > null
amixer -c 1 sset Mic,1 90% on cap > null
amixer -c 1 sset PCM,0 80% on > null
amixer -c 1 sset PCM,1 80% on > null
skype
The properties of the Skype icon were then modified to point to the script instead of the application. The application is started by the script once the mixer levels have been set.
TV Tuner Card (Hauppage WinTV-PVR-150MCE l.p. PAL)
Getting the Hauppage WinTV-PVR-150MCE l.p. tv tuner card to work required a little bit of effort as many of the standard tv viewing packages do not yet seem to be compatible. The card uses the ivtv driver already a part of the Kubuntu 7.04 kernel. The only further package to download was the ivtv-utils package which was downloaded using the Adept Manager in the usual way.
After reading these notes on how to get the tuner card working with Kubuntu, a small shell script was written to select tv channels and pipe the resulting mpeg audio/video stream to VLC or Mplayer. The script as it stands takes a single argument this being the name of the channel desired, and the channels are those for terrestrial broadcasts from either the Crystal Palace transmitter in London or the Eiffel Tower transmitter in Paris. The channel aux1 plays a PAL video signal connected to the S-video connector and audio input jack and aux2 does the same thing for a SECAM signal.
The script was copied to /usr/bin/ and then several icons were placed on the desktop to call the script with different channel arguments. To reuse this script download it to your current directory and edit the channel numbers to those of your local transmitter. Rename the script tunetv, make it executable and then copy it as root to /usr/bin/. Then issuing a command such as:
tunetv bbc1
should launch vlc displaying the required channel.
To make the icons right click on the desktop, select 'Create New' then 'Link to Application'. Click on the cog icon to open a dialogue that will enable you to select a different one (I poached the kdetv icon) and then change 'Link to Application' to something more meaningful such as 'TV BBC1'. Prefixing all the icons with 'TV' will cause them to group together when they are lined up by, for example, right clicking on the desktop then selecting 'Icons' - 'Line Up Vertically'. Then select the Application tab and change Command to /usr/bin/tunetv bbc1. Click OK and the new icon will be created. Repeat for each channel, then line up the icons as required, by, for example, right clicking on the desktop then selecting 'Icons' - 'Line Up Vertically'.
To listen to the radio issue a command such as:
ivtv-radio -f 94.7
and the radio station at the specified frequency will be played back using aplay. Press CTL-C to stop playback.
Wireless Card (3Com Wireless 11a/b/g PCI - 3CRDAG675B)
The first attempt at getting the wireless networking going used the 'Wireless Assistant Wireless LAN Manager' which is part of the default Kubuntu installation. Whilst an unencrypted connection could be achieved, attempts to make a WPA - encrypted connection were unsuccessful.
For the second attempt the Kwlan program was installed with the Adept package manager (and conventional ethernet network connection). With this program all that was required was for the network name (SSID) and password to be entered, and then a solid wireless connection was achieved with the local Netgear WNR834B wireless router.
The machine was moved to my daughter's student house. There connectivity is provided by a NTL cable modem connected to a Belkin wireless router. Once the SSID and password had been changed to those of this system, the machine connected to the router, but Internet performance was dismally slow. However, pinging other local machines appeared normal.
After some research, it was decided that there was some problem with the ISP's DNS service, or the way in which this was presented to the machine by the Belkin router. It was thus decided to make an external DNS nameserver the default nameserver, and see if this improved matters.
It was decided to use the OpenDNS nameservers at 208.67.222.222 and 208.67.220.220. To make these IP addresses the default, they would have to be prepended to the top of /etc/resolv.conf above the entry made by the DHCP client.
This is quite easy to do in Kubuntu, by modifying the file
/etc/dhcp3/dhclient.conf
Open the file in an editor with the following command:
sudo kwrite /etc/dhcp3/dhclient.conf
and then underneath the commented-out line
#prepend domain-name-servers 127.0.0.1;
add the line
prepend domain-name-servers 208.67.222.222, 208.67.220.220;
The machine was restarted and the internet was transformed out of all recognition with a fast responsive performance. Thanks to the Greater London Linux User Group mailing list for some helpful suggestions with this problem.
Links
Ubuntu WPA HowTo
Edgy Known Issues
The Hardware HowTo
Kubuntu Hardware Support
Changing the Default Browser and Mail Programs
As Mozilla Firefox and Mozilla Thunderbird are installed as the preferred web browser and email client, it is desirable for a web link clicked in an email to open in Firefox, and a mail link clicked on a web page to open a Thunderbird compose window.
The default browser may be changed by entering the command:
sudo update-alternatives --config x-www-browser
and following the instructions displayed to select the desired browser.
Changing Firefox's default mail client is a little trickier. Firstly using Kate or a similar text editor enter the line:
user_pref("network.protocol-handler.app.mailto","/usr/bin/mozilla-thunderbird");
Then save this file as user.js in the Firefox user directory, which will be /home/username/.mozilla/firefox/abcde.default/ where abcde is some random string.
Installing Fedora (June 2005 build)
Basic Installation from CD
The Fedora Core 3 CD disk images were downloaded from a local mirror over the course of two nights. The disk images were then transferred to the four installation CDs. The machine was booted from the first installation CD, the graphical install chosen, and the install was performed with little difficulty. A custom install was performed, to allow some changes to be made to the default offerings.
Initially, Firefox, Thunderbird and OpenOffice.org were not installed, the idea being to download and install the latest versions from the Mozilla and OpenOffice.org sites once operating system installation was completed. This was tried for Firefox, and on trying to launch the program errors were reported about library incompatibility. Thus the programs on the Fedora installation CDs were installed, and updated as described below.
'Out of the box', the sound and network hardware was detected correctly. The serial ATA drive did not seem to present any problems. The installation of the DVD / CD drive does not seem to be perfect, however. It comes up in the user desktops as a CD-ROM icon and refuses to mount. Adding a new device, as a DVD-ROM allows the drive to be accessed, and everything works normally. The drive currently shows up as hda. The flat panel display was correctly detected and was set to 1280x1024, millions of colours.
Bringing the installation up to date
After installing the operating system the red update icon was flashing, indicating updated packages were available to download and install. Clicking the icon brought up a graphical tool which showed a list of the packages that had been updated, allowing them to be selected for download and installation. All packages were selected, and the computer was left alone for a while to get on with the process.
This process was not as smooth as it might have been, and the installer hung on a few occasions necessitating a restart of the procedure. Fortunately the packages were saved to disk during the download, so nothing was lost when the procedure was restarted. Eventually all the packages were successfully installed, the only strange thing being that the computer seems to have ended up with the SMP version of the kernel. This appears to be because the boot loader (GRUB) boots the last kernel to be installed - and that was the SMP kernel as 'all packages' were selected for download and installation. (Note The SMP kernel is, in fact, the best kernel option - see the note below and ignore the following). The boot loader configuration file:
/boot/grub/grub.conf
was examined and found to have four boot entries; the SMP and normal versions of the updated kernel followed by the SMP and normal versions of the original kernel. The line that determines which kernel boots by default was set to:
default=0
which corresponded to the first entry - the SMP version of the updated kernel. The next entry in the configuration file was the updated version of the normal kernel, so changing the line that determines which kernel boots by default to:
default=1
caused the desired kernel to be booted by default. Care must be taken not to make any typos when editing this file as errors may make the system unbootable.
A day or two after writing the above, Andrew Preater pointed out that as the processor fitted employs Hyper-Threading Technology, the SMP kernel was in fact the best one to use. Hyper-Threading Technology is essentially a way of utilising processor core 'dead' time to execute two threads simultaneously on the same processor core, making the system appear as a dual processor system to the outside world. For more details see 'Dual Processors, Hyper-Threading Technology, and Multi Core Systems' by Intel, and also Intel Hyper-Threading on Linux: Fact or Myth" for a Linux - oriented view of the technology.
In view of this the system has been returned to using the SMP kernel, and the SMP version of the wireless networking card driver installed.
Installing Other Software
Wireless Card Driver (Netgear WG311TFS)
After the installation of the WG311T wireless network card detailed above, the machine was rebooted. There was no mention of the new hardware in the boot procedure or in the Fedora network management tool. The card was, however detected by the PCI system as reported by the information screens in the KDE Control Centre.
The Madwifi drivers were downloaded in .rpm form from http://atrpms.net/dist/fc3/madwifi/ and installed. Note that the .rpm installed must match the kernel currently installed - if the kernel is upgraded, upgrade the driver to match!
The machine was again rebooted and this time the Kudzu hardware detection system detected the wireless card and presented a series of screens to allow the card to be configured. After the system had rebooted, the Fedora network configuration tool was launched and the card was now listed and could be further configured. As no wireless network was available on site, the card was disabled for future use.
Epson CX3600 Drivers
I generally use Epson printers and scanners as Epson have supported the Linux operating system for some time. The Epson CX3600 is an all - in - one printer, scanner and photocopier using individual ink cartridges for each colour and for black. On plugging the unit into the usw, the printer part was detected, and a driver installer launched, but the scanner part was ignored.
Printer
The nearest printer driver to the CX3600 supplied with the stock Fedora Core 3 installation was for the CX3200, and this did not work with the CX3600. However, a driver for Fedora Core 2 is available from the Avasys Download Service for Linux. The driver is available as source and as an rpm. The source package was tried first, but would not link, failing to find some symbol or other. Thus the rpm was downloaded, and installed by issuing the following command as root:
rpm -i pips-scx3500_3600s-cups-2.6.2-2.i386.rpm
and the following output was returned:
Install Message > Described entry of SCX3500_3600S in services.
Install Message > Backup file is /etc/services.bak.
Install Message > Start /usr/local/EPKowa/SCX3500_3600S/setup to change setup.
The setup program was launched by entering
/usr/local/EPKowa/SCX3500_3600S/setup
and suitable answers were given to the text dialogues given to set up the paper size, etc. The CUPS printer management window was then opened by entering:
http://localhost:631/
in Firefox with the intention of adding the printer to the system. In the event it was discovered that the setup program had already done this, so all that remained was to set up a couple of things such as default paper size. The test page was then printed satisfactorily, as were test pages from a few applications.
Scanner
An attempt was made to use the scanner by launching the GIMP graphics program and trying the scanner acquire function. This launched SANE, which could not find a scanner driver for the unit. A little searching found a posting on Linux Printing by Jacobo Tarrio, which outlined a method of getting the scanner going.
The file:
/etc/sane.d/epson.conf
was opened and the line
usb
was changed to
usb 0x4b8 0x80e
Then the file
/etc/hotplug/usb/libsane.usermap
was opened and the following was appended to the end of the file:
# Epson Corp.|Stylus CX3600
libusbscanner 0x0003 0x04b8 0x080e 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000
The machine was then rebooted, although restarting the hotplugging system would suffice. On restarting the GIMP and trying to scan, the SANE backend now found the scanner, and images could be scanned in the normal manner.
VLC
VLC (initially VideoLAN Client) is a highly portable multimedia player for various audio and video formats. It can also be used as a server to stream in unicast or multicast in IPv4 or IPv6 on a high-bandwidth network.
The first attempt at installing this software was performed by downloading the Fedora Core 3 rpms from the Videolan download page for Fedora binaries and carrying out the installation procedure outlined on the page. This did not work successfully, due to the failed library dependencies, so another procedure was tried.
A page was found on the Fedora Forum that outlined the following procedure for downloading VLC from the FreshRPMs repository using yum:
To enable downloading from the FreshRPMs repository, create a file with the following contents:
[freshrpms]
name=FreshRPMS - $basearch - Base
baseurl=http://ayo.freshrpms.net/fedora/linux/$releasever/$basearch/freshrpms
enabled=1
gpgcheck=1
and save it as:
/etc/yum.repos.d/freshrpms.repo
Then issue the following command in a terminal window to import the GPG key for the repository:
rpm --import http://freshrpms.net/packages/RPM-GPG-KEY.txt
VLC may now be downloaded and installed by issuing the following command:
yum install videolan-client
Yum performed the download and installation with no problem. VLC performs very well, and on this setup gives some of the best computer video playback I have seen.
Music Players
Disclaimer
This information is published in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Again it is stressed that the procedures in this section worked for me, but may not work for you. Proceed at your own risk.
Introduction
The main criteria for selecting a music player are Linux and Ogg Vorbis compatibility. One of the best players on the market at the present time seems to be the iFP 700 series from iRiver. The unit is produced with flash memory ranging from 256MB to 1GB. The unit is compact and lightweight, and comes with case and connecting cable included.
One of my daughters decided to buy an iPod mini anyway, so ways and means of connecting this into the system had to be devised.
iRiver iFP 790
The iriver iFP 790 is a compact, lightweight music player using flash memory (Fig 17). It has the big advantage of being able to play Ogg Vorbis (.ogg) music files which we use extensively.
Click thumbnail to enlarge
Fig. 19
As supplied, the iFP 790 is configured to operate with a management program, but unfortunately no Linux version is produced at the present time. This is not a problem, as the iFP 790 may be configured to look like a UMS device. This involves changing the firmware in the device to that contained in the file ifp790eu-ums129.zip. The procedure is quite straightforward and is described in detail on the iRiver web site.
Once the iFP 790 is configured to operate as a UMS device, it may be plugged into any USB port of the computer. It will be detected by the system, and the HAL daemon will automatically make a corresponding addition to fstab. Thus to use the device, it remains to create an icon on the desktop to represent it.
To add or delete tracks from the device, merely click on the device to mount it and open a Konqueror window to show the device filesystem. Open another Konqueror window and browse to your music files, then drag and drop files as desired.
iPod Mini
The iPod mini is now well enough known to need no introduction from me. The unit sports a 4GB or a 6GB internal drive, enough for many people's entire music collection. It is marred, however, by not supporting many popular music file formats such as Ogg Vorbis and Flac. But the pink one is very pink!
Connecting to the computer
Plugging the iPod into the computer was tried with both the USB and 1394 ports. The USB port responded immediately with the iPod immediately diplaying the 'Do not Disconnect' notice. With the 1394 port, the iPod battery started charging, but the device was not seen by the HAL daemon. As the USB connection appears to work well enough for now, the 1394 connection will be persued at a later date.
A new hard disk device icon was made on the desktop, and connected to the iPod device, which was visible in the list of drop down options. Clicking this opened Konqueror, allowing all the files on the iPod to be browsed.
Managing the iPod
Unlike the iFP 790, where files can just be placed in the device memory, the iPod requires playlists to be generated to indicate the position of files on the device. Fortunately several applications have been written to do this under Linux, and the one chosen in this instance was gtkpod.
Making the iPod Let Go
After a downloading session, the iPod mini may be unmounted like any other storage device under Linux. Doing this, however, does not cause the iPod to stop displaying the 'Do not Disconnect' message. After a bit of poking around, it was found that issuing an 'eject' command to the iPod after unmounting it would do the trick. Unfortunately this command needs root priviliges to run, so a wrapper was written to enable eject to be run as root by any user. Here is the listing of the program, called iPodEject. The program should be compiled with gcc, copied (as root) to /usr/bin and then the permissions should be changed to 4711.
It is necessary to unmount the iPod before ejecting it, so a shell script was used to call umount before ipodeject:
#!/bin/sh
umount /media/AM_S_IPOD
ipodeject
The device name '/dev/sdf2' and mount point '/media/AM_S_IPOD' used in the above program and script are the ones allocated by Fedora Core 3 when the iPod is plugged into the USB port.
The shell script was associated with an icon on the desktop, so the iPod could be unmounted and ejected with a single click.
A further script was produced to run gtkpod, followed by the iPod unmounting and ejecting script:
#!/bin/sh
/usr/bin/gtkpod
/home/user/.umountipod
This script was associated with a further desktop icon for easy access.
Rockbox
All the previously noted objections to the iPod were removed on the discovery of Rockbox. Rockbox is a replacement firmware for many current models of portable digital music players, including the iPod Mini. Installation is quite straightforward, and detailed on the Rockbox web site. Once Rockbox is installed, there is no need for programs like Gtkpod to load music into the device - it may simply be connected like a USB flash drive and files copied by drag and drop. Ogg Vorbis encoded files sound excellent using this setup.
Transferring Data
One of my daughters had already accumulated several gigabytes of multimedia files on a borrowed laptop. These files were readily transferred to the USW using the Samba tools to temporarily mount the laptop's file system on the USW. Both machines were plugged into the office LAN, and the 'C' drive on the laptop was made available for sharing. A directory 'bar' was created in the home directory of user 'foo', and the laptop's file system was mounted here with a command of the type:
mount -t smbfs //computername/C$ /home/foo/bar/ -o username="laptop user",password=laptoppassword,uid=foo,gid=foo,rw,workgroup=WORKGROUP
The files can then be transferred by drag and drop between two Konqueror windows, or by using the standard Unix copy command (cp). It was found that file transfer was somewhat slow, with a lot of network clashing, but this seemed to be a reaction with the local DHCP server, and unplugging this temporarily from the LAN allowed the transfers to proceed at full speed.
Tweaks
Default Window Manager
We are used to the KDE window manager, but Fedora opens Gnome by default. It is not obvious how to change this, however, after scratching around it was found that the command
switchdesk kde
issued from a command window in the account in question does the trick.
OpenOffice.org Default Paper Size
OpenOffice.org by default opens a new document on a 'Letter' sized sheet of paper. This needs changing to the A4 size used by most of the world other than North America, and the configuration file that must be edited is in a slightly different place under Fedora. Look in
/usr/lib/ooo1.1/share/psprint/psprint.conf
and change 'Letter' to 'A4'.
Maintenance
Cleaning the Processor Heatsink and Fan
|
Click thumbnail to enlarge |
||
|
|
|
|
|
Fig. 20 |
Fig. 21 |
Fig. 22 |
After several months' use, the prototype USW would occasionally display a warning that the processor was running hot. On investigation it was found that a felt - like layer of dust had formed on top of the processor heatsink, underneath the processor fan. Removing this dust with a soft brush and vacuum cleaner restored operation to normal.
In Conclusion
This little project has given rise to a very nice machine indeed. It is fast and responsive, and handles multimedia very well. Three examples have been built to date.
Thanks
Linux Compatible
Fedora Forum
Linux Printing.org
Specification
| CPU: | Intel P4 up to 3.6 GHz (Prescott) |
| CPU Socket: | LGA775 |
| FSB: | 800/533 MHz |
| North Bridge: | Intel 915G |
| South Bridge: | ICH6 |
| Memory: | 4 x DIMM - DDR 400/333 - Support max. 4GB |
| Graphics: | Intel Media Accelerator 900 (82915G) |
| Audio: | Intel 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller |
| : | : |
| : | : |
| Motherboard: | P5GD1VMX |
| : | : |
| : | : |
| : | : |
Pundit PH-3 User's Manual
Pundit PH-3 Processor Support
lspci dump:
test@amelie:~$ lspci
00:00.0 Host bridge: Intel Corporation 915G/P/GV/GL/PL/910GL Express Memory Controller Hub (rev 0e)
00:02.0 VGA compatible controller: Intel Corporation 82915G/GV/910GL Express Chipset Family Graphics Controller (rev 0e)
00:02.1 Display controller: Intel Corporation 82915G Express Chipset Family Graphics Controller (rev 0e)
00:1c.0 PCI bridge: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 (rev 03)
00:1c.1 PCI bridge: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 2 (rev 03)
00:1c.2 PCI bridge: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 3 (rev 03)
00:1c.3 PCI bridge: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 4 (rev 03)
00:1d.0 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (rev 03)
00:1d.1 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (rev 03)
00:1d.2 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (rev 03)
00:1d.3 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (rev 03)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev d3)
00:1e.2 Multimedia audio controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (rev 03)
00:1f.0 ISA bridge: Intel Corporation 82801FB/FR (ICH6/ICH6R) LPC Interface Bridge (rev 03)
00:1f.1 IDE interface: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (rev 03)
00:1f.2 IDE interface: Intel Corporation 82801FB/FW (ICH6/ICH6W) SATA Controller (rev 03)
00:1f.3 SMBus: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (rev 03)
01:04.0 FireWire (IEEE 1394): Texas Instruments TSB43AB22/A IEEE-1394a-2000 Controller (PHY/Link)
01:08.0 Ethernet controller: Intel Corporation 82562ET/EZ/GT/GZ - PRO/100 VE (LOM) Ethernet Controller (rev 03)
01:0b.0 Ethernet controller: Atheros Communications, Inc. AR5006X 802.11abg NIC (rev 01)
Endnotes
13 June 2005 - 1st Draft
16 June 2005 - Add wireless network card installation
16 June 2005 - Add Grub configuration
17 June 2005 - Add wireless network card software installation
20 June 2005 - Add printer and scanner software installation
20 June 2005 - Add conclusions
24 June 2005 - Correct section on kernel choice
24 June 2005 - Add mention of WinTV-PVR-150MCE l.p.
19 September 2006 - Add mention of Rockbox firmware for iPod
11 December 2006 - Add sections describing new build
15 December 2006 - Reformat using css
06 January 2007 - Add maintenance section
13 January 2007 - Add section on Kubuntu wireless networking
04 February 2007 - Add section on using Adept through a proxy firewall
04 February 2007 - Add section on installing Flash 9 plugin
04 February 2007 - Add section on installing Skype
11 February 2007 - Add section on Simply Phone
31 March 2007 - Add section on changing default browser/email under Kubuntu
04 September 2007 - Add sections on TV tuner card
The title photo was taken with a Kodak DC240, downloaded with gPhoto and retouched and resized using the GIMP.
Also available in OpenDocument format (1463932 bytes).
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
All trademarks and tradenames are the property of their respective manufacturers/owners.
Copyright © 2005 - 2007 Pete Harlow All Rights Reserved
| Catnip Contents | Projects | OpenDocument |
