Linux on Dell Latitude 100L

Linux on the Dell Latitude 100L

Introduction:

I’ve had my Latitude for about 6 months and I’ve been pretty happy with
it. The hard drive has only been replaced once 4 months after I got it.
The motherboard lasted a good 5 months so it’s not too bad, as long as
you have a 4 year warranty. If I didn’t have a warranty I would have
hated it. It runs Linux pretty good. Only a few things have given me
trouble, and I have given my solutions to them below. Hopefully they
will be useful to you too.


Installation:
The first distribution that I loaded on was Debian unstable, just
because it’s the best. I used the new installer available at http://www.debian.org/devel/debian-installer/
to install it. It worked fine.

Just for fun I loaded some other distributions on it and for the most
part they worked fine. Like Gentoo and Suse.  I didn’t try setting
up all the hardware on them but there wasn’t any big hangups, except
for the few noted below.

If you have an older version of Xfree, I have pinpointed what exactly,
you need to use the latest BIOS (A6) or it’ll hang on a yellow screen.
I’ve had this trouble using knoppix. There is an option you can use to
disable something that let it work, I don’t remember what it was. If i
was you I would just update to BIOS A6.

Red Hat:
This actually applies to any disto that uses a kernel older than
2.4.24. The Broadcom BCM4401 ethernet card doesn’t work because the
drivers for it weren’t included until 2.4.24. So if you want to use Red
Hat 9 you’ll have trouble getting the network to work.

XFree86:
The graphics display device is the Intel 82852/8255GM. It
worked with out any problems in every distro I tested it on except
Knoppix which had the yellow screen problem and Gentoo which I couldn’t
get DRI working on, and since it was probably the connection I decided to try
with a hdmi to rca adapter with
an external monitor to try to make it work.

Dual Head:
If you’re like me, you want to get dual head output to work in
Linux. The Latitude 100L has a vga out port and it’s possible to extend
your desktop to a second monitor just like it is in windows. It took me
forever to find out how to do this but I finally figured it out.

*Note, I’m using Debian testing.

(I’m not sure you have to use Intel’s drivers, I did, but I think they
might be the same as the ones included in XFree or Xorg, try it out and
see)

Go to Intel’s Download
Finder
and download the *.tar.gz.

Extract the archive:
~$ tar xzpf intelgraphics_060704.tar.gz

Change to the package directory:
~$ cd dripkg/

Before you run the installer you have to change a few files ( I’m not
sure why, It’s like Intel didn’t test their package at all.)

~/dripkg$ cd drm

Use your favorite editor to change ever occurrence of *.o to *.ko. So
change line 47

MODULE_LIST := gamma.o tdfx.o r128.o radeon.o mga.o #sis.o

to read:

MODULE_LIST := gamma.ko tdfx.ko r128.ko radeon.ko mga.ko #sis.ko

and line 51

MODULE_LIST += gdg.o i810.o

to read:

MODULE_LIST += gdg.ko i810.ko

Save and exit.

~/dripkg/drm$ nano Makefile.Linux

Next edit the file drm_vm.h

