Gallium: the old laptop, final version.

As you undoubtedly have already read in the other sections covering this marvelous laptop, I has great plans with it. And as with all other great plans: they failed. My great expectations used to be focused on: More memory, Kill the swap, Replace the mechanical harddisk drive by a solid state disk, Run it with a wireless NIC, Use a reasonably modern distribution.

Parts of it were implemented. And then I came to my senses. The trials with the swapless Linux system were rather unsatisfactory. When the system runs out of memory (which is rather quickly, it starts killing applications. And the first one to go is the one eating up the most memory. Which, in most cases, is the webbrowser.
I didn't like that. Gallium is not slow, but fast it is neither. Now, an SSD woth a swap partition on it, may not be a too grand idea. Plus: the original HDD of Gallium was rather noisy. But with the current 40 GB disk it is totally silent. So I gave up on the SSD part and decided to make one final installation: with a silent HDD. The machine in a nutshell:

Property Value Unit
Brand Dell CPi A366XT  
Processor Mobile Intel Pentium II  
Frequency 366 Megahertz
Linux Slackware 11  
RAM 256 Megabytes
Drives /dev/hda = 40 GB
/dev/hdc = CD ROM
/dev/hdc = Mediabay
/dev/fd0 = FDD (on a separate cable or in the mediabay)
 
Ethernet TP Link WN510G at 54
Xircom RBE 100 at 100
Mbps
Mbps
IP address Via DHCP from Fonera
Or 192.168.56.31
 
Running since December 2008  

Below, you will find my experiences with Gallium and the contents of the most important files. These files are important for all computers and the settings are extremely hardware dependent. Read the files and use the things you want to try out on your machine. These settings are meaningful to you, ONLY if you have another Dell Lattitude CPi A366 XT. In all other cases: consider these lines of text as guidelines or reasons for experimentation.

Slackware 11

Slackware 11 used one of the last 2.4 kernels. It has version 2.4.33 as default and you may opt to install a 2.6 kernel as well. I chose for the matured 2.4 kernel. It is recent enough for the MadWiFi driver (which needs at least 2.4.22), it has GTK+2 libraries so it's good enough for the latest Seamonkey.

The wireless card

I definitely wanted to have this laptop disconnected from the internet via a UTP able. I chose for the TP-Link TL-WN510G. Installation was easy thanks to the documentation included in the MadWifi package. The MadWiFi driver seems to work with all true 802.11 compliant NIC's. So get your copy at http://www.madwifi.org and see how far you come. I came a long way!

The trick is to download the madwifi driver, extract it with

   tar zxf madwifi-version.tar.gz
   
and then installing it by typing on the command line:
	make
	make install
	modprobe ath_pci
   
It will create lots of small loadable modules for various system tasks. If your card is based on a true Atheros chipset, the devices ath0 and wifi0 will be setup, as you can check by entering the command 'ifconfig' (being root).

If this works, add this line to either of your /etc/rc.d/rc.local or /etc/rc.d/rc.modules.conf files.

Together with Alien Bob I got the WLAN working with my Fonera (running with WPA2). Please DO read this webpage here, even if you already KNOW how to do it: http://alien.slackbook.org/dokuwiki/doku.php?id=slackware:network . Follow this page and you're home free. One advise: do NOT delete the file /etc/rc.d/rc.wireless.conf. If you do the ath0 device is made but not started. You will NOT get an IP address. As soon as the file is back in position, everything works just fine (although I did get some warnings).

A big hand for Alien Bob

(who is practically my neighbour, as it turned out to be).

Power management

A laptop is portable. It is a good idea to have the laptop keep track of it's batteries. This is done with the ACPI and APM modules. The funny thing is: if you type 'apm' on the command line, it gives full status in ASCII text.

As usual you need to add the line with the apm and acpi commands to the right file (/etc/rc.d/rc.local). Today I discovered (with 'acpi -v') that Gallium is too old for ACPI so only QAPM is what remains.

The new hard disk

In fact, this is a second hand hard disk. I tried to buy a new 20 GB disk at one of my favorite suppliers. These were sold out so I went for the used 40 GB disk. Have not regretted it so far. The disk is fast and silent. What else could you want?

Anyway, this new disk is partitoned as follows:

For the time being this will be the setup. Perhaps later another distribution may be added. Or my PlovOS. If ever.

No swap?

I learned from this: No 'No swap' for me anymore. So I added two swap partitions. The 600 MB swap partition is always used. The 400 MB extra swap partition may be added if required.

Bad idea. As long as one swap partition is used, nothing spectacular to mention. But when the system needs more resources due to some memory hungry programs, the second swap partition is taken into service and then things get hairy. After a few minutes, the system starts to become slow by copying data from swap1 to swap2 and back, via memory. And it needs to free uo memory by swapping the contents to swapspace...
This will lock up your system, or at least bring it to a painstakingly slow operation. So I

/etc/rc.d/rc.local

#!/bin/sh
#
# /etc/rc.d/rc.local:  Local system initialization script.
#
# Put any local startup commands in here.  Also, if you have
# anything that needs to be run at shutdown time you can
# make an /etc/rc.d/rc.local_shutdown script and put those
# commands in there.

/sbin/modprobe ath_pci
/sbin/insmod apm
   

/etc/rc.modules.conf

	Unchanged
   

/etc/fstab

/dev/hda1        swap             swap        defaults         0   0
/dev/hda2        /                reiserfs    defaults         1   1
/dev/hda5        /home            reiserfs    defaults         1   2
/dev/cdrom       /mnt/cdrom       auto        noauto,owner,ro  0   0
/dev/fd0         /mnt/floppy      auto        noauto,owner     0   0
devpts           /dev/pts         devpts      gid=5,mode=620   0   0
proc             /proc            proc        defaults         0   0
   

/etc/rc.d/rc.inet1.conf

# /etc/rc.d/rc.inet1.conf
#
# This file contains the configuration settings for network interfaces.
# If USE_DHCP[interface] is set to "yes", this overrides any other settings.
# If you don't have an interface, leave the settings null ("").

# You can configure network interfaces other than eth0,eth1... by setting
# IFNAME[interface] to the interface's name. If IFNAME[interface] is unset
# or empty, it is assumed you're configuring eth<interface>.

# Several other parameters are available, the end of this file contains a
# comprehensive set of examples.

# =============================================================================

# Config information for eth0:
IPADDR[0]="192.168.56.31"
NETMASK[0]="255.255.255.0"
USE_DHCP[0]=""
DHCP_HOSTNAME[0]=""

# Default gateway IP address:
GATEWAY="192.168.56.99"

# Change this to "yes" for debugging output to stdout.  Unfortunately,
# /sbin/hotplug seems to disable stdout so you'll only see debugging output
# when rc.inet1 is called directly.
DEBUG_ETH_UP="no"

## Example config information for wlan0.  Uncomment the lines you need and fill
## in your info.  (You may not need all of these for your wireless network)

IFNAME[4]="ath0"
USE_DHCP[4]="yes"
WLAN_ESSID[4]=argon
WLAN_MODE[4]=Managed
WLAN_RATE[4]="54M auto"
WLAN_CHANNEL[4]="auto"
WLAN_IWPRIV[4]="AuthMode=WPAPSK EncrypType=TKIP 
	WPAPSK=7B1ABEEB5D197741923ED26727569C365E31212096A0EAFAD563B268BAD01CAF TxRate=0"
WLAN_WPA[4]="wpa_supplicant"
WLAN_WPADRIVER[4]="madwifi"

## Some examples of additional network parameters that you can use.
## Config information for wlan0:
#IFNAME[4]="wlan0"              # Use a different interface name nstead of
                                # the default 'eth4'
#HWADDR[4]="00:01:23:45:67:89"  # Overrule the card's hardware MAC address
#MTU[4]=""                      # The default MTU is 1500, but you might need
                                # 1360 when you use NAT'ed IPSec traffic.
#DHCP_KEEPRESOLV[4]="yes"       # If you dont want /etc/resolv.conf overwritten
#DHCP_KEEPNTP[4]="yes"          # If you don't want ntp.conf overwritten
#DHCP_KEEPGW[4]="yes"           # If you don't want the DHCP server to change
                                # your default gateway
#DHCP_IPADDR[4]=""              # Request a specific IP address from the DHCP
                                # server
#WLAN_ESSID[4]=DARKSTAR         # Here, you can override _any_ parameter
                                # defined in rc.wireless.conf, by prepending
                                # 'WLAN_' to the parameter's name. Useful for
                                # those with multiple wireless interfaces.
#WLAN_IWPRIV[4]="AuthMode=WPAPSK EncrypType=TKIP WPAPSK=thekey TxRate=0"
                                # Some drivers require a private ioctl to be
                                # set through the iwpriv command. If more than
                                # one is required, you can place them in the
                                # IWPRIV parameter (space-separated, see the
                                # example).
   

/etc/rc.d/rc.wireless.conf

# Wireless LAN adapter configuration
#
# Theory of operation : 
#
# The script attempts to match a block of settings to the specific wireless
# card inserted, the *first* block matching the card is used.
# The address format is "hwaddr", with * as a wildcard.
# 'hwaddr' is the unique MAC address identifier of the wireless card.
# The MAC address is usually printed on the card, or can be found via ifconfig.
# Some examples here use only half of the MAC address with a wildcard to
# match a whole family of cards...
#
# All the Wireless specific configuration is done through the Wireless
# Extensions, so we will just call 'iwconfig' with the right parameters
# defined below.
# Of course, you need to have iwconfig installled on your system.
# To download iwconfig, or for more info on Wireless Extensions :
#	http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html
#
# Note : you don't need to fill all parameters, leave them blank, in most
# cases the driver will initialise itself with sane defaults values or
# automatically figure out the value... And no drivers do support all
# possible settings...
#
# -- This is a modified '/etc/pcmcia/wireless.opts' script --
# -- I added sections for Prism/GT and Atheros based cards --
# --    (supported by the prism54 and madwifi drivers)     --
# --              16/sep/2004 * Eric Hameleers             --
#

VERBOSE=1

case "$HWADDR" in

## NOTE : Comment out the following five lines to activate the samples below ...
## --------- START SECTION TO REMOVE -----------
## Pick up any Access Point, should work on most 802.11 cards
*)
    INFO="Any ESSID"
    ESSID="any"
    ;;
