I recently bought a Dell Inspiron 600m. Ever since I gave up Slackware back in
'98, I've been happy with RedHat, so you know I had to put Fedora Core 4 on my
new laptop. The steps below outline what I had to do to set up my laptop so I
could be (mostly) happy with it. I'm assuming you have at least a passing
familiarity with Linux commands like rpm, chmod, mv, etc., and can use a text editor
(shout out to all my vim homies). You can read through my notes below, or
click on one of the links in the component status list if you are stuck
trying to set up a specific component.
- Component Status
- Hardware Specs
- Installation
- Video
- Sound
- Wireless
- CPU Scaling
- Ethernet
- DVD RW
- Suspend/sleep
- IRDA
- Modem
The hardware specs for the Inspiron 600m are:
- Intel Pentium M Processor 765(2.1GHz,400MHz)
- 14.1-in 1024x768 XGA display w/ 32MB ATI Radeon FireGL 9000 Video Card
- 1GB,DDR,266MHZ 1 DIMMS
- 80GB Ultra ATA Hard Drive
- Internal 56K Modem
- Internal Broadcom Ethernet Card
- 8x CD/DVD Burner (DVD+RW,+/-R)
- Intel PRO/Wireless 2200 Internal Wireless Card (802.11b/g,54Mbps)
The first thing I did was fire up Windows on the 600m, go to RedHat's Fedora site, and download the FC4 CD images. The CD burning software that came with Windows was useless for burning images. While googling for alternatives, I ran across Alex Feinman's ISO Recorder tool for Windows, which worked great for putting the images on CD.
I occasionally use Windows for work or games, so I wanted to keep the NTFS partition around. As far as I know, GNU parted can't resize NTFS partitions, but there might be some other utility out there that does. If you have the Windows CD, you can take the long route and reformat your drive, create a smaller NTFS partition, and reinstall Windows. I took the easy route, and bought a copy of Partition Magic.
I used the Partition Magic GUI to specify a size of 20 GB for the NTFS partition, left everything for Linux, then rebooted and waited for Partition Magic to resize partition.
Note: Dell did not ship Windows CDs with the 600m. Apparently there is supposed to be some Dell utility that allows you to create an Windows CD from the OS installed on the laptop, but that utility wasn't installed on the laptop either. I am still wrestling with Dell support to get the Windows CD.
The Inspiron wasn't set to boot from a CD, so I put the FC4 disc 1 in the CD drive, rebooted, and hit F2 during startup to enter BIOS setup. I changed the device boot order in the BIOS settings and booted from the CD.
Then I set up partitions using Disk Druid, and told it to put the root partition on hda5.
The Fedora installation was pretty straightforward, except I didn't set enough space aside for the /usr partition. If you're going to install a large percentage of the distro packages, you should set aside at least 3.5 GB if not 4 GB for the /usr package. I only set 2 GB aside (remember when 2GB was too much memory?), and had to redo most of the installation process. Doh! Anyway, the installation eventually finished, and I moved on to configuring my system.
One of the first things I did after RedHat was installed was disable SE Linux. In my experience, you'll have a hard time configuring your new system unless you disable it. You may want to turn it on after you're done tweaking your system, but here's how to turn it off:
- Edit /etc/selinux/config
- Set SELINUX=Disabled
- reboot
Also, if you aren't using yum to do RPM downloads and installs yet, you're
missing out. yum removes 90% of the frustration of downloading and trying to
install an RPM, only to discover that the RPM depends on another RPM. Here's
my /etc/yum.conf:
[main]
cachedir=/var/cache/yum
debuglevel=2
logfile=/var/log/yum.log
pkgpolicy=newest
distroverpkg=redhat-release
tolerant=1
exactarch=1
retries=20
obsoletes=1
gpgcheck=1
# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d
[core]
name=Fedora Linux $releasever - $basearch - core
baseurl=http://ayo.freshrpms.net/fedora/linux/$releasever/$basearch/core
gpgcheck=0
[updates]
name=Fedora Linux $releasever - $basearch - updates
baseurl=http://ayo.freshrpms.net/fedora/linux/$releasever/$basearch/updates
gpgcheck=0
[freshrpms]
name=Fedora Linux $releasever - $basearch - freshrpms
baseurl=http://ayo.freshrpms.net/fedora/linux/$releasever/$basearch/freshrpms
gpgcheck=0
KDE vs Gnome - use whichever you want. KDE is cool - in fact, I'm using the
Quanta HTML editor to type this up - but I usually use Gnome. Because of that, all of the GUI commands I refer to below are found in GUIs on the Gnome desktop.
FC4 already comes with the ipw2200 modules for the built-in Intel wireless card - you just need to install the proprietary firmware. Here's how to do it:
- Get the firmware from http://ipw2200.sourceforge.net/firmware.php
- Download the 2.2 version of the firmware
- Unzip the package, and copy all *.fw files into /lib/firmware
- Reload the wireless module with "rmmod ipw2200" and "modprobe ipw2200"
Now you can set up your wireless connection:
- Go to Applications-->System Tools-->Internet Configuration Wizard
- Select wireless connection
- Select wireless card Intel Corporation PRO/Wireless 2200BG
- Put in your wireless settings (don't forget 0x in front of your WEP key if it is a hex key)
- Click the green check to activate the card.
The video card was detected during installation, but Anaconda came up with a resolution of 800x600 for the LCD screen.
This is how I set up my LCD screen. Change as necessary for if your screen
has a different resolution.
- Go to Desktop-->System Settings-->Display-->Hardware
- Select the Generic LCD Display, 1024x786 LCD. I tried using the Dell 1024x786 settings, but had problems with it, so I'm sticking with the generic LCD
- Go to Desktop-->Preferences-->Screen Resolution, and set the resolution to 1024x786
I also tried loading the proprietary ATI video drivers in the hopes I could
get a faster framerate. The framerate was actually slower with the proprietary
drivers! I'd recommend sticking with the DRI drivers.
The Intel on-board soundcard is supported out of the box, but the external speakers were shutoff in alsa-mixer. To turn them on:
- Go to Applications-->Sound & Video-->Volume Control-->Edit--Preferences.
- Scroll to the bottom, and click the checkbox for External Amplifier
- Click on the Switches tab, and click the External Amplifier checkbox.
It just works. There's not much more to say. You can use the Gnome Network Configuration to enable/disable eth0, or you can type ifup eth0
and
ifdown eth0
.
I installed the packages for the Totem movie player, but I wasn't happy with it.
It didn't show the menu when the movie started, and the controls seemed buggy.
I recommend installing xine instead. yum install xine-0.99.4-1.2.fc4.i386
should do what you want.
Recording to DVDs was no problem. Put a blank DVD in, and the Gnome
CD/DVD Creator window will pop up. Drag files to the window, and then go to
File -->Write to Disc, and the files will be burnt to disc.
I followed Jeppe Andersen's suspend instructions at
http://www.hep.phy.cam.ac.uk/~andersen/fedora2latitude600.html.
His instructions worked great for me with the ATI Radeon video card.
If you have a different card, they may not work for you. I did make a few modifications to his script,
the biggest being extra lines to unload and reload the Linuxant modem drivers
during suspend and resume. If you don't use the Linuxant modem drivers,
you can remove those lines.
First, download a tool called video_post from an attachment in the bug report at
http://bugzilla.kernel.org/show_bug.cgi?id=3670. Firefox will call the file attachment.cgi, but it is actually a compressed tarball, so rename it to something like "video_post.tgz"
Create a directory for the video_post tool. I made one called /etc/acpi/utils.
Then, extract video_post.tgz in /etc/acpi/utils. This will create a directory
called "emu" with the source and an executable for the video post tool.
Next, create a file called /etc/acpi/events/sleep.conf with the following lines:
event=button/sleep *
action=/etc/acpi/actions/sleep.sh
Now create a file called /etc/acpi/actions/sleep.sh with these lines:
#!/bin/tcsh
# Script to drive the system to S3
# suspend-to-ram
#
# JRA Jan 2005
# Step 1: preparing sleep
if (-e /suspending) then
wall 'The system is currently in the process of suspending, or stale lockfile "/suspending" exists. If the system does not suspend in a few seconds, remove lock file, and try to suspend again'
else
/bin/touch /suspending
/usr/bin/killall -s SIGUSR1 cpuspeed
/usr/bin/chvt 1 # necessary to make DRI work
/sbin/service anacron stop
# USB doesn't suspend without unloading first
/sbin/rmmod ehci_hcd
/sbin/rmmod uhci_hcd
#unload Linuxant modem drivers
/usr/sbin/hsfstop #if you use the linuxant modem driver
#save the system time
/sbin/hwclock --adjust
/sbin/rmmod wacom # only necessary of you have wacom stylus
/sbin/rmmod -as
/bin/sync
# Step 2: send sleep command via ACPI
echo mem > /sys/power/state
# Step 3: wake-up and reload
/etc/acpi/utils/emu/video_post
/sbin/hwclock --hctosys
#reload Linuxant modem drivers
/sbin/modprobe /dev/modem #if you use the linuxant modem driver
/sbin/modprobe ehci_hcd
/sbin/modprobe uhci_hcd
# initialise X
xinit /bin/false -- :1
/usr/bin/chvt 7
/sbin/service anacron start
/sbin/service cpuspeed restart
rm /suspending
endif
Don't forget to make that script executable, by typing chmod u+x /etc/acpi/actions/sleep.sh
. Note that video_post is called in step #3 of the script, so be sure to change the path in the script if you put video_post in a different place.
Also, note that this script creates a lock file called "/suspending" when it starts to suspend the laptop. If you fail to successfully recover from suspend mode, you'll have to remove this lock file by hand. Otherwise, the next time you try to suspend, the script will exit without doing anything.
Then restart the acpi service with "/etc/init.d/acpid restart". Now you just
hit Fn+Esc to suspend the 600m. My 600m hangs on resume about every 10th
time, and for some reason the maximum scaling frequency is stuck on 600Mhz if
resume doesn't work properly. See CPU Scaling for
info on how to change the max scaling frequency.
When I got my 600m, the CPU speed never went above 600 MHz, as shown by cat /proc/cpuinfo, or Gnome's CPU Frequency Scaling applet. I couldn't set the CPU frequency manually, and it wouldn't go up automatically when I was doing a long build.
I was beginning to think that the 600m in "Inspiron 600m" stood for 600 MHz.
I was getting a "No speed steps could be determined" error every time I tried to run /etc/init.d/cpuspeed. After trying many things, I noticed that both scaling_max_freq and scaling_min_freq in /sys/devices/system/cpu/cpu0/cpufreq were set to 600000 (600 MHz).
I did:
echo 2100000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
and then
/etc/init.d/cpuspeed restart
After that the CPU would throttle up to meet demand, and I could also change the
speed manually with the Gnome CPU frequency applet.
If you're trying to set various cpuspeed options, I recommend running the commands in /etc/init.d/cpuspeed manually, instead of using the cpuspeed script,
which hides many possible error messages when the script has problems.
Once you have the options you need, you can go back to using the cpuspeed script.
I am able to sync my Palm Tungsten T3 through the IR port on my laptop. Here's how to do it:
The ircomm devices that the irda init script creates are all owned by root.
You can either always run pilot-xfer with sudo or as root, or, like I did,
you can add a line to the start section of /etc/init.d/irda to make the
ircomm0 device world-readable and world-writabe. Here's what mine looks like:
...
#start section of /etc/init.d/irda
start() {
# Attach irda device
echo -n $"Starting $prog: "
/sbin/modprobe ircomm-tty 2>/dev/null
/sbin/modprobe irtty-sir 2>/dev/null
/sbin/modprobe irnet 2>/dev/null
daemon /usr/sbin/irattach ${DEVICE} ${ARGS}
touch /var/lock/subsys/irda
#make the ircomm0 port usable by everyone
chmod a+rw /dev/ircomm0
echo
}
...
lspci -v
indicates the modem is a Conexant modem:
00:1f.6 Modem: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 01) (prog-if 00 [Generic])
Subsystem: Conexant: Unknown device 5422
Flags: bus master, medium devsel, latency 0, IRQ 5
I/O ports at b400 [size=256]
I/O ports at b080 [size=128]
Capabilities: <available only to root>
First, you need to figure out which driver your modem needs. Go to http://www.linuxant.com/drivers/modemident.php, and download the scanModem script. Unzip it and run the script. You will see output like this:
Providing detail for device at 00:1f.6
with vendor-ID:device-ID
----:----
Class 0703: 8086:24c6 Modem: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 01) (prog-if 00 [Generic])
SubSystem 14f1:5422 Conexant: Unknown device 5422
Flags: bus master, medium devsel, latency 0, IRQ 5
-----PCI_IDs------- --CompilerVer-
Feature List: Primary Subsystem Distr KernelVer kernel default CPU
./scanModem test 8086:24c6 14f1:5422 redhat 2.6.11-1.1369_FC4 4.0.0 4.0.0 i686
From records, 14f1:5422 has soft modem codec CXT
The Subsystem PCI id identifies a ConeXanT CXTnm codec.
Support is ONLY available the hsfmodem software from http://www.linuxant.com/drivers
Note that the vendor/device id for the modem is 8086:24c6, and support is
available with the hsfmodem drivers. The HSF driver README on Linuxant's web
site indicates that the 8086:24c6 is supported.
I downloaded hsfmodem-7.18.00.07full_k2.6.14_1.1644_FC4-1fdr.i686.rpm.zip, unzipped it, and
installed it with rpm. You may want to check the Linuxant site instead of using this link to see if there is a newer version of their driver.
The free version of the Linuxant driver is limited to 14.4Kbps.
If you need more speed, you'll have to drop some cash for a license.
With that, I'm pretty happy with my new laptop. I'm sure I'll continue tweaking
it for the next couple of months, but for now, I've got something that works
great for work and fun.
Larry Reeder, Sun Oct 23 22:53:03 MDT 2005, lnreeder AT gmail DOT com.