Linux on the Toshiba Satellite M35X-S114
Author: Michael Minn
(see www.michaelminn.com for current contact info)
October 22, 2005
Describes how to set up Fedora Core 2 Linux on a Toshiba Satellite M35X-S114 notebook computer.
The following document describes how I set up Fedora Core 2 Linux on a
Toshiba Satellite M35X-S114 notebook computer. The Toshiba M35X-S114 is an
entry-level laptop manufactured in early 2005 with the following specs:
- 1.3Ghz Celeron M 350 Processor (x86 Family 6 Model 13 Stepping 8)
- 15" XGA TFT Display (1024 x 768 - 32 bit)
- Intel 82853/82855 GM/GME Graphics Controller (64MB RAM)
- 40GB TOSHIBA MK4025GAS ATA hard drive
- Matshita UJDA760 DVD/CD-RW drive (8x DVD, 24x4x24 CD-WR)
- 256MB of RAM
- 1 PCMCIA slot
- PS/2 mouse port
- Video out
- IEEE 1394 (Firewire) port
- 3 USB ports
- Intel 82801DB-ICH4 I/O Controller Hub
- Realtek RTL8139/810x Family Fast Ethernet NIC (RJ-45)
- Realtek ALC250 (rev 2) AC97 audio chip
- AC'97 Modem Controller (rev 03) with Agere SIL27 codec
- Atheros AR5005GS Wireless Network Adapter (802.11 b and g)
- No legacy parallel or serial ports
- No internal floppy
- I bought mine on sale from CompUSA for $649.99 (with $150 rebate)
All of the internal hardware is currently supported under Linux, although some
components require additional configuration or drivers.
Toshiba's frequent offerings have often involved multiple extremely similar models and
incremental (rather than revolutionary) changes from earlier models. As such,
various parts of this document may apply to a wide variety of Toshiba models.
I am providing this information to help others avoid the problems I encountered.
The definitive source for Linux laptop information is the
Linux on Laptops Page.
This document assumes some minimal UNIX/LINUX knowledge. I provide no guarantees
for any procedures stated in this document. You're more than welcome to e-mail me
if you've got a problem, but I can't guarantee a prompt or helpful reply. Like
many things in the Linux world...you're on your own. I would, however, appreciate
any errata that you can point out so I don't mislead anyone else.
2. Splitting your Windoze Partition
This machine comes with Windoze XP Home Edition preinstalled on a single
NTFS partition. Since the supplied installation CD will only contains a
ghost image to completely rebuild the drive the way it shipped from the factory,
you will have to use NTFSRESIZE and FDISK to get the existing partition resized and space
freed up for the Linux partitions.
This the most precarious and unpleasant set of tasks in Linux installation
on this machine. If you want to have a Linux-only, Windoze-free system, you
can skip this section.
Download ntfsresize:
The ntfsresize utility can be used to split an NTFS partition. Some
distributions come with ntfsresize integrated into their installers, but
Fedora does not. You should download the statically-linked binary, which
should have a link on the
ntfsresize info page.
(old link here).
Decompress the tarball (tar -zxvf) and burn ntfsresize onto a CD-ROM.
Defragment: Boot up into Windoze and run the Disk
Defragmenter to defragment your hard drive. The utility is located in
Programs -> Accessories -> System Tools -> Disk Defragmenter.
If you haven't done much on your Windoze partition, this should complete
in under five minutes. Supposedly this step is no longer necessary,
but I avoid taking unnecessary chances.
Change Boot Order: As you're rebooting, press F12. This will
allow you to select the CD-ROM as the boot device. You also have the option
of going into the PhoenixBIOS Setup Utility and moving the CD-ROM
first in boot order.
Boot Into Linux Rescue Mode: Insert the Fedora installtion CD #1
into the CD drive and reboot. When you get a boot: prompt, type
boot: linux rescue
When asked, you can skip to the command shell
Mount the ntfsresize CD: Remove the Fedora installation CD
and insert the CD you created that contains ntfsresize. Although
the kernel supports the CD drive, the device file must be created
in order to mount the CD.
sh-2.05b# mkdir /cdrom
sh-2.05b# mknod /dev/hdc b 22 0
sh-2.05b# mount /dev/hdc /cdrom
Verify Hard Drive: Verify with FDISK that Linux is seeing the hard drive.
sh-2.05b# fdisk -l /dev/hda
You should get something like this, showing the single bootable NTFS partition:
Device Boot Start End Blocks Id System
/dev/hda1 * 1 4864 39070048 7 HPFS/NTFS
Find the Split Location: Use NTFSRESIZE to find out where you can
split the partition. If everything is good, you will get a message indicating
where to split
sh-2.05b# /floppy/ntfsresize -i /dev/hda1
You could resize at 5819277312 bytes or 5820MB (freeing 34188MB)
NTFSRESIZE will warn you if there is a problem. If you plan on using your
Windoze side for anything non-trivial, you should leave some extra space
for data and new programs.
Do a Test Run:
sh-2.05b# ./ntfsresize -n -s9000M /dev/hda1
The read-only test run ended successfully.
I didn't have a problem, but if you get one, you should probably
not ignore it, or you will mess up your Windoze installation.
Resize the Partition: The -s option is the size in MB of
the new partition. You should use whatever number you got from the earlier
run of ntfsresize. You will get one additional prompt to verify you want
to continue and you should get a completion message in a minute or so.
sh-2.05b# /floppy/ntfsresize -s9000M /dev/hda1
Start FDISK: Finally, we repartition with FDISK.
Be careful here as a mistake will corrupt your hard drive, forcing you to have
to reinstall Windoze and start from the beginning.
Start fdisk and use the "p" command to list the current partitions:
sh-2.05b# fdisk /dev/hda
Command (m for help): p
Delete Windoze Partition Entry:
You should get a listing of the first and only partition: /dev/hda1. Delete it with
the "d" command. If any other partitions are listed, delete them as well.
Command (m for help): d
Recreate the Smaller Windoze Partition Entry:
Create a new primary partition for the Windoze partition you resized earlier.
It should be the same size as the resize value. Note the + before the size.
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-4864, default 1): 1
Last cylinder or +size or +sizeM or +sizeK (1-4864, default 4864): +9000M
Modify its type to NTFS (type 7) and make it the boot partition ("a" command)
Command (m for help): t
Partition number (1-4): 1
Hex code (type L to list codes): 7
Changed system type of partition 1 to 7 (HPFS/NTFS)
Command (m for help): a
Partition number (1-4): 1
Create A New Partition With Free Space:
Create a new partition for the remaining free space on the drive.
You need to create this partition, or Windoze will undo your resizing and
stick it back onto the first partition.
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (1096-4864, default 1096): (choose default)
Last cylinder or +size or +sizeM or +sizeK (1-4864, default 4864): (choose default)
Command (m for help): t
Partition number (1-4): 2
Hex code (type L to list codes): 7
Changed system type of partition 2 to 7 (HPFS/NTFS)
Verify and Write: List the partitions with the "p" command. You should see a listing
of the two partitions with the dimensions you specified. If you're satisfied,
make the committment and write the new partitions:
Command (m for help): p
Device Boot Start End Blocks Id System
/dev/hda1 * 1 1095 8795556 7 HPFS/NTFS
/dev/hda2 * 1096 4864 30274492+ 7 HPFS/NTFS
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
Reboot: CTRL ALT DELETE to reboot to Windows to check everything is right .
CHKDSK will automatically run when you reboot and Install New Devices will run at
startup to assign the new drive letter. If everything is good in Windoze, you can
move on to the installation.
The Fedora installer (Anaconda) is relatively straightforward and
should require no special concerns if you have some basic Linux knowledge.
I am including my choices here for your reference
Media check: May be advisable since you don't want to find out disk 3 has
a problem after your old OS has been blown away
Graphical installation: Works fine with this video chip
Welcome screen
Language selection - English
Keyboard configuration - U.S. English
Monitor Configuration
- Generic LCD Display 1024x768
- Horizontal 31.5-48.5kHz
- Vertical 40-70Hz
Unable to align partition properly: You can ignore this error message
Installation type: Custom gives you the most flexibility
Disk partitioning setup: Manually partition with Disk Druid
Disk setup: Assuming you have two existing partitions after splitting your
NTFS partition, you can delete /dev/hda2 and use the free space to create your
Linux partitions. My partition table is as follows. Note that I allow 1GB for
swap space (assuming 2x upgraded RAM of 512MB) and have a 1GB /exchange partition
to permit exchange of data with my Windoze side (there is no support for writing
to NTFS filesystems).
/dev/hda
/dev/hda1 ntfs 8569MB
/dev/hda2 /boot ext3 100MB
/dev/hda3 / ext3 5000MB
/dev/hda4 (extended)
/dev/hda5 swap 1024MB
/dev/hda6 /home ext3 22440MB
/dev/hda7 /exch vfat 1000MB
Boot Loader Configuration (default)
- GRUB on /dev/hda
- Default boot to Fedora Core
Network Configuration (default): eth0 with DHCP (default)
Firewall Configuration: Defaults are appropriately stiff
Additional Language Support: only English USA
Time Zone
Set root password
Package Group Selection: Your choices will vary.
About to install: Installation with the above configuration
uses disks 1-3 (not 4) and takes about 25 minutes. The "Remaining Time"
values given by the installer are bogus.
The following are some tweaks I have done to my installation to reflect my
personal preferences. Not essential, but given here for your consideration.
First User Account: The custom configuration does not include creation
of a user other than root. To preserve system security and integrity, you
should spend as little time as possible logged in as root. Therefore
a new user should be created. Log in as root and from the command line:
useradd <username>
passwd <username>
Memory Upgrade: This machine ships with 256MB of memory, of which 64MB is shared with the video chip.
A memory upgrade will improve performance dramatically, especially with memory intensive
applications like OpenOffice and Gimp. Memory can be purchased from numerous vendors online (my 256MB cost
$30) and comes on small SODIMM boards. Although the machine can accept up to 2GB, my performance is
fine with a 256MB upgrade (for a total of 512MB). The open memory slot is located in a small, vented
compartment on the bottom of the machine.
- Unplug the machine
- Remove the battery
- Remove a single screw to remove the compartment cover
- Slide the new package into the open slot - pins first
- As the pins go in, the package will want to move downward and the side clips will snap into place.
- Replace the cover and you're ready to rock
Motif Window Manager (MWM). As an old-school Unix guy, I've never found
desktops to be the most comfortable way to work. I actually prefer typing commands
rather than using the mouse to hunt and peck. Helps the carpal tunnel in my right
hand as well. However, X Windows is still useful for graphical applications and
having multiple terminal windows.
Therefore, I use the very simple Motif Window Manager instead of KDE or Gnome.
Create a .xinitrc in your home directory (/home/<username>) and type the
following lines. This creates a single terminal window, puts a clock window at
the bottom of the screen, sets the "desktop" color to blue and starts
the window manager. When you type startx, from the text login, it will start.
You can create additional windows from a popup menu when you right-click on the
desktop.
xterm &
xclock -d -update 1 -geometry +819+710 &
xsetroot -solid navy
exec mwm
Text Login. I prefer to see what's going on with my machine rather than
have the boot messages hidden behind a glitzy bitmap. Therefore, I have configured
my machine to boot in run level 3 (text mode) rather than run level 5 (X windows mode).
This will give you a command line prompt for login. The configuration above (with no
KDE or GNOME) will do this automatically, but you can do this at any time. As superuser,
edit the /etc/inittab file and change the line:
id:5:initdefault:
to
id:3:initdefault:
If you chose text login mode, you will be given a VGA login prompt when you
initially boot Linux. After you login, you type startx
to start the X Windows desktop. Be aware that the screen will go completely
black for a few seconds while X starts.
Touchpad. My personal opinion is that the touchpad is the worst
laptop innovation of the last five years. Aside from the fact they're hard to use,
I began developing significant wrist problems in the months immediately after
getting my first touchpad machine. Unfortunately, almost all laptops are equipped
with touchpads nowadays. I purchased a USB trackball mouse that largely alleviated
the wrist problems. If a supported mouse is plugged in when installing Linux, it will
probably be detected and configured during installation. However, the touchpad
will also be enabled. Input devices are located in the /dev/input dirctory and
the /dev/input/mice entry apparently aggregates all connected pointing devices.
/dev/input/mouse0 is just the touchpad and /dev/input/mouse1 is dynamically
assigned to the USB mouse. Edit your /etc/X11/xorg.conf file and change:
(reference)
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "IMPS/2"
Option "Device" "/dev/input/mice"
Option "ZAxisMapping" "4 5"
Option "Emulate3Buttons" "yes"
EndSection
To...
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "IMPS/2"
Option "Device" "/dev/input/mouse1"
Option "ZAxisMapping" "4 5"
Option "Emulate3Buttons" "yes"
EndSection
Cron Scripts. Within a few minutes of booting Linux, you may notice a
flurry of disk activity. If your system stays on for an extended period of time, you
may notice similar activity early in the morning (mine starts at 4:02AM).
A program called anacron runs system administration programs on a daily,
weekly and monthly basis. The configuration file is /etc/anacrontab runs
the script /usr/bin/run-parts, which in turn points to the directories
containing other scripts, /etc/cron.daily and /etc/cron.weekly.
makewhatis.cron can be very disk intensive, but it is helpful
for keeping the database used for the man -k or whatis commands up to date.
I deleted /etc/cron.daily/tetex.cron which deletes unused TeX fonts (since
I never use TeX). I left tmpwatch (which cleans out unused files in the
/tmp directory), and logrotate (which cleans up old system logs).
Unneeded Services. To reduce boot time, improve system performance and enhance security,
unneeded services should be turned off. chkconfig can be used to list active services and to turn
services on or off:
/sbin/chkconfig --list
/sbin/chkconfig <service> on
/sbin/chkconfig <service> off
Below is a list of things I have turned off.
sgi_fam
rpcidmapd
rpcsvcgssd
rpcgssd
messagebus (application communication)
mdmonitor (RAID)
autofs (automount)
apmd
mdmpd (device monitoring?)
cups (printer)
irqbalance (multiprocessor support)
kudzu (hardware changes)
netfs (automount network file systems)
isdn
sshd
smartd
sendmail
nfslock
gpm (some kind of mouse server)
rawdevices (needed for Oracle)
rhnsd (Red Hat network)
xinetd
GLIB / GTK 1.2: Some applications that use GLIB/GTK for their
user interface (such as xmms and xcdroast)
may fail with the following message when you try to configure them
for compilation:
*** The glib-config script installed by GLIB could not be found
*** If GLIB was installed in PREFIX, make sure PREFIX/bin is in
*** your path, or set the GLIB_CONFIG environment variable to the
*** full path to glib-config.
configure: error: *** GLIB >= 1.2.2 not installed - please install first ***
The problem is that the v2.3 glib/gtk+ development libraries are installed
but the v1.2 libraries are not installed. RPMs for these libraries are on Fedora
installation CD #2. Installing them will allow you to compile.
rpm -i /mnt/cdrom/Fedora/RPMS/glib-devel-1.2.10-12.1.1.i386.rpm
rpm -i /mnt/cdrom/Fedora/RPMS/gtk+-devel-1.2.10-29.1.1.i386.rpm
This machine uses a Realtek ALC250 (rev 2) AC97 audio chip
integrated with the Intel 82801DB-ICH4 I/O Controller Hub
and AC'97 Modem Controller (rev 03).
ALSA (Advanced Linux Sound Architecture)
has now superceded the old OSS (Open Sound System) as the Linux audio standard.
ALSA is much more robust than OSS, but also much more complicated. ALSA comes
in multiple packages and loads a significant and confusing number of modules when
it is started. As such, configuration problems are rather difficult to diagnose.
ALSA is installed with Fedora, although there are often configuration problems
with laptop sound chips. Because it's been so long since I did a clean install,
I'm not certain if there are any problems with the default installation of
ALSA and this machine. When I first installed Fedora, I disabled ALSA so I could
use MMUSBAUDIO
to drive my Edirol UA-5 USB Audio Interface.
Reinstallation Solves Problems: The default solution
to many ALSA problems seems to be to reinstall. I did have numerous problems when trying
to reinstall ALSA, which are documented below in case other people have similar issues.
Uninstall Existing ALSA: Before recompiling ALSA, you should remove
any existing installation of ALSA from your system. If ALSA was installed with
RPM packages (i.e. when the OS was installed), you can find installed packages with
rpm -qa | grep alsa
ALSA packages can be removed with "rpm -e". Because ALSA is
tightly integrated into a number of other packages, you will need to use
the --nodeps option. You may also want to consider removing the dependent
packages if you don't need them. The packages I removed included:
alsa-utils-1.0.3-1
alsa-lib-1.0.3a-2
system-config-soundcard-1.2.8-1
firstboot-1.3.14-1
You should probably not remove the
Enlightened Sound Daemon
(esound-0.2.34-2 in FC2)
which is used by the Macromedia Flash Player (and will cause a crash if not present)
and incorporates the
Audio File Library.
Similarly, you should not remove the
Simple DirectMedia Layer
(SDL-1.2.7-3 in FC2), which is
a cross-platform multimedia library used by programs like mplayer.
If you have an ALSA that was compiled and installed from source,
the source Makefile has a "make uninstall" target that can
be used for uninstallation.
Download: ALSA is not available from the
ALSA website in binary form and
must be recompiled from source. Depending on the version and configuration
of your kernel, you may need an older version. With FC2, I found
success with the 1.0.5a version of ALSA, not the
most current (1.0.9 at the time of this writing).
You will need four packages, which can be downloaded from the ALSA site:
- alsa-lib
- alsa-driver
- alsa-utils
- alsa-oss
You may also want the alsa-plugins and alsa-tools to use with
JACK.
Compile: Each package must be configured, compiled and installed as superuser
IN THE ORDER GIVEN ABOVE: lib, driver, utils and oss:
./configure
make install
Configuration: The ALSA utility /usr/sbin/alsaconf can be used to
detect and configure ALSA. Follow the prompts.
Problems: My first indication of an ALSA problem was when I attempted
to use alsamixer, which gave the message:
$ alsamixer
No mixer elems found
An attempt to diagnose the problem with amixer gave the message below,
indicating that the driver was running, but had no mixer controls:
$ amixer info
Card default 'Modem'/'Intel 82801DB-ICH4 Modem at 0x2400, irq 11'
Mixer name : 'Silicon Laboratory Si3036/8 rev 7'
Components : 'AC97m'
Controls : 0
Simple ctrls : 0
When I installed ALSA versions 1.0.9a and 1.0.7, starting ALSA failed
and dmesg indicated a long list of unresolved module symbols, including
the following:
snd_pcm: Unknown symbol snd_dma_reserve_buf
snd_pcm: Unknown symbol snd_dma_get_reserved_buf
snd_ac97_codec: Unknown symbol snd_interval_refine
snd_ac97_codec: Unknown symbol snd_pcm_hw_rule_add
Again, the solution to all these problems was to install an
older version of ALSA (1.0.5a).
Older laptops used BIOS driven APM power management but most laptops now
use ACPI (Advanced Configuration and Power Interface) which requires some
software support in the OS for complete support. ACPI handles
hibernation/standby as well as the fan and disk shutdown.
The Celeron M processor in this machines runs relatively cool compared to its
desktop brethren and the thermostat on the motherboard handles turning the fan
on and off pretty well. Because various Linux daemons access the hard drive
sporadically, the hard drive is never inactive long enough to spin down.
So, ACPI is largely irrelevant on this machine for basic operation.
A kernel module is available for viewing and setting custom functions (like fan and battery status)
in this system's Phoenix BIOS. Despite the name, you need the
Omnibook kernel module available HERE.
When installed, this module provides system files in the /proc/omnibook system directory.
Download the kernel module, make install and modprobe omnibook to get it up and running.
Full details on the /proc/omnibook/* files are given in the README with the kernel module.
This module can be loaded at boot time by adding the following line to /etc/rc.local:
/sbin/modprobe omnibook
When diagnosing overheating issues, listing /proc/omnibook/temperature will list the
current CPU temperature. The CPU automatically shuts down when it gets
over 70°C for a few seconds.
The toshiba_acpi module is written for a different BIOS and DOES NOT WORK on this machine.
There is some Alpha level support for ACPI
(ACPI4Linux),
but it doesn't seem to handle the fan very well. Other features like suspend to disk
are not yet supported, so I don't see any reason to have the ACPI daemon (acpid) running.
Because the kernel and file system have daemons that frequently write to the
disk drive, the disk drive is never inactive long enough to spin down.
To turn the ACPI daemon off:
chkconfig acpid off
Since Centrino M and Celeron M processors do not require as much cooling as their
desktop counterparts, they are probably not as susceptable to clogged heat sinks
as earlier laptops. However, if you use this machine around pets or in a dusty work
environment, you may start to have overheating problems after a few months of
operation. There is a cover on the bottom of the machine that can apparently be
removed for cleaning, although I haven't had to do this yet. Use extreme caution
(or find a trained professional) since it is very easy to mess up your motherboard
beyond repair with an electrostatic discharge.
Ethernet
The Realtek RTL8139/810x Family Fast Ethernet NIC
is supported by the kernel with no additional drivers needed. You can
use numerous GUIs to configure the card, but the cleanest method is
simply to create a /etc/sysconfig/network-scripts/ifcfg-eth0 file
with these contents:
DEVICE=eth0
TYPE=Ethernet
STARTMODE=onboot
ONBOOT=yes
BOOTPROTO=dhcp
If you are setting up a home network with no DHCP server (or ISP connection)
to provide IP addresses, a typical static ifcfg-eth0 file:
DEVICE=eth0
TYPE=Ethernet
STARTMODE=onboot
BOOTPROTO=static
IPADDR=172.16.1.1
NETMASK=255.240.0.0
The interface will be started at boot time with the above configurations.
You can also manually bring the interface up or down with the /sbin/ifup eth0
and /sbin/ifdown eth0 commands.
Wireless
The Atheros AR5005GS Wireless Network Adapter (802.11b/g)
in this machine is supported by the
MadWiFi driver.
Supposedly the hardware supports 802.11a, but I guess the MadWiFi driver
doesn't support 802.11a, which isn't that important since 802.11a is rarely used.
Installation requires a bit of massage...
sharutils: The Makefile uses uudecode for decoding a file
encrypted with IEEE Std 1003.1-2001 (uuencode). This utility is
included in the sharutils RPM that doesn't seem to be included with
the standard installation package groups. The RPM is located on
installation CD #3. You can check to see if it is installed with
rpm -qa | grep sharutil
Or just install it from the CD:
rpm -i /mnt/cdrom/Fedora/RPMS/sharutils*
Download / Compile / Install: Download the most recent version
of the MadWiFi driver from the website,
then unpackage the tarball and make:
tar -zxvf
cd mad*
Kludge for Lock-up Problem:
A number of users have observed that the MadWiFi kernel module will completely lock up
the system when executing modprobe -r, rmmod or performing an ifdown followed by an ifup.
Much love to
Andargor The Wise for finding a kludge that will solve the problem. In the
madwifi directory edit the ath/if_ath.c file and comment out (place a "//")
at the beginning of the line that looks like this:
ath_hal_setpower(sc->sc_ah, HAL_PM_FULL_SLEEP, 0);
This is on line 1006 of the version I downloaded - the file date is 5/19/05.
There is an ominous comment before this line that indicates why this is a problem.
Also demonstrates the value of strategically placed descriptive comments.
Set the chip in full sleep mode. Note that we are
careful to do this only when bringing the interface
completely to a stop. When the chip is in this state
it must be carefully woken up or references to
registers in the PCI clock domain may freeze the bus
(and system). This varies by chip and is mostly an
issue with newer parts that go to sleep more quickly.
Compile and Install:
make install
modprobe.conf: You should add the following entry to /etc/modprobe.conf
so the driver is loaded when you try to bring the interface up:
alias ath0 ath_pci
You can also manually load the module with: /sbin/modprobe ath_pci
Configuration File: While there are numerous GUIs for configuring
wireless parameters, it is cleanest just to manually create the configuration
files yourself. Network interface configuration scripts are located in
/etc/sysconfig/network-scripts and are named ifcfg-xxxx, where xxxx is the name of
the interface. The MadWiFI driver creates an interface named ath0, so you
should create a /etc/sysconfig/network-scripts/ifcfg-ath0 with the following
contents:
DEVICE=ath0
NAME=ath0
BOOTPROTO=dhcp
ONBOOT=no
MODE=Managed
ESSID=xxxxx
The ESSID entry should be set to the SSID of the wireless access point
you are trying to connect to. I believe that if you omit this line, the
card will simply attempt to connect to the most powerful access point.
If you want to know what access points are available you can use the
iwlist command:
/sbin/iwlist ath0 scan
Start The Interface: Start the interface with the ifup command.
You can bring it down later with ifdown.
/sbin/ifup ath0
The ONBOOT option in the config file (given above) can be set to "yes"
to start the interface automatically at boot time, although it is safer to leave it
off until you actually need it.
Dial-up Modem
The internal modem built into this machine is a
Winmodem, which is basically a cheap analog
telephone interface with the actual modem signal processing provided in software drivers.
The Intel 82801DB (ICH4) AC'97 Modem Controller (rev 03)
(BCP\VEN_8086&DEV_24C6&SUBSYS_00011179&REV_03\3&61AAA01&0&FE)
uses an Agere Systems codec SIL27 subsystem and is supported by the cumbersome
slmodem driver, not the slick ltmodem driver.
Download / Compile / Install: Download the most recent
Smartlink modem driver
(I'm using slmodem-2.9.9d). Decompress and make:
tar -zxvf slmodem*
chmod slmodem*
make
make install
Start: As the name implies, the slmodemd uses a daemon that must be started
before dialing. You must load the slamr kernel module before starting the daemon.
You can include this in a script to simplify connection.
/sbin/modprobe slamr
/usr/sbin/slmodemd --country=USA /dev/slamr0
When you start the daemon, it should issue a message like:
SmartLink Soft Modem: version 2.9.10 Mar 23 2005 11:52:23
symbolic link `/dev/ttySL0' -> `/dev/pts/2' created.
modem `slamr0' created. TTY is `/dev/pts/2'
Use `/dev/ttySL0' as modem device, Ctrl+C for termination.
As the message indicates, the modem device provided by the daemon
is /dev/ttySL0.
Dial: Finally, you need a program to dial out and establish the PPP connection.
I use wvdial, an excellent, no-nonsense command line program that can
be used to test and use the modem. All you need is one simple config file. Given
the modem setup above, the following is my /etc/wvdial.conf file. You should modify
the username/password to the one given by your ISP. Note the Carrier Check
parameter is necessary to use this driver
[Dialer Defaults]
Modem = /dev/ttySL0
Phone = 1-212-202-6884
Username = (ISP username)
Password = (ISP password)
Carrier Check = no
If you prefer a dialer with a GUI, kppp seems relatively popular and also
uses the wvdial.conf file.
ALSA: The modem interface is integrated with the sound chip. Both
involve analog audio signal processing and this is a cost and space saving
design choice. As such, ALSA's snd-intel8x0m module can be used in lieu of the slamr
module. However, the --alsa option must then be specified when you start the
daemon. I don't know of any advantage to using snd-intel8x0m over slamr, but
the option is there if you have a problem or preference.
/sbin/modprobe snd-intel8x0m
/usr/sbin/slmodemd --alsa --country=USA /dev/ttySL0
/sbin/wvdial
The following resources can be helpful for WinModem issues:
XP Partition. If you left an NTFS partition on the drive at install time
it is possible to access it READ-ONLY. Fearing the beast, Red Hat has not
included the NTFS driver with Fedora. However, installation is simple.
Download: Download from
the Linux-NTFS website.
The easiest approach is to
download an RPM.
Note that Fedora 2 uses the 2.6.5-1.358 kernel. You can verify your kernel
version with uname -r
Install the RPM:
rpm -i kernel-ntfs-2.6.5-1.358.i686.rpm
Verify the Partition: The NTFS partition is usually /dev/hda1, but you can
verify that with
/sbin/fdisk -l /dev/hda
Create a mountpoint:
mkdir /windoze
Add an entry to /etc/fstab (permits read/execute for everyone)
/dev/hda1 /windoze ntfs defaults,umask=0222 0 0
Mount
mount /windoze
Sharing Files with XP: Because the NTFS driver does not provide write
access, if you want to be able to share files between Linux and Windoze, one
strategy can be to create a separate VFAT partition at installation as a shared space.
Accessing Linux partitions from XP. I am told that there are a couple of
utilities that allow you to access a Linux partition from Windoze, although
that's a scary thought and I've never tried either of them:
fsdext2
and explore2fs.
Booting XP. If you left a bootable NTFS partition when you installed Linux
you should have no problem booting XP. By default, GRUB (the GRand Unified Boot loader)
loads Linux at boot time. However, you will get a screen briefly at boot time that will
allow you to use the down/up arrow keys to select Windoze or Linux as the OS. Press
RETURN after making your selection. FYI - the /boot/grub/grub.conf file contains the
configuration options for GRUB and you can edit this file to change configuration
parameters, such as the OS titles or splash screen displayed when GRUB starts.
Wine. WINE
is a Linux Windoze emulator that can be used to run Windoze programs (including office
suites). My early experiences were largely unsuccessful but I assume it has matured
significantly over the past few years. If you need to run Windoze programs like M$-Turd,
Exhell and the Windoze Media Player,
Crossover Office
from Code Weavers has an implementation of Wine that guarantees successful
running of specific software. My modest office software needs are met by
Open Office and I urge you make an attempt
to divorce yourself from the Evil Empire.
X Windows supports True Type fonts.
Copy Fonts: Create a new directory at /usr/X11R6/lib/X11/fonts/truetype
and copy your TrueType fonts into that directory.
Create Font Configuration Files: Create the fonts.scale and fonts.dir
cd /usr/X11R6/lib/X11/fonts/truetype
ttmkfdir
mkfontdir
Configure font directory: Add the new directory to the "catalogue"
section of /etc/X11/fs/config
catalogue = /usr/X11R6/lib/X11/fonts/misc:unscaled,
/usr/X11R6/lib/X11/fonts/75dpi:unscaled,
/usr/X11R6/lib/X11/fonts/100dpi:unscaled,
/usr/X11R6/lib/X11/fonts/Type1,
/usr/X11R6/lib/X11/fonts/Speedo,
/usr/share/fonts/default/Type1,
/usr/X11R6/lib/X11/fonts/truetype
Get out of X Windows and startx again so X loads the fonts. You can verify loading
of the fonts by using the xlsfonts command. Times New Roman is a common font and
grep does a search on the output piped from xlsfonts:
xlsfonts | grep "times new roman"
You can also transfer .ttf files from other machines via floppy or CDROM.
Note that there are different font files for the italic, bold, bold italic and regular
versions of the fonts. Some of the True Type files can be very large so you may
need to use multiple floppys. After copying them to the font directory
you must run through the subsequent configuration steps again.
OpenOffice: Although the
OpenOffice Font Troubleshooting Guide indicates that TrueType fonts
that are in a path listed by /usr/sbin/chkfontpath should be available to
OpenOffice, that doesn't seem to be true. My fonts installed in
/usr/X11R6/lib/X11/fonts/truetype are not visible in the OpenOffice
font dropdowns. You will need to copy the .ttf files to
/usr/share/fonts/openoffice. You do not need to restart X
(reference)
The built-in CD-RW drive is detected by the installation program and
no further configuration is necessary.
cdrecord is the program included with Red Hat for recording CDs.
I use the CD-Writer to perform backups of my /home directory. It can, of course,
be used to create any kind of CD, but the following instructions are specific
to burning a backup CD for a single directory tree.
You can probably put all these commands in a script to simplify CD writing, but
I am including explicit commands here for clarity. Because things can go wrong
at any step and waste media, you might want to do things explicitly from the console
for awhile.
Create the CD image with the mkisofs utility. mkisofs was created when you
compiled cdrecord. See the section above for
information on compiling cdrecord and installing mkisofs. Supposedly it is
possible to pipe the output of mkisofs directly into cdrecord without using
an image file. However, every time I tried to do this I got "loss of streaming" errors.
/home/cdimage is an output file from mkisofs that will be used to burn the CD
later. This is an arbitrary name...you can put your image anywhere you like
(except the directory you're archiving?) [source_directory] is the root of
the directory tree that you want to copy. The -r option sets the permissions of
all files to be public readable on the CD and enables RockRidge-extensions. The
-J option (MS Joliet extensions) can be used to generate a more Windoze friendly CD,
but I have had problems with the option yielding the message "tree sort failed".
This will take a few minutes.
mkisofs -r -o /home/cdimage [source directory]
Linux has the ability to mount files as if they were disk partitions. This
feature is useful to check that the directory layout and file access
permissions of the CD image match your wishes. Once you've tested CD-Writing
on your system, this step is unnecessary.
mount -t iso9660 -o ro,loop=/dev/loop0 /home/cdimage /mnt/cdrom
Now you can inspect the files under /mnt/cdrom -- they appear exactly as they were
on a real CD. To umount the CD-image:
umount /mnt/cdrom
CD-writers need to be fed with a constant stream of data. The
process of writing the CD image to the CD must not be interrupted or a corrupt
CD will result. Don't do anything with heavy disk access while writing the
CD. Mechanical shock to the writer can also ruin the write. I would reccommend
going away and doing something else while the CD is burning...it will take 70 minutes
for a full CD.
cdrecord -v speed=8 --dev=/dev/cdrom -data /home/cdimage
Although the writer is capable of 16x writing, I have had problems with buffer
underflow at high speed, but speed=8 seems to work consistently.
Min drive buffer fill was 95%
Fixating...
cdrecord: Input/output error. close track/session: scsi sendcmd: no error
CDB: 5B 00 02 00 00 00 00 00 00 00
status: 0x2 (CHECK CONDITION)
Sense Bytes: 70 00 05 00 00 00 00 0A 00 00 00 00 2C 00 00 00
Sense Key: 0x5 Illegal Request, Segment 0
Sense Code: 0x2C Qual 0x00 (command sequence error) Fru 0x0
Sense flags: Blk 0 (not valid)
cmd finished after 0.002s timeout 480s
cmd finished after 0.002s timeout 480s
cdrecord: Cannot fixate disk.
Fixating time: 0.004s
cdrecord: fifo had 7474 puts and 7411 gets.
cdrecord: fifo was 0 times empty and 6772 times full, min fill was 59%.
Recording an audio CD is actually a bit simpler than burning a data CD. If you have your
audio files all in one directory in .wav format, the following example will burn them all
on separate tracks. Since the list will be in alphabetical order, you will need to
determine the order of tracks by appending some kind of alphabetical prefix to the track names
(i.e. 01_your_song.wav, 02_my_song.wav, 03_his_song.wav, etc.)
cdrecord -v speed=8 --dev=/dev/cdrom -pad -audio *.wav
The recorder records audio CDs at 16x speed, but as with data CDs I have had underflow problems
at 16x. speed=8 works well. I have had problems with audio CDs recorded
with the speed=1 and speed=4 options. cdrecord completes successfully but the CDs are
then unreadable by the CD drive. I thought lowering the speed might remove the potential for
error and buffer underflow, but it appears the drive or the drivers don't handle lower speeds well.
Reference:
CDRDAO is a command line program for writing CDs in disk-at-once (DAO) mode.
CDRECORD on most CD writers will only write in track-at-once mode, turning off the
laser between track writes and forcing a 2-second gap between audio tracks (since
the stream of pits on the CD stops between tracks).
Although this usually does not cause problems, the preferred way to write a CD
is disk-at-once as a single stream of pits - to prevent tracking errors and in
case you want to send the CD to a duplicator to make bulk copies.
CDRDAO provides capability for specifying a number of different parameters for
disk writing, including specific timings between tracks, UPC numbers and
CD-TEXT (album and track names) for writer drivers that support it.
With this added capability comes additional work in setting up the write. CDRDAO
requres a text file that defines what the TOC will look like on the written disk.
Although the format for this file is not complicated, it is a bit more work
than simply specifying a set of files on the command line, as CDRECORD allows.
The internal CD writer is supported. To write, use the following command. Note
that you must be SUPERUSER to write a CD.
cdrdao write --driver generic-mmc --device 0,0,0 toc_file
Fedora does not include a DVD player due to fear of the Fascist MPAA
and their expensive lawyers. However, numerous players (mplayer, xine, ogle)
are available on the web and the DVD drive on this machine plays DVD's beautifully.
Ogle.
Comes in easy-to-install RPM packages. The user interface isn't as pretty as
Xine, but it is much simpler and more functional (especially chapter selection). You
will need three RPMs: libdvdcss, libdvdread, and ogle. Although Fedora is
not mentioned on the home page, you can use the RPMs for Red Hat.
Install the RPMs with the rpm command line program:
rpm -i libdvdcss-1.2.8-1.fr.i386.rpm
rpm -i libdvdread-0.9.4-ogle1.i386.rpm
rpm -i ogle-0.9.2-ogle1.i586.rpm
The ogle command starts the program
ogle /dev/cdrom
There is a config file you can setup as well as a GUI if you're so inclined.
Much love to DVD Jon for enduring all the legal nonsense so the rest of us can
play DVDs we bought with hardware we own.
|