## ---------- END SECTION TO REMOVE ------------


# Here are a few examples with a few Wireless LANs supported...
# The matching is done on the first 3 bytes of the MAC address

# SMC2835W EZ Connect g 2.4GHz 54 Mbps Wireless Cardbus Adapter 

#00:19:E0:7A:80:4A)
#	INFO="Fonera"
#	ESSID="Xenon"
#	KEY="8704009978"
#	;;

00:04:E2:*)
    INFO="SMC2835W EZ Connect g 2.4GHz 54 Mbps Wireless Cardbus Adapter"
    # ESSID (extended network name) : My Network, any
    ESSID="any"
    # NWID/Domain (cell identifier) : 89AB, 100, off
    NWID=""
    # Operation mode : Ad-Hoc, Managed, Master, Repeater, Secondary, auto
    MODE="Managed"
    # Frequency or channel : 1, 2, 3 (channel) ; 2.422G, 2.46G (frequency)
    FREQ=""
    CHANNEL="7"
    # Sensitivity (cell size + roaming speed) : 1, 2, 3 ; -70 (dBm)
    SENS=""
    # Bit rate : auto, 1M, 11M,54M
    RATE="auto"
    # Encryption key : 4567-89AB-CD, s:password
    # Example for 40-bit encryption:
    #KEY="883e-aa67-21 [1] key 5501-d0da-87 [2] key 91f5-3368-6b [3] key 2d73-31b7-96 [4]"
    # Example for 104-bit encryption (aka 128-bit WEP):
    #KEY="d5ad2f05abd048ecf10b1c80c7"
    KEY=""
    # RTS threshold : off, 500
    RTS=""
    # Fragmentation threshold : off, 1000
    FRAG=""
    # Other iwconfig parameters : power off, ap 01:23:45:67:89:AB
    IWCONFIG=""
    # iwspy parameters : + 01:23:45:67:89:AB
    IWSPY=""
    # iwpriv parameters : set_port 2, set_histo 50 60
    IWPRIV=""
;;

# Multiband Atheros based 802.11a/b/g universal NIC cards
00:05:4E:*)
    INFO="Multiband Atheros based 802.11a/b/g universal NIC"
    # ESSID (extended network name) : My Network, any
    ESSID=""
    # Operation mode : Ad-Hoc, Managed, Master, Repeater, Secondary, auto
    MODE="Managed"
    # Frequency or channel : 1, 2, 3 (channel) ; 2.422G, 2.46G (frequency)
    FREQ=""
    CHANNEL="7"
    # Bit rate : auto, 1M, 11M,54M
    RATE="auto"
    # Encryption key : 4567-89AB-CD, s:password
    # Example for 40-bit encryption:
    #KEY="883e-aa67-21 [1] key 5501-d0da-87 [2] key 91f5-3368-6b [3] key 2d73-31b7-96 [4]"
    # Example for 104-bit encryption (aka 128-bit WEP):
    #KEY="d5ad2f05abd048ecf10b1c80c7"
    KEY=""
    # Other iwconfig parameters : power off, ap 01:23:45:67:89:AB
    IWCONFIG=""
    # iwspy parameters : + 01:23:45:67:89:AB
    IWSPY=""
    # iwpriv parameters : set_port 2, set_histo 50 60
    IWPRIV=""
    ;;