And either delete or comment out (with ‘//’) the three lines starting
with line 104, so that it looks like this:

//             
DRM_DEBUG(“baddr = 0x%lx page = 0x%p, offset = 0x%lx, count=%d\$
//                       
baddr, __va(agpmem->memory->memory[offset]), offset,
//                       
atomic_read(&page->count));

Now go to the top level directory and run install.sh as root

~/dripkg/drm$ cd ..
~/dripkg/$ su
/home/usr/dripkg/# ./install.sh

*Be sure you have the kernel-headers package installed*

The install will run and compile the kernel modules as well as the
XFree drivers (hopefully) and copy them to the right spot. Restart X
and you should be all set. The driver still has the same name (i810) so
you won’t need to edit the XFConfig-4 file. However, I suggest you add
the line:

VideoRam 65536

to the device section to insure that you are using all your video
memory.

That should do it for compiling the Intel drivers now for the fun part.
Getting Dual head to work.

Basically all you need is the right settings in your XFConfig file,
Here’s what I added:

#Two device sections:

Section “Device”
       
Identifier      “Video0”
       
Driver          “i810”
       
VideoRam        65536
       
BusID          
“PCI:00:02:0”
       
Option         
“MonitorLayout” “CRT,LFP”  #this is the important option
       
Screen          0
EndSection

Section “Device”
       
Identifier      “Video1”
       
Driver          “i810”
       
VideoRam        65536
       
BusID          
“PCI:00:02:0”
       
Screen          1
EndSection

#Two monitor sections

Section “Monitor”
       
Identifier      “Generic Monitor”
       
HorizSync       28-50
       
VertRefresh     43-75
       
Option          “DPMS”
EndSection

Section “Monitor”
       
Identifier      “external monitor”
       
HorizSync      
32-48               
# You’ll need to set these based on your monitor’s specs.
       
VertRefresh     50-90
       
Option          “DPMS”
EndSection

#Two screen sections

Section “Screen”
       
Identifier      “Default Screen”
       
Device          “Video0”
       
Monitor         “Generic
Monitor”
       
DefaultDepth    16
        SubSection “Display”
               
Depth           1
               
Modes          
“1024×768” “800×600” “640×480”
        EndSubSection
        SubSection “Display”
               
Depth           4
               
Modes          
“1024×768” “800×600” “640×480”
        EndSubSection
        SubSection “Display”
               
Depth           8
               
Modes          
“1024×768” “800×600” “640×480”
        EndSubSection
        SubSection “Display”
               
Depth           15
               
Modes          
“1024×768” “800×600” “640×480”
        EndSubSection
        SubSection “Display”
               
Depth           16
               
Modes          
“1024×768” “800×600” “640×480”
        EndSubSection
        SubSection “Display”
               
Depth           24
               
Modes          
“1024×768” “800×600” “640×480”
        EndSubSection
EndSection
Section “Screen”
       
Identifier      “external screen”
       
Device          “Video1”
       
Monitor         “external
monitor”
        DefaultDepth   16
        SubSection “Display”
               
Depth           1
               
Modes          
“1024×768” “800×600” “640×480”
        EndSubSection
        SubSection “Display”
               
Depth           4
               
Modes          
“1024×768” “800×600” “640×480”
        EndSubSection
        SubSection “Display”
               
Depth           8
               
Modes          
“1024×768” “800×600” “640×480”
        EndSubSection
        SubSection “Display”
               
Depth           15
               
Modes          
“1024×768” “800×600” “640×480”
        EndSubSection
        SubSection “Display”
               
Depth           16
               
Modes          
“1024×768” “800×600” “640×480”
        EndSubSection
        SubSection “Display”
               
Depth           24
               
Modes          
“1024×768” “800×600” “640×480”
        EndSubSection
EndSection

#And let’s not forget the server layout section

Section “ServerLayout”
       
Identifier      “Default Layout”
       
Screen          0 “Default
Screen”
       
Screen          1
“external screen”  rightof “Default Screen”
       
InputDevice     “Generic Keyboard”
       
InputDevice     “Configured Mouse”
       
InputDevice     “Generic Mouse”
        Option  “Xinerama”
“true” #use “true” if you want one big desktop, does not work with DRI
EndSection

Restart X and BAMM you have dual screens, how cool is that.

Edit: x.org has support for dual head in their i810 driver, so you
could install that and not have to worry about using intel’s drivers.
But that’s a little more difficult.

Touchpad:

The touchpad will work with the generic driver but if you want
things like tap clicking you’ll need to install the synaptic driver:
# apt-get install xfree86-driver-synaptics

or get it at:

http://web.telia.com/~u89404340/touchpad/

It worked like a charm for me. There are many options you can give it.
Read the manual to find them.

Ethernet:

Works with a recent kernel.

Wireless

To use this you have to
install the ndiswrapper kernel module. Debian makes this pretty easy.
just:

# apt-get install ndiswrapper-source ndiswrapper-utils module-assistant

then run:

# module-assistant auto-install ndiswrapper

then download the latest driver for the wireless card from dell’s
website:

http://support.dell.com

You could also get it at ndiswrapper.sf.net but i havn’t tried those.

Then use wine to run the .exe and extract the files.
Go to the directory where the files where extracted and run:

#ndiswrapper -i bcmwl5a.inf

Add the following lines to /etc/network/interfaces:

iface wlan0 inet dhcp
pre-up modprobe ndiswrapper
post-up rmmod ndiswrapper

and what ever else is appropriate for your wlan.

Modem:

I havn’t played with this much but I think there are some
drivers floating around the net for it.

Power management:

I think Linux users are pretty much screwed as far as this goes.
There’s some bug in the ACPI bios that won’t let it work with Linux.
And since there is no support in the BIOS for APM there is virtually no
PM at all. But I havn’t looked into it very much because I run my
laptop on AC most of the time.

The end:

For more information about running Linux on Dell laptops check out some of the other guides
at Tuxmobile – Linux on Dell Laptops.
That’s about all I know about this laptop so far. If you have
any comments or questions e-mail me at {{email}}.



Leave a Reply

Your email address will not be published. Required fields are marked *