linux-dell-laptops FAQ
version 20040621-1
==============================================================================
Maintained by: Stephen Lau (ldl at grommit dot com)
Last updated: 2004 June 21st
The latest version of this FAQ can always be found at:
http://www.whacked.net/ldl/faq
This faq was put together with help from many people on the ldl mailing
list, some of them are: (if I didn't know their last name, then I put the
first part of their email address, I didn't put all of it to prevent
spambots from finding us)
Don (don at hawktech dot net), David Megginson, Juri Haberland
(haberland at altus dot de), Chris (cnix15 at msn dot com),
Stuart Blake Tener (stuart at bh90210 dot net), John Cronin,
wcburton2, Thomas Hadig (hadig at slac dot stanford dot edu),
Marc Swanson, Ryurick Hristev, Fabian Fagerholm, Eric Sundby,
Brian Gold, Andrew McGlashan, Jochen M. Braun, James Hendrick,
Rudolf Usselmann, Felipe Rivera, Doug Campbell
(plus countless others I forgot)
==============================================================================
Background:
The linux-dell-laptops mailing list is hosted by YahooGroups (formerly
eGroups). It is a mailing list of users supporting other users who
choose the run the world's best operating system (Linux, obviously)
on Dell laptops of various kinds. Some of the more common models
people have are the Latitudes, and Inspirons.
This FAQ attempts to pre-emptively answer some of the most common
questions that are posted to the linux-dell-laptops mailing list.
This is becoming out of date as the newer Dell models come out,
and as distributions get better about recognising funky laptop
hardware. I mainly just update things with regards to broken URLs
and links now....
==============================================================================
I will be mentioning websites throughout the FAQ... rather than mentioning
them all inline, I have tabulated all the URLs at the end in a
handy-dandy reference section. :)
==============================================================================
Notation/abbreviations/dictionary:
Throughout the FAQ, I will use certain terms which I will detail here:
I8K = Inspiron 8000
MBR = Master boot record
s2r = Suspend to ram
s2d = Suspend to disk
G2Go = Nvidia Geforce2Go
ldl = linux-dell-laptops (as in this mailing list)
Important files:
/etc/lilo.conf
This is the file that controls your LILO bootup, i.e.: which
OS to boot into and such.
/boot/grub/menu.lst
This is the file that controls the GRUB bootloader if you're
not using LILO.
/etc/X11/XF86Config-4
This is your XFree server configuration file
/etc/pcmcia/hermes.conf
Configuration for the orinoco_cs driver
/etc/pcmcia/wireless.opts
Configuration for the orinoco_cs & wvlan_cs drivers
/etc/modules.conf
Module configuration parameters and such
==================================================================
Questions:
1. Suspending/hibernating the laptop
1.1. Suspend to ram
1.2. Suspend to disk
1.2.1. I already have Linux installed, but I never
made a suspend partition!
2. Network/modem devices
2.1. Which wireless network interface should I get?
2.2. How do I get the ActionTec Winmodem to work?
2.3. I keep getting the "eth0: card reports no RX buffers"
errour message, and losing my network connection!
3. Video issues
3.1. How do I get the Nvidia Geforce2Go video card working?
3.2. How do I get the ATI Rage Mobility working?
3.2.1. How do I enable TV out?
3.3. How do I get the ATI Mobility Radeon working?
3.4. Docking the laptop and/or using an external monitor
3.5. My screen is small, and there's a black border around it!
3.6. Should I get the Nvidia Geforce2Go ot the ATI Mobility
Radeon?
4. What's the *best* way to partition my hard drive?
4.1. Dual-booting Windows 95/98/Me
4.2. Dual-booting Windows2000/NT
4.3. LILO vs. GRUB
5. USB issues
5.1. Using an external USB pointer device
6. Power management
7. PCMCIA is crashing my laptop!
8. How do I get better hard disk performance?
9. What's the best distribution (or kernel version) of Linux to run?
10. Sound issues
10.1. Sound on the Dell Inspiron 8000
11. General debugging hints and clues
12. Can I control the fan?
13. Help! I fscked it all up and can't boot into my system now!
14. I am getting "unresolved symbols" errours when I boot up!
15. LILO errour messages and problems
16. How do I get the 4 Dell keys working on my Inspiron 8000?
16.1. What about the 2 volume keys?
17. CD-ROM / DVD / CD-RW Issues
17.1 Installation of External CD-RWs
17.2 Choppy DVD playback
18. Video playback in X isn't scaled right!
19. My laptop is crashing - but I don't know why
20. I'm stuck in text mode, how do I boot up in graphical mode?
(or vice versa)
99. I still have more questions, now what do I do?
==================================================================
1. Suspending the laptop
Obviously, one of the main reasons you bought the laptop was for its
portability, and being able to suspend it is a key feature that often
seems impossible to accomplish under Linux.
1.1. Suspend to ram
This is actually relatively easy to get working. You need to
make sure you don't have any special video hardware modules
loaded, namely the DRI stuff. For the ATI Mobility Rage
people, this means making sure all the framebuffer and DRI
modules are unloaded before suspending (look for r128, and
agpgart when you do a lsmod). If you just want to disable DRI
permanently, then make sure your system isn't loading them at
startup, and that you don't have DRI listed as a module in
your XF86Config-4.
For the Nvidia Geforce2Go, the driver, by default disables
all power management. There is a hack whereby you can
disable AGP acceleration in the driver, which will allow you
to suspend without having to always unload the driver.
To do this hack, edit nv.c and search for "suspend". You'll
see two "case PM_SUSPEND" blocks - one within an #if branch
and the other within an #else branch. The second one has
the following line:
return 1
Change the 1 to 0. Continue to scroll past the #endif
and there's a default code block that also returns 1.
Change this 1 to 0 again. Recompile the driver and you
should APM enabled full-time. If you do this hack, make
sure you have the following line in your XF86Config-4 device
section:
Option "NvAGP" "0"
(Thanks to Rudolf Usselmann & James Hendrick)
I do not yet have enough information on the ATI Mobility
Radeon.
1.2. Suspend to disk
The problem with Dell's laptops is that they are not all
uniform, not even across the same model. For example, some
Dell Inspiron 8000 owners get success with phdisk, while
others use mks2d. It seems that laptops with the Phoenix
BIOS are to use phdisk, and all others are to use mks2d -
though again, this is not a uniform pattern.
Since this FAQ should be brief, I'll try to summarize what
others have written about in more clear detail and provide
some helpful links.
Dell provides two utilities: phdisk.exe and mks2d.exe.
Basically, phdisk creates a partition of type 84 (OS/2 hidden
C: drive), whereas mks2d creates a partition of type a0
(IBM Thinkpad hiberation). They claim that the Inspiron line
should use mks2d, except for the I8K which should use phdisk.
I've generally seen about 50% using mks2d and 50% using
phdisk, try them both out and go with what works. :)
Another fuzzy area is where the partition should be... first
off, it has to be a primary partition. A few people have had
success with it as hda2 or hda4, but the general consensus
seems to be that it works best as hda1 (the first partition).
However, some people have had success with the s2d partition,
not necessarily being the first on the partition table (i.e.:
hda3 or hda4), but always having it as the first partition on
the disk (i.e.: starting on cylinder 1). The safest bet would
be, however, to make it /dev/hda1 starting at cylinder 1.
Also, you should make sure that LILO is configured to write to
the boot partition, and NOT the MBR. The way s2d works is
that the system actually marks your suspend partition as
active when you do a suspend. This way, when your system
boots up next time it tries to boot from the suspend partition
- thus restoring your system. The system will then set the
active flag back to your original boot partition. If you
write LILO to the MBR instead of the boot partition, then
LILO will boot up every time irregardless of whether you have
suspended or not.
You can add a LILO entry to boot off the suspend partition, but
this is somewhat of a hassle because then you have to remember
"did i suspend last time? or power off?" However, some people
choose to do it this way...
1.2.1. I already have Linux installed, but I never made a
suspend partition! Now what do I do?
Fear not! It (cross your fingers) shouldn't be too
hard to add a suspend partition post-installation.
Basically, it will require a bit of moving partitions
around with either fips, parted, or Partition Magic.
Ideally, you want to make it /dev/hda1, starting with
cylinder 1, as mentioned above - so you'll need to find
some free space (lop off some space from an already
existing partition maybe), and move it to the beginning
of the disk. Then allocate that as /dev/hda1, and
set the type accordingly (or use phdisk/ mks2d).
Then use the phdisk/mks2d utility to format the
partition.
2. Network/modem devices, and support
I have an I8K, so my familiarity lies only with the devices optional
for the I8K. Hopefully, someone can fill me in with more details on
other models. Currently, on most Dell laptops, most people get some
version of a built in combination network+modem card running on the
mini-PCI bus. The main two available are either the ActionTec 56K
Winmodem with Intel EtherExpress Pro/100 compatible network interface,
OR the 3Com Winmodem/3c59x network interface. Both network interfaces
are fully supported (using the eepro100 and 3c59x module/drivers
respectively). The ActionTec Winmodem is also supported using the
excellent ltmodem driver (see below). There also seems to be a third
PCTel combo card which uses the eepro100 nic driver, and it's modem
*might* be supported by the ltmodem driver (check the webpage for
more info). Remember, the 3Com modem IS NOT supported!
2.1. Which wireless network interface should I get?
This is a confusing topic... basically, Dell offers the
TrueMobile 1150 (which is just a rebadged Lucent Orinoco
Wavelan IEEE card) in two forms: PCMCIA and mini-PCI (built-in).
Most people opt for the PCMCIA version so as to use the
built-in mini-PCI for the combination card. There are
currently three drivers:
wavelan2_cs, wvlan_cs, and orinoco_cs.
The wavelan2_cs is a binary-only driver provided by Lucent.
There isn't much support for this unless you contact Lucent
directly. I don't know much about this module, since I don't
know anyone who uses it.
The wvlan_cs module is the older GPL driver supporting both the
mini-PCI and PCMCIA versions of the card. This driver has
since been deprecated in favour of the orinoco_cs module.
The newer versions of the kernel (ex: > 2.4.5) no longer have
wvlan_cs, you will need to grab the pcmcia-cs package to get
the wvlan_cs driver.
The orinico_cs module is the new driver that is part of the
kernel. It supports more features (wireless tools using iwspy
to get statistics) and is generally more bug-free/stable than
wvlan_cs. Everyone should be gradually switching over to
using this driver.
If you are using the orinoco_cs driver, go to Jean Tourrilhe's
orinoco_cs homepage, and get the hermes.conf file. Also make
sure you have everything in wireless.opts configured properly.
The orinoco_cs supports both the mini-PCI and PCMCIA Wavelan
cards now (it previously did not support the miniPCI version).
If you get an Intersil Prism2 based card such as the D-Link or
LinkSys card, then you should use the 'wlan-ng' driver.
2.2. How do I get the ActionTec Winmodem working?
Get the ltmodem package from the website, download and follow
the installation instructions. Most programs by default try
to use /dev/modem. The ltmodem installation script (if you're
using the RPM) doesn't create this by default. Instead, it
uses /dev/ttyLT0.
Make a symbolic link (ln -s /dev/ttyLT0 /dev/modem) and you
should be good to go.
Felipe Rivera adds:
I own a I8K and had a problem with the lucent modem:
Under heavy CPU load and/or heavy connection load either
pppd died or the connection just stopped without the
pppd actually dying. This happened using Kppp as the
GUI for pppd.
Using wvdial solved the issue. It may be possible that
NOT using KPPP is enough to solve the issue.
2.3. I keep losing my network connectivity and getting the following
errour message: "eth0: card reports no RX buffers. eth0: card
reports no resources"
This is a problem with the eepro100 driver (the one used with
the EtherExpress Pro 10/100 + ActionTec Winmodem combo mini-PCI
card). It is a known issue with the 2.0.x and 2.2.x kernels,
and has been fixed in the 2.4.x kernel. The recommended
solution is to upgrade to the 2.4.x kernel. If you need to
use 2.0 or 2.2 kernels, then Intel provides their own "e100"
driver that has fixed the problem for most people. This driver
can be found at:
http://support.intel.com/support/network/adapter/pro100/30504.htm
(Thanks Thomas)
3. Video issues
Video is almost always one of the hairiest parts of getting a laptop
up and running. Fortunately, Dell (up until recently) used the ATI
Rage Mobility M4 which is fully supported under XFree 4.0.x (if
you're using 3.3.x, it is also supported, but go upgrade your X
anyway) with the ATI r128 driver. The new current cards being offered
are the Nvidia Geforce2Go (often abbreviated as g2go), and the new
top of the line card: the ATI Mobility Radeon 7500.
3.1. Using the Geforce2Go
First off, always make sure you're using the latest G2Go
drivers from Nvidia's website as they update them often.
Second, make sure you have the following line in your
/etc/modules.conf:
options NVdriver NVreg_Mobile=1
In your device section, you want to be using the nvidia driver,
and specify your BusID like so:
Section "Device"
Identifier "NV AGP"
VendorName "nvidia"
Driver "nvidia"
BusID "PCI:01:00:0"
EndSection
Make sure you can modprobe and load/remove the module without
problems from the console before you go start X.
For standard resolutions (1600x1200, 1280x1024, etc.) you don't
need to specify modelines. For 1400x1050, modelines seem to
vary - I've included two here for reference:
Courtesy of Don:
Modeline "1400x1050" 110 1400 1400 1648 1776 1050 1050 1053
Here's one from Juri Haberland:
Modeline "1400x1050" 129 1400 1464 1656 1960 1050 1051 1054
1100 +HSync +VSync
If it still doesn't for you, then I would refer to one (or
many) of the personal websites people have put up regarding
this problem. Generally, at 1400x1050 - you just need to play
around with the modelines. Experiment with the above two or
any of the ones found in the ldl files section on YahooGroups.
It seems that many people have success with different modelines
and configurations. Rather than enumerating them all here, I
will just refer you to use one of the excellent sites out there
already until this issue stabilises (see bottom of FAQ).
Some people have said you have to remove the "dri" and "GLcore"
modules from the modules section.
3.2. Using the ATI Rage Mobility M4
This should *just work* using either the "ati" or "r128" driver
under X 4.1.x. DRI, and DVD playback (both fullscreen and
windowed) also work (tested using mplayer, xine, and osm).
Note: you should disable DRI if you want to suspend (see above
section 1).
If you want to enable AGP 4x (faster frame rates, etc.), then
put a line in your "Device" section like so:
Option "AGPMode" "4"
3.2.1. How do I enable TV out on my ATI Rage?
Go download http://freshmeat.net/projects/atitvout
3.3. Using the ATI Mobility Radeon 7500
The ATI Mobility Radeon's driver is completely open source
(unlike Nvidia's), and is currently being developed for the
upcoming XFree86 4.2.0 release. Mandrake currently ships with
a CVS version of the XFree86 tree which works - alternatively
you can download the CVS release and build it on your own.
3.4. Using an external monitor
The ATI Rage driver (and I believe all standard X 4.1.x drivers
should be supporting this interface too, if not now, then soon)
supports the following option:
Option "Display" "string"
where string is one of the following:
"FP" - use flat panel
"CRT" - use external monitor
"Mirror" - use both FP & CRT
"BIOS" - use mode as configured in the bios
(i.e.: follow the Fn-F8)
If you want to be able to have your laptop automatically detect
the APR (Adv. Port Replicator) external monitor, then you need
to use "BIOS" for your setting.
3.5. My screen is small, and there's a black border around it!
Hit Fn-F7, or whatever your 'Font' function key is. Basically,
an LCD is set to run at a fixed pixel resolution, so when you
run at a resolution smaller than that (i.e.: if you have a
UXGA screen but want to run 1024x768), then it will either fix
1024x768 and fill in the remaining of the 1600x1200 with black,
or it will scale it to fill the whole screen.
3.6. Should I get the Nvidia Geforce2Go ot the ATI Mobility Radeon?
This is an often asked question. Currently (as of January 19,
2002), the Geforce2Go card is more stable as it has been in
production release. HOWEVER, because it is developed as closed
source - it is a binary module which is being loaded into your
kernel, and you can have no idea what it's doing. While most
people don't mind - it does seem to be a consensus that the
Nvidia card has stability problems. The ATI Radeon card is
developed as open source (go ATI!), and will no doubt be more
stable and have more features with time.
4. Partitioning the hard disk
Partitioning can be a huge hassle, so make sure you familiarise
yourself with your partitioning programming first. I use PowerQuest's
Partition Magic 7.0 under WinXP (I know I know...) and have had no
problems with it. Other GNU tools exist such as fips, an GNU's
parted. I believe Mandrake Soft also has a new diskdrake tool.
If you are fortunate to be doing everything from scratch, then fdisk
should be sufficient.
fips is a popular GNU tool available under both DOS and Linux for
resizing partitions. One thing to do would be to boot into Windows
and make sure you defrag your partition first (defragging moves all
the data to the beginning of the partition), and then copy fips to a
bootable system floppy. Reboot to that floppy and run fips to
resize your partitions. You should be good to go after that (Thanks
Chris)
I will summarise here some notes common to all installations, and place
OS specific notes below. There are varying philosophies on
partitioning the drive, mainly involving whether there is a need to
have separate /boot, /usr/local, /home, and / partitions. I will
summarise the pros here:
/boot = You can have your system mount this partition read-
only if it is separate, so that if your system
crashes, you won't run the risk of having lost data in
this partition since it is read-only.
/usr/local = You can save this partition across re-formats/
re-installations of Linux. Generally, most customised
(i.e.: not rpm) programs install to /usr/local, so
this is a time-saver to keep separate.
/home = Same reason as /usr/local. This is all your personal
stuff, keeping it separate lets you save it easier
across reformats.
The cons of these are that you limit your space to one partition.
i.e.: with a fixed / partition, you don't have to worry about
running out of space only on /usr/local.
My personal feeling is that having /boot separate is a very very good
idea (since you rarely should be writing to this partition, a small
15-20 meg partition is sufficient).
/usr/local and /home, I will leave up to you. :)
The swap partition is also key...generally, people have gone with
2*(the amount of RAM) so if they have 256 megs of RAM, a 512 meg
swap partition is in order. Though, this can be annoying if you
are lucky to have 512 megs of ram as keeping 1 gig allocated to swap
is unnecessary. I would say that you should just estimate as to
what kind of swapping you need. For instance, I do a lot of
compilation and VMware, as well as running MPI parallel programs on
my laptop - so I tend to suck up RAM a lot... so having extra swap
space is key. Other people find that they don't need the extra
swap space, and stick it back onto their / partition or something.
Lastly, if you can, try to make sure you place your S2D partition
first (hda1). It also must be a primary partition. A good sample
partition table might look something like:
/dev/hda1 = S2D partition, should be of size
(RAM+VideoRam+4 megs for slop)
/dev/hda2 = /boot, about 15-20 megs
/dev/hda3 = /
/dev/hda4 = swap
Or, if you want separate partitions:
/dev/hda1 = S2D
/dev/hda2 = /boot
/dev/hda3 = swap
/dev/hda4 = Extended:
/dev/hda5 = /usr/local
/dev/hda6 = /home
/dev/hda7 = /
4.1. Dual-booting Windows 95/98/Me
This isn't too daunting. Basically you just need to make sure
you have room for the vfat (fat32) file system. A sample
partition table (which is how I my hard drive partitioned)
might look like:
/dev/hda1 = S2D
/dev/hda2 = Windows
/dev/hda3 = /boot
/dev/hda4 = Extended
/dev/hda5 = swap
/dev/hda6 = /
If you screw up or need to restore the Windows boot loader, you
can always do a "fdisk /mbr" (using Window's fdisk, not Linux)
to restore the MBR to boot off the primary DOS partition.
4.2. Dual-booting Windows2000/NT
You can use either the NT/2000 boot loader and change the
boot.ini file, or you can use LILO/GRUB to boot. Using LILO,
it's just the same as in section 4.1. above. Using the Windows
bootloader option, you need to save the Linux boot sector by
doing (obviously replace /dev/hda2 with whatever your /boot
partition is):
dd if=/dev/hda2 of=/bootsect.lnx bs=512 count=1
Next, copy this to your Win2K partition (floppy, or mount or
whatever) Next, edit your C:\BOOT.INI to contain the following
line at the end:
C:\BOOTSECT.LNX="Linux"
4.3. LILO vs. GRUB
Many standard distributions are now moving to GRUB - it's easier
to use, and is more fail-safe in that it lets you edit your own
boot parameters at the GRUB point. Booting Windows2000/NT/XP
is even easier with GRUB (LILO often has many problems trying to
easily boot Win2k/NT/XP). You can do the following in your
menu.lst:
title Windows XP
rootnoverify (hd0,1)
chainloader +1
This tells GRUB to boot WindowsXP and use it's bootloader, and
boot from (hd0,1) (basically the second partition on the first
hard drive)
5. USB issues
Most people have not had USB problems with peripherals such as mice or
keyboards. I have seen some people have problems with USB hubs on the
I8K where the uhci controller can't assign it a proper address - but
unplugging the hub and replugging it back in seems to be okay. Most
people are able to actually get plug and play working reasonably well
with mice and keyboards. I have also had success with the USB mass
storage controller (used for the Ricoh RDC-5300 digital camera) and the
Rio500 driver.
I did however have to put in the following line in my modules.conf:
alias usb-controller usb-uhci
5.1. Using an external USB pointer device in X
Most people want both the stick/touchpad working full-time,
and to be able to plug in an external USB mouse whenever they
want and have it work without having to retool XF86Config each
time. I have successfully done this with the following
sections in my XF86Config-4:
Section "InputDevice"
# This section controls the stick/touchpad
Identifier "Mouse0"
Driver "mouse"
Option "Device" "/dev/psaux"
Option "Protocol" "PS/2"
Option "Emulate3Buttons" "on"
EndSection
Section "InputDevice"
# This section controls an optional USB mouse
Identifier "USBMouse"
Driver "mouse"
Option "Device" "/dev/pointer"
Option "Name" "AutoDetected"
Option "Protocol" "IMPS/2"
Option "Vendor" "AutoDetected"
Option "ZAxisMapping" "4 5"
EndSection
Next, modify the "ServerLayout" section to look something like:
Section "ServerLayout"
Identifier "MyXLayout"
Screen "Screen0"
InputDevice "Mouse0" "CorePointer"
InputDevice "USBMouse" "SendCoreEvents"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
This tells the Xserver to always look for Mouse0, and barf if
it's not there (which hopefully will never happen), and if the
USBMouse is detected on /dev/pointer, then have it send core
signals to the Xserver, but don't barf if it can't find it.
Last note, make sure you make a symbolic link from
/dev/input/mice (this is on the 2.4.x kernel) to /dev/pointer
6. Power management
The main APM (Advanced Power Management) control is found in
/etc/sysconfig/apmd for Red Hat and Mandrake systems. This file
contains configuration parameters that will be passed to the apmd
daemon. Under my Red Hat 7.1 system, this file is extremely well
commented, so I won't regurgitate what they already have spelled out
there. Some model laptops require network and/or sound services to be
restarted upon resume, and the apmd configuration file has parameters
to force restarting these services.
Under XFree, many users want to know how to have their screen actually
turn off rather than just a fake "blanking" effect. To do this, in
your XF86Config find the "ServerLayout" section. There, you can have
four options:
Option "BlankTime" "time"
Option "StandbyTime" "time"
Option "SuspendTime" "time"
Option "OffTime" "time"
BlankTime is the time before "blanking" the screen (default is
10 minutes. StandbyTime is the time before actually turning off
just the screen. SuspendTime is the time before putting the
machine into a full hibernating state, and OffTime is the time
before actually physically turning off the machine. To do
these, you also need to make sure you have the DPMS option in
your Monitor section.
If you have specific devices that may need restarting upon resuming from
a hibernation/suspend state, you should create the script apmcontinue in
/etc/sysconfig/apm-scripts (this is for Red Hat and Mandrake systems).
The apmscript file contains comments on how to write the apmcontinue
script. Some good examples can be found on the Web by searching for
the word 'apmcontinue' with Google.
Any ACPI (advanced configuration and power interface, the successor of
APM) kernel option *DOES NOT WORK* and is almost always the cause of
random crashes. APM works completely - so use it. [It can be checked
by invoking the battery status with - - but don't forget to
sync before this test. With ACPI functionality Linux *WILL* crash.]
Also, some have reported that APIC (advanced programmable interrupt
controller; note the difference, it's not ACPI) support (found in the
Processor-Types menu) has caused conflicts and problems with random
crashes & power management.
NOTE: Dr. Jochen Braun notes that, from his experience, on the
Inspiron 2500, ACPI works while APM is what causes crashes.
7. Help! PCMCIA is crashing my laptop!
Many distributions come with a PCMCIA card services package that isn't
compatible with many of the Dell's (the Inspiron 8000 has this problem
for one). The three things you need to do to try and fix it are (do
them in this order):
1) Edit your /etc/pcmcia/config.opts and change the "include
port" line to read as follows:
include port 0x100-0x4ff, port 0xc00-0xcff
(i.e.: remove the range 0x800-0x8ff). This should cause the
lock-up to go away. (Thanks to Marc Swanson for this one)
1) Download the source for pcmcia-cs and recompile it, making
sure you answer Yes to the PnP Bios resource checking
question
3) If THIS isn't helping you fix it, and your
PCMCIA configuration file (under Red Hat this is in
/etc/sysconfig/pcmcia, under Debian it's
/etc/pcmcia.conf) has a line that says "PCIC=i82365",
then try changing it to say "PCIC=yenta_socket"
8. How do I get better hard disk performance?
Have you considered purchasing a faster hard drive? Just kidding!
Under RedHat 7.x, change the file /etc/sysconfig/harddisks. Make sure
USE_DMA is set to 1, EIDE_32BIT set to 3, and LOOKEHAD set to 1.
Also, some people have said that making the idebus set to 66 helps.
(This is a boot time parameter you set in your lilo.conf. Find the
section that is booting your kernel, and add the line:
append="idebus=66 ide0=dma ide1=dma"
somewhere in that section to turn this feature on)
Also, Stuart reports using the following command to improve performance:
(try sticking it in your rc.local, or rcS startup scripts)
hdparm -c3 -m16 -d1 -X66 (or -X68) -K1 /dev/hda
9. What's the best distribution of Linux to run?
Which kernel should I run?
This is a totally subjective and personal matter. Most people on the
ldl mailing list run some form of Red Hat or Mandrake-Linux, though
there are many also using Debian and SuSE as popular distributions.
Red Hat 7.1 and Mandrake-Linux 8.0 both install seamlessly on most
Dell laptops.
The two choice of kernels are either the 2.2 or 2.4 kernel. At this
point, the most current kernel release is 2.4.17, which should cause
no problems. USB support is far better under the 2.4 kernel, so
if you are looking to use USB peripherals, I would definitely go
with that. Also, I believe framebuffer support is better under the
2.4 kernel - and it has better performance.
Now for the more objective run-down of this section... :) A lot of
distributions are known to have problems with PCMCIA locking up
during either the installation and/or the boot process. The two
known distributions that DO NOT have this lock-up problem are
Mandrake Linux 8.0, and Red Hat 7.1. However, don't let this dissuade
you from installing a distribution you are already familiar with. You
can always disable PCMCIA by passing "pcmcia=no" as a boot-time
parameter in LILO when booting during the installation or normal boot
process. This will force PCMCIA to be turned off, thus eliminating
the lockup. You can then go grab the latest pcmcia-cs package from
the pcmcmia-cs homepage and install that, as there are no lock-up
problems with that.
Another good reason to run Red Hat 7.1 is given by Red Hat's hardware
support page:
http://hardware.redhat.com/hcl/genpage2.cgi?pagename=hcl&statpage=ilaptop
The only two distributions certified to run Red Hat 7.1 are the Dell
Inspiron 8000 and the Dell Latitude CPx (H500GT), so if you're
installing Linux on business or corporate laptops, then that may be a
deciding factor support-wise. Dell sells Red Hat pre-installed on
their laptops, and supports it to a certain extent (don't expect
support however if you install Linux on your own, they will ask you to
reformat and re-install Windows before they'll give you support)
(Thanks Chris)
One more reason to run Red Hat 7.1 or Mandrake Linux 8.0 is that many
of us on the ldl mailing list run Red Hat or Mandrake ourselves, so
hopefully it'll be easier for us to help you. :)
And a last reason is that Red Hat 7.1 and Mandrake 8.0 both install
gracefully right out of the box with almost everything running. (On
my I8K, I had video, X at 1600x1200, network, sound, etc. all working
out of the box with Red Hat 7.1)
10. Sound issues
Sound has been notoriously hard to setup on Linux in the past,
especially with the proprietary hardware that is often seen in
laptops. Probably the easiest way to get sound working is to get
the OSS sound package from 4-Front Technologies which are binary
drivers, with a relatively painless setup. If you don't feel like
shelling out the money for it, then you can also search our archives
as one foolish user was "courteous" enough to forward his commercial
license to the entire mailing list. (Here's a clue, it was from
memolink123@yahoo.com, and was sent on 2001 June 20, at 19:22:56)
However, that aside, it hopefully shouldn't be too hard to setup the
base drivers that come included with the Linux kernel.
Another option is to go with the ALSA sound drivers, which rumour has
it, have more features/better support for more sound cards.
(Hopefully someone can fill me in on their ALSA experience)
10.1. Sound on the Dell Inspiron 8000
If you're running Red Hat 7.1 or Mandrake 8.0, then sound
should have been auto-detected and installed out of the box
for you. Otherwise, on the 2.4.x kernels (I'm not sure if the
2.2 kernels had this driver or not), you should use the
"maestro3" module. For instance, in my modules.conf, I have
the following:
alias sound-slot-0 maestro3
post-install sound-slot-0 /bin/aumix-minimal -f /etc/.aumixrc -L >/dev/null 2>&1 || :
pre-remove sound-slot-0 /bin/aumix-minimal -f /etc/.aumixrc -S >/dev/null 2>&1 || :
(Note, these were added for me by Red Hat's installer to save
mixer settings across boots)
11. General debugging hints and clues
Debugging can be a huge pain in the butt while trying to configure/
setup Linux on your laptop. One thing to remember is: the magic
sysrq key is your friend. When you recompile your kernel, there is
an option to turn on "Magic SysRq key" - enable this in your kernel.
When you've then booted, you next have to do the following:
echo "1" > /proc/sys/kernel/sysrq
Another method is to edit your /etc/sysctl.conf and make sure you
have:
kernel.sysrq = 1
This method is nicer in that it's persistent across reboots rather
than the echo method which is only good for the current boot.
(Thanks Ryurick)
You can then hit Fn-SysRq (it's the PrintScrn button) in combination
with another key to do certain things. The three quick important
ones to know are:
Fn-SysRq-U = remounts all mounted filesystems read-only
Fn-SysRq-S = syncs all mounted file systems
Fn-SysRq-b = reboot
Another helpful thing is booting into single-user mode. To do this
pass the word "single" to your boot kernel as a boot-time parameter.
i.e.: at the LILO prompt, if your Linux partition is booted with the
label "linux" then type:
linux single
And you should boot up into single user mode. If you use GRUB, then
just add the keyword 'single' to your bootline.
12. Can I control the fan?
Yes! The 2.4 kernel now comes with an Inspiron 8000 driver (might work
on other Dell laptops too) that lets you monitor the temperature of
your laptop, and control the two fans. By default, both fans are
automatically controlled by the system, but you can play with them
if you want. You can download the GUI controller software at:
http://www.diefer.de/micha_henze/i8kfangui.html
Look for a package called 'i8kutils' (Debian users can just apt-get
'i8kutils') (Thanks Jochen)
13. Help! Everything is all fscked up!
There are many things that can prevent your system from booting,
ranging from the dreaded LILO problems (LI, LI-, etc.) to things
like the PCMCIA cardmgr locking up the system. This is where it
helps to be able to boot into a rescue system of some kind.
Many distributions provide a rescue system from their CD which
you can access by booting off the CD and typing "linux rescue"
(Progeny Linux does it, as does Mandrake and Red Hat). This
lets you boot a system off of the CD, and from there you can
mount your harddrive (example: mount /dev/hda1 /mnt) and change
any configuration files you may need. If you need to have your
hard drive be accessed as root (/) instead of (/mnt) after
mounting, then you can do a 'chroot /mnt' which will make your
/mnt system become a new root (i.e.: if you need to re-run LILO
for example).
The Debian installer (as do a few others) provides a virtual
console on tty2, which can be accessed by hitting ALT-F2 and
then hitting in the installer. This will start a simple
shell which will let you tweak your installation. (Thanks Fabian)
14. I am getting "unresolved symbols" errors when I boot up!
Let me guess....you just built a new kernel, right? How did I know?
For the purposes of our discussion lets presume you are booted up to
kernel version "2.4.6" and call the kernel version we are building
"2.4.7".
PRIOR TO BUILDING YOUR NEW KERNEL 2.4.7:
1) cd to /lib/modules, and make sure there is no 2.4.7 directory
2) if there is, do a "mv 2.4.7 2.4.7-old"
3) build your kernel
4) Did you remember to do a "make modules modules_install" from the
/usr/src/linux directory after building the kernel?
5) You rebooted, and are still getting "unresolved symbols" errors
when you boot, ay?
edit your /etc/modules.conf file to have the first line be:
path=/lib/modules/`uname -r`
15. LILO is giving me a message like "L, LI, LIL, LIL?, LIL-"?
The LILO start-up code consists of two parts : The "first stage" in a
bootsector and the "second stage" in /boot/boot.b. During the
installation of LILO a "map-file" is created (usualy /boot/map), where
LILO finds the necessary pointers (sector-adresses) to the operating
systems (Linux-Kernel etc.) that should be started.
Lilo prints its name one letter at a time on the screen. Each letter
is a signal that part of the bootstrap process has completed
successfully. If lilo freezes your machine during boot-up, you can
discover useful information by looking at how far it got before
freezing.
- No part of LILO has been loaded. Either LILO isn't
installed or the partition on which its boot sector is located isn't
active.
L - The first stage boot loader has been loaded and started, but it
can't load the second stage boot loader (/boot/boot.b). The two-digit
error codes indicate the type of problem. This condition usually
indicates a media failure or a geometry mismatch.
LI - The first stage boot loader was able to load the second stageboot
loader, but has failed to execute it. This can either be caused by a
geometry mismatch or by moving /boot/boot.b without running the map
installer. Perhaps you bilt a new kernel and did not run the
"lilo" command afterwards?
LIL - The second stage boot loader has been started, but it can't load
the descriptor table from the map file. This is typically caused by
a mediafailure or by a geometry mismatch.
LIL? - The second stage boot loader has been loaded at an incorrect
address. This is typically caused by a subtle geometry mismatch or
by moving /boot/boot.b without running the map installer. Try
rerunning lilo.
LIL- - The descriptor table is corrupt. This can either be caused by a
geometry bad/mismatch or by moving /boot/map without running the map
installer,or not reinstalling lilo (running the lilo command).
LILO - Lilo executed with no errors.
NOTE: A possible cause of disk geometry errors is installing all or
part of the /boot directory beyond the 1024th cylinder (only likely
if your drive is 8GB or larger).
16. How do I get the 4 Dell keys working on my Inspiron 8000?
This might apply to other systems as well, but for my Inspiron 8000
you can not get the two volume keys working as these are hardwired
to the sound card, and the maestro3 driver does not yet support them.
However, it is possible to get the other 4 keys mapped (for instance,
I have the Rewind/Fast Forward keys mapped to control my volume, and the
other two keys to launch my mail and web clients respectively).
In any case, the keycodes for the 4 keys are: 129, 130, 131, and 132
respectively. (In case anyone has the black dell 104-key keyboard
bundled with the APR kit, the keycodes for the top 3 keys are 146, 166,
and 158 respectively). To get these to work under X, you have to go
edit your X keyboard files found in /etc/X11/xkb. Edit
/etc/X11/xkb/keycodes/xfree86 and add lines that look like:
= 129;
= 130;
= 131;
= 132;
These define those 4 keycodes to return the I0? keycodes which stand
for Internet keys (i.e.: those frivolous keys on top of the new-fangled
keyboards out on the market these days). We now need to map those to
function keys, so edit /etc/X11/xkb/symbols/us (or whatever country
keymap you're using), and add lines that look like:
key { [F13] };
key { [F14] };
key { [F15] };
key { [F16] };
These map those keys to function keys, so now you can go into any
Xfree86 window manager which supports hotkeys and map those function
keys to launch applications or whatnot. (Sawfish supports this, as do
many other window managers).
For an example, download
http://www.whacked.net/ldl/volume-control-keys.tar.gz
This is my scripts and rewritten keyboard files to enable support for
the 4 Dell keys.
16.1. What about the 2 volume keys?
The new kernel support for the Inspiron 8000 (also works on
other laptops) in combination with the 'i8kutils' package
can enable support for the two volume keys.
Download the 'i8kutils' RPM at:
http://enigma.freshrpms.net/rpm.html?id=583
17. CD-ROM / DVD / CD-RW Issues
17.1 Installation of External CD-RWs
Remember in order to make sure that an external CD-RW is operating
properly, it is necessary to make sure that you have a SCSI device.
To accomplish this you must (a) have SCSI support compiled into your
kernel, and (b) add the parameters "hdx=ide-scsi" to your /etc/lilo.conf
file. Where "hdx" is representitive of the IDE device name that Linux
has assigned to the CD-RW you are attempting to configure.
Remember, to run the "lilo" command after making this modification to
your /etc/lilo.conf file.
17.2 Choppy or slow DVD playback
This can be caused by any number of things. Check that:
1) DMA is enabled on the DVD drive (using hdparm)
2) There are no programs polling the APM device (power/battery applets)
3) Make sure you're using Xv (the Xvideo extension), not Xshm
(the slower, shared memory version)
4) Try making sure DRI support is enabled.
18. Video playback in X isn't scaled right!
If you are only seeing half a video image, or the top left corner of an
image, you may be a victim of an Xv (Xvideo) bug with the ATI driver.
Xv is an extension that allows hardware access for video playback. If
you're seeing a cut-off video image in xine, mplayer, ogle, etc. and
you have an ATI card - then this is your problem. What you should do
is go to the GATOS project (http://gatos.sourceforge.net) and
download the ati.2 driver. By now, you should all be running X 4.1.0
at least, so download the ati.2 driver and follow the instructions to
install it. Then restart X and try xine or mplayer (make sure you're
telling them to use Xv instead XShm which is much slower).
19. My laptop is crashing - but I don't know why
Does it happen when you insert a PCMCIA card? If so, then read
section 7.
Is it occuring randomly, in both console & X? If so, then suspect
APIC or ACPI. In any case, disable both of them in your kernel. If
you can't boot long enough to recompile a kernel, then add the
tag "disableapic" at the boot prompt, or put it in your append line
for LILO, or at the end of your kernel line in GRUB.
Does it occur in X? Do you see a slow fade to white screen? If so,
then suspect your video drivers. ATI Rage Mobility cards should now
be stable and shouldn't be having any problems. Nvidia cards are
still suspect since the drivers are still being developed.
20. I'm stuck in text mode, how do I boot up in graphical mode?
(or vice versa)
edit /etc/inittab
if you're in text mode, you will see a line that says:
id:3:initdefault
if you're in graphical mode, you will see a line that says:
id:5:initdefault
this is your run level that your system will boot up into. 3 is
text mode, 5 is graphical mode - so just change them accordingly.
99. I still have more questions, now what do I do?
Alright, if you've read this entire FAQ, then your next thing should
be to look at some of the sites on the web that detail installing
Linux on a specific Dell laptop model. I've included some of those
links below.
If you STILL have more questions, then you should search through our
archives on the homepage and make sure the question hasn't been asked
already.
If you STILL can't find an answer, then go ahead and email the mailing
list... we're generally friendly, and try not to bite. :) And we
only make fun of those people who are foolish enough to openly pirate
a commercial sound system license. :)
==================================================================
Index of URLs and websites:
Stuart Tener's FAQ on setting up initrd:
http://www.whacked.net/ldl/initrd.doc
orinoco_cs homepage:
http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Orinoco.html
wlan-ng homepage: http://www.linux-wlan.com/linux-wlan/
pcmcia-cs homepage: http://pcmcia-cs.sourceforge.net
ltmodem download: http://www.heby.de/computer/ltmodem
LinModem help page: http://walbran.org/sean/linux/stodolsk/
Intel e100 driver page:
http://support.intel.com/support/network/adapter/pro100/30504.htm
Nvidia driver download: http://www.nvidia.com/view.asp?PAGE=linux
Linux kernel download page: http://www.kernel.org
ALSA homepage: http://www.alsasound.org
Inspiron 8000 GUI fan control: http://www.diefer.de/micha_henze/i8kfangui.html
i8kutils RPM: http://enigma.freshrpms.net/rpm.html?id=583
==================================================================
Dell specific installation guides:
Graeme Wilford's guide for getting RH9 up on the Inspiron 8500
http://www.ee.surrey.ac.uk/Personal/G.Wilford/Inspiron8500/
Doug Campbell's guide for getting the ATI Radeon 9000 drivers to work
http://www.ampersand.com/inspiron.html
Configuring a Dell Inspiron 8200 for Red Hat 8.0 (I8200 w/ GeForce4 440 Go +
DVD/CDRW) courtesy of Bruce Barnett
http://www.grymoire.com/Dell
Installing Linux on the Dell Inspiron (pretty old, from 1999ish):
http://www.ps.uci.edu/~tomba/inspiron
Thomas Hadig's page on installing SuSE 7.1 on a Dell Inspiron 8000 (good
info, especially if you want to install SuSE which is rare )
http://www.slac.stanford.edu/~hadig/projects/dell/dell.html
Eric Sundby's instructions for getting the Nvidia Geforce2Go card working on
his Dell Inspiron 8100 (running 1600x1200):
http://www.whacked.net/ldl/g2go-eric
Brian Gold's instructions for getting the Nvidia Geforce2Go card working on
his Dell Inspiron 8100 (running 1400x1050):
http://www.whacked.net/ldl/g2go-brian
Geoff's instructions for getting the Nvidia Geforce2Go card working on his
Dell Inspiron 8100 (running < 1600x1200)
http://www.whacked.net/ldl/g2go-geoff
Robert Burton's instructions for getting the Nvidia Geforce2Go card working:
http://www.whacked.net/ldl/g2go-robert
Andrew McGlashan's instructions for getting linux setup on his Inspiron 7500:
http://www.whacked.net/ldl/i7500-andrew
Rodney Gordon's excellent installation guide and walk through for setting
up his Dell Inspiron 8200:
http://www.pobox.com/~meff/i8200
Stephen Lau (me!)'s configuration files for PCMCIA (with the memory fix
mentioned above) and TrueMobile 1150/Orinoco Wavelan IEEE card:
http://www.whacked.net/ldl/pcmcia-wireless.tar
Stephen Lau's XF86Config file for the ATI Rage Mobility:
http://www.whacked.net/ldl/XF86Config-4-steve
==================================================================
General URLs of interest:
http://www.linux-laptop.net/dell.html
http://www.mobilix.org/howtos.html
http://www.linuxdoc.org