# Lucent Wavelan IEEE (+ Orinoco, RoamAbout and ELSA)
# Note : wvlan_cs driver only, and version 1.0.4+ for encryption support
00:60:1D:*|00:02:2D:*)
    INFO="Wavelan IEEE example (Lucent default settings)"
    ESSID="Wavelan Network"
    MODE="Managed"
    #RATE="auto"
    KEY="s:secu1"
    # To set all four keys, use :
    #KEY="s:secu1 [1] key s:secu2 [2] key s:secu3 [3] key s:secu4 [4] key [1]"
    # For the RG 1000 Residential Gateway: The ESSID is the identifier on
    # the unit, and the default key is the last 5 digits of the same.
    #ESSID="084d70"
    #KEY="s:84d70"
    ;;

# Cisco/Aironet 4800/3x0
# Note : MPL driver only (airo/airo_cs), version 1.3 or later
00:40:96:*|00:02:8A:*)
    INFO="Cisco/Aironet example (Cisco default settings)"
    ESSID="any"
    # To set all four ESSID, use iwconfig v21 and the same trick as above
    MODE="Managed"
    #RATE="11M auto"
    #KEY="d5ad2f05abd048ecf10b1c80c7"
    KEY="off"
    ;;

# Samsung MagicLan (+ some other PrismII cards)
# Note : Samsung binary library driver, version 1.20 or later
00:00:F0:*|00:02:78:*)
    INFO="Samsung MagicLan example (Samsung default settings)"
    ESSID="any"
    MODE="Managed"
    CHANNEL="4"
    RATE="auto"
    #KEY="883e-aa67-21 [1] key 5501-d0da-87 [2] key 91f5-3368-6b [3] key 2d73-31b7-96 [4]"
    #IWCONFIG="power on"
    ;;

# Raytheon Raylink/WebGear Aviator2.4
# Note : doesn't work yet, please use for debugging only :-(
00:00:8F:*|00:00:F1:*)
    INFO="Raylink/Aviator2.4 example (Aviator default ad-hoc setting)"
    ESSID="ADHOC_ESSID"
    MODE="Ad-Hoc"
    RATE="auto"
    IWPRIV="set_framing 1"
    ;;

# Old Lucent Wavelan
08:00:0E:*)
    INFO="Wavelan example (Lucent default settings)"
    NWID="0100"
    MODE="Ad-Hoc"
    FREQ="2.425G"
    KEY="off"
    ;;

# Netwave (Xircom Netwave/Netwave Airsurfer)
00:80:C7:*)
    INFO="Netwave example (Netwave default settings)"
    NWID="100"
    KEY="00"
    ;;

# Proxim RangeLan2/Symphony (what is the MAC address ???)
XX:XX:XX:*)
    INFO="Proxim RangeLan2/Symphony example"
    NWID="0"
    MODE="Master"
    CHANNEL="15"
    IWPRIV="setsubchan 1"
    ;;

# No Wires Needed Swallow 550 and 1100 setting (what is the MAC address ???)
XX:XX:XX:*)
    INFO="NWN Swallow example"
    ESSID="session"
    KEY="0000-0000-00 open"
    ;;

# Symbol Spectrum24 setting (what is the MAC address ???)
XX:XX:XX:*)
    INFO="Symbol Spectrum24 example"
    ESSID="Essid string"
    ;;

# Generic example (decribe all possible settings)
*)
    INFO="Fill with your own settings..."
    # ESSID (extended network name) : My Network, any
    ESSID=""
    # NWID/Domain (cell identifier) : 89AB, 100, off
    NWID=""
    # Operation mode : Ad-Hoc, Managed, Master, Repeater, Secondary, auto
    MODE=""
    # Frequency or channel : 1, 2, 3 (channel) ; 2.422G, 2.46G (frequency)
    FREQ=""
    CHANNEL=""
    # Sensitivity (cell size + roaming speed) : 1, 2, 3 ; -70 (dBm)
    SENS=""
    # Bit rate : auto, 1M, 11M
    RATE=""
    # Encryption key : 4567-89AB-CD, s:password
    KEY=""
    # RTS threshold : off, 500
    RTS=""
    # Fragmentation threshold : off, 1000
    FRAG=""
    # Other iwconfig parameters : power off, ap 01:23:45:67:89:AB
    IWCONFIG=""
    # iwspy parameters : + 01:23:45:67:89:AB
    IWSPY=""
    # iwpriv parameters : set_port 2, set_histo 50 60
    IWPRIV=""
    ;;

esac
   

/etc/wpa_supplicant.conf

# See /usr/doc/wpa_supplicant-0.5.7/wpa_supplicant.conf.sample
# for many more options that you can use in this file.

# This line enables the use of wpa_cli which is used by rc.wireless
# if possible (to check for successful association)

ctrl_interface=/var/run/wpa_supplicant

# By default, only root (group 0) may use wpa_cli

ctrl_interface_group=0
eapol_version=1
ap_scan=1
fast_reauth=1

# WPA protected network, supply your own ESSID and WPAPSK here:

network={
  scan_ssid=0
  ssid="argon"
  proto=WPA RSN
  key_mgmt=WPA-PSK
  pairwise=CCMP TKIP
  group=CCMP TKIP WEP104 WEP40
# psk="1234567890"
  psk=500bdd27cc1d3e71ce595ccb0bc9ca5ca9326220db0f6305aef219b0391bf416
}

# Plaintext connection (no WPA, no IEEE 802.1X),
# nice for hotel/airport types of WiFi network.
# You'll need a recent version of wireless-tools for this!
network={
  ssid="any"
  key_mgmt=NONE
  priority=2
}
   

/etc/lilo.conf

# LILO configuration file
# generated by 'liloconfig'
#
# Start LILO global section

boot = /dev/hda

#compact        # faster, but won't work on all systems.

prompt
timeout = 50

# VESA framebuffer console @ 1024x768x256

vga = 773

# Normal VGA console
# vga = normal
# VESA framebuffer console @ 1024x768x64k
# vga=791
# VESA framebuffer console @ 1024x768x32k
# vga=790
# VESA framebuffer console @ 1024x768x256
# vga=773
# VESA framebuffer console @ 800x600x64k
# vga=788
# VESA framebuffer console @ 800x600x32k
# vga=787
# VESA framebuffer console @ 800x600x256
# vga=771
# VESA framebuffer console @ 640x480x64k
# vga=785
# VESA framebuffer console @ 640x480x32k
# vga=784
# VESA framebuffer console @ 640x480x256
# vga=769
# ramdisk = 0     # paranoia setting
# End LILO global section

# Linux bootable partition config begins
image = /boot/vmlinuz
  root = /dev/hda2
  label = Slackware11
  read-only # Non-UMSDOS filesystems should be mounted read-only for checking
# Linux bootable partition config ends
   

/etc/hosts

#
# hosts		This file describes a number of hostname-to-address
#		mappings for the TCP/IP subsystem.  It is mostly
#		used at boot time, when no name servers are running.
#		On small systems, this file can be used instead of a
#		"named" name server.  Just add the names, addresses
#		and any aliases to this file...
#
# By the way, Arnt Gulbrandsen <agulbra@nvg.unit.no> says that 127.0.0.1
# should NEVER be named with the name of the machine.  It causes problems
# for some (stupid) programs, irc and reputedly talk. :^)
#

# For loopbacking.
127.0.0.1		localhost
192.168.56.2		helium.fruttenboel	helium
192.168.56.3		lithium.fruttenboel	lithium
192.168.56.4		beryllium.fruttenboel	beryllium
192.168.56.7		nitrogen.fruttenboel	nitrogen
192.168.56.8		oxygen.fruttenboel	oxygen 

192.168.56.31		gallium.fruttenboel	gallium
192.168.56.80		mercury.fruttenboel	mercury 

192.168.56.54		xenon.fruttenboel	xenon
192.168.56.99		proton.fruttenboel	proton

192.168.10.1		fonera.fruttenboel	fonera

# 192.168.56.		.fruttenboel 
# 192.168.56.		.fruttenboel 
# 192.168.56.		.fruttenboel 
# 192.168.56.		.fruttenboel 
# 192.168.56.		.fruttenboel 


# End of hosts.
   

Synopsis

OK, now I told just about anything that is specific and that can be hairy when your machine will not boot upto an inlog prompt. If your system uses a comparable Linux, these settings might help.
System settings are so machine specific that I cannot help you, unless you happen to live around the corner. If that is the case, this magic number '5012' should ring a bell. If the number is just a number to you, please find someone near your place to help you out.

Page created on 2 December 2008 and

Page equipped with FroogleBuster technology