Difference between revisions of "Dell Latitude D600"

From ArchWiki
Jump to: navigation, search
(use https for links to archlinux.org)
 
(13 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
[[Category:Dell]]
 
[[Category:Dell]]
The Dell Latitude D600 was released on 3/12/03. At the time of its release it was met with great  [http://reviews.cnet.com/laptops/dell-latitude-d600/4505-3121_7-20906166.html reviews]. Despite being almost 5 years old this business laptop is perfectly capable of delivering a satisfying Linux experience.
+
{| class="wikitable" style="float: right;"
 +
| '''Device''' || '''Status''' || '''Modules'''
 +
|-
 +
| Video || {{G|Working}} || radeon
 +
|-
 +
| Wireless || {{G|Works after installing firmware}} || b43legacy/ipw2200
 +
|-
 +
| Ethernet || {{G|Working}} || tg3
 +
|-
 +
| Audio || {{G|Working}} || snd_ac97_codec
 +
|-
 +
| Trackpad || {{G|Working}} || xf86-input-synaptics
 +
|-
 +
| PCMCIA || {{G|Working}} || pcmcia-cs
 +
|-
 +
| Modem || style="text-align:center;" | Untested, probably works || hsfmodem
 +
|-
 +
| IRDA || style="text-align:center;" | Untested || ?
 +
|}
  
== Introduction==
+
The Dell Latitude D600 was released on 3/12/2003. Despite its age, it can prove to be quite a capable machine. With a couple exceptions, Linux support for the D600 is outstanding. Most of its components work automatically with Arch.
This is not a guide on how to install Arch (for help with that see the [https://www.archlinux.org/static/docs/arch-install-guide.txt installation guide]), but rather an attempt to cover the steps of how to take full advantage of the laptop's hardware. Despite being an Arch-wiki page, everything explained here should apply to other Linux distributions as well.
+
  
Getting most of the hardware to work correctly under Linux, is not overly difficult (in fact these days most things are auto-detected, and "just work"<sup>TM</sup>. Keep in mind I am by no means an expert of hardware in Linux so you may find better solutions than the ones presented here. If you do ''please'' edit this guide so that other people may benefit as well.
+
== Configuration ==
  
== Documentation ==
+
=== Video ===
As always the documentation for a Dell laptop is almost non-existant. The only documentation you are going to find for the [http://support.dell.com/support/downloads/driverslist.aspx?c=us&l=en&s=gen&ServiceTag=&SystemID=LAT_PNT_PM_D600&os=WW1&osl=en&catid=&impid= d600] is the [http://www.dell.com/downloads/us/products/latit/d600_spec.pdf spec sheet] and some useless [http://support.dell.com/support/edocs/systems/latd600/en/index.htm#online_documentation pdf] files (although the service guide can be useful if you need to take the laptop apart for some reason). So with that being said the only way to find out ''useful'' information is to inspect each individual hardware component.
+
Use the open source {{pkg|xf86-video-ati}} driver. ATI dropped support for the Mobility Radeon 9000 in their proprietary Catalyst driver after version 8.28.8.
  
= Hardware =
+
=== WiFi ===
===Working===
+
The D600 comes with either an Intel Pro Wireless 2200 or a Broadcom BCM4306 rev 2. Both are supported natively.
* Pentium M, with CPU frequency scaling
+
* ATI Mobility Radeon 9000, including framebuffer (open source radeon driver)
+
* Wireless card:
+
** Intel 2200 Pro/Wireless Lan card (ipw2200 driver)
+
** Broadcom BCM4306 rev2 Wireless card (b43legacy driver)
+
* Sigmatel STAC9750 audio (including mixing with alsa)
+
* Function/audio keys
+
* Alps Touchpad and pointing stick (synaptics driver)
+
* O2Media PCMCIA slot
+
* CD/RW, DVD+/-RW
+
* Broadcom BCM5702 ethernet card
+
* Hardware monitoring (i8k kernel module, hddtemp)
+
  
===Untested===
+
==== Intel PRO Wireless 2200 ====
* IRDA
+
The driver, ipw2200, is included in the kernel, so just install the {{pkg|ipw2200-fw}} package and it should work.
* Modem
+
* ACPI Sleep States
+
  
= Post-Installation =
+
==== Broadcom BCM4306 rev.2 ====
== Wireless ==
+
The b43legacy driver is included in the kernel, but unlike with the Intel card, the firmware license is not as permissive, so this process is a little more involved.
The D600 comes with either an Intel Pro Wireless 2200 or a Broadcom BCM4306 rev 2. Both cards work flawlessly with their ipw2200 or b43legacy drivers, respectively.  
+
  
=== Intel PRO Wireless 2200 ===
+
You'll need to download the following two firmware files:
As the driver is already included in the kernel the only thing that needs to be done is to install the firmware.
+
 
+
# pacman -S ipw2200-fw
+
 
+
Now add the entry ''ipw2200'' in the modules section of {{ic|/etc/rc.conf}}, and add/change the line {{ic|1=NET_PROFILES=(main)}}. Now make a {{ic|main}} network-profile in {{ic|/etc/network-profile}}following the template in that directory.  It will look something like the following.
+
 
+
{{hc|/etc/network-profile/main|2=# Network Profile
+
DESCRIPTION="Default Network Profile"
+
 
+
# Network Settings
+
INTERFACE=eth1
+
HOSTNAME=home
+
 
+
# Wireless Settings (optional)
+
ESSID=Router
+
IWOPTS="dhcp $ESSID"
+
#WIFI_INTERFACE=wlan0  # use this if you have a special wireless interface
+
                        # that is linked to the real $INTERFACE
+
WIFI_WAIT=2            # seconds to wait for the wireless card to}}
+
 
+
If you run into the strange problem of your wireless interface switching between eth0 and eth1 at boot then you may want to use {{ic|nameif}}. Simply put your network id followed by the mac address in /etc/mactab.
+
 
+
eth0 00:0C:DB:E8:38:5A
+
wlan0 00:1F:12:62:2E:CC
+
 
+
(Taken from [https://wiki.archlinux.org/index.php/IBM_Thinkpad_T30 here].)
+
In addition, a small change to /etc/rc.d/network is necessary to run the nameif command prior to configuring the interfaces. The following excerpt from /etc/rc.d/network shows the lines that need to be added. This change simply checks for the existance of the /etc/mactab file and if it exists executes nameif to assign interface names.
+
 
+
              stat_busy "Starting Network"
+
              error=0
+
              ##### begin nameif change #####
+
              # set names
+
              if [ -n /etc/mactab ]; then
+
                /sbin/nameif
+
              fi
+
              ##### end nameif change #####
+
              # bring up bridge interfaces
+
              bridge_up
+
              # bring up ethernet interfaces
+
 
+
=== Broadcom BCM4306 rev 2 ===
+
Not long ago, Broadcom cards used to be a nightmare under Linux, until the b43 drivers came along. The b43 and b43legacy drivers are included in the kernel, so as with the Intel card, we just need to get the firmware for it.
+
 
+
If you have an Ethernet connection, install b43-fwcutter from pacman, like so:
+
 
+
  # pacman -S b43-fwcutter
+
 
+
If not, download the b43-fwcutter tarball and compile it:
+
 
+
  wget http://bu3sch.de/b43/fwcutter/b43-fwcutter-015.tar.bz2
+
  tar xjf b43-fwcutter-015.tar.bz2
+
  cd b43-fwcutter-015
+
  make
+
  sudo make install
+
  cd ..
+
 
+
Next, you'll need to download the following two files:
+
  
 
* http://mirror2.openwrt.org/sources/broadcom-wl-4.150.10.5.tar.bz2<br />
 
* http://mirror2.openwrt.org/sources/broadcom-wl-4.150.10.5.tar.bz2<br />
 
* http://downloads.openwrt.org/sources/wl_apsta-3.130.20.0.o
 
* http://downloads.openwrt.org/sources/wl_apsta-3.130.20.0.o
  
And use b43-fwcutter to install the firmware files. Note that the latter two commands require a root shell.
+
And use {{pkg|b43-fwcutter}} to install the firmware files:
  
 
   $ tar xfvj broadcom-wl-4.150.10.5.tar.bz2
 
   $ tar xfvj broadcom-wl-4.150.10.5.tar.bz2
Line 102: Line 47:
 
   # b43-fwcutter --unsupported -w /lib/firmware broadcom-wl-4.150.10.5/driver/wl_apsta_mimo.o
 
   # b43-fwcutter --unsupported -w /lib/firmware broadcom-wl-4.150.10.5/driver/wl_apsta_mimo.o
  
Since this card uses the b43legacy driver, we'll blacklist and remove the b43 driver just in case.
+
It would be bad if udev were to load the b43 driver, as it would conflict with b43legacy, so we'll need to blacklist it:
  
 
   # modprobe -r b43
 
   # modprobe -r b43
Line 111: Line 56:
 
   # modprobe b43legacy
 
   # modprobe b43legacy
  
Once the firmware is installed, NetworkManager and Wicd both handle the card flawlessly. I haven't tested any other connection managers, but those are the two most popular.
+
=== Trackpad ===
 +
{{Note|This configuration may not be necessary on a modern system. Only follow these instructions if you find the trackpad is not working properly.}}
 +
 
 +
The trackpad and pointing stick are supported out-of-the-box, but to enable certain features, such as tap-to-click or edge scrolling, you'll need to write some Xorg configuration files.
 +
 
 +
Open {{ic|/etc/X11/xorg.conf.d/10-evdev.conf}} and comment out every line in the section referring to touchpads. It should look like this when you're done:
 +
 
 +
  #Section "InputClass"
 +
  #        Identifier "evdev touchpad catchall"
 +
  #        MatchIsTouchpad "on"
 +
  #        MatchDevicePath "/dev/input/event*"
 +
  #        Driver "evdev"
 +
  #EndSection
  
==CPU Scaling==
+
Next, you'll want to create a configuration file for your trackpad. The following is a good starting point.
See [[CPU Frequency Scaling]].
+
  
Some BIOS revisions don't work properly with acpi-cpufreq, likely due to the driver being buggy or incorrect DSDT tables. There isn't a fix for this that I know of yet.
+
{{hc|/etc/X11/xorg.conf.d/10-synaptics.conf|2=
 +
Section "InputClass"
 +
  Driver      "synaptics"
 +
  Identifier  "touchpad catchall"
 +
  MatchDevicePath      "/dev/input/event*"
 +
  MatchIsTouchpad      "on"
 +
  Option "VertEdgeScroll" "on"
 +
  Option "HorizEdgeScroll" "on"
 +
  Option "TapButton1"  "1"
 +
EndSection}}
  
==Suspend to Ram==
+
After saving, reboot or restart X to apply the changes.
There is a serious problem with KMS in the radeon driver that prevents normal wake-up from sleep mode with this laptop. Bug reports have been filed at [https://bugzilla.kernel.org/show_bug.cgi?id=16140 kernel.org], [https://bugzilla.redhat.com/show_bug.cgi?id=531825 redhat.com], and [https://bugs.launchpad.net/ubuntu/+source/linux/+bug/559163 launchpad.org]. Currently, there are no known fixes, but there is a workaround: set a primary password in the BIOS. The BIOS will initialize the video card on wake-up to ask for the password, and then Linux will resume normally.
+
  
This is easily accomplished by installing {{ic|[https://aur.archlinux.org/packages/uswsusp/uswsusp/ uswsusp]}} from AUR. Contrary to the ominous output from pacman no additional configuration is needed. Additionally, {{ic|s2ram}} will probably output an error message saying that ''This machine can only suspend without framebuffer.'' but I have not encountered problems with resuming from suspend.
+
== Troubleshooting ==
  
{{hc|# s2ram -i|2=This machine can be identified by:
+
=== CPU powersaving ===
    sys_vendor  = "Dell Computer Corporation"
+
Some BIOS revisions don't work properly with acpi-cpufreq, likely due to the driver being buggy or incorrect DSDT tables. If you're experiencing problems, flash your BIOS to A16 (the latest version.)
    sys_product  = "Latitude D600                  "
+
    sys_version  = ""
+
    bios_version = "A16"}}
+
  
# s2ram -f
+
If your D600 lacks a battery, the BIOS will forcibly downclock the CPU to 600MHz. To override this behavior, add {{ic|<nowiki>processor.ignore_ppc=1</nowiki>}} to your kernel command-line.
  
==Video Card==
+
=== Resuming from sleep ===
'''Use the open source "xf86-video-ati" radeon driver.''' ATI dropped support for the Radeon (RV250) Mobility FireGL 9000 after catalyst driver version 8.28.8.  
+
There is a serious problem with KMS in the radeon driver that prevents normal resume from sleep mode with this laptop. [https://bugzilla.redhat.com/show_bug.cgi?id=531825] A quirk was [https://github.com/torvalds/linux/commit/45171002b01b2e2ec4f991eca81ffd8430fd0aec included in Linux 3.7] that works around this issue automatically. If you're using an older kernel, either add {{ic|1=AGPMode=1}} to your kernel command-line or set a primary password in the BIOS.
  
The xf86-video-ati package is available in the Extra repository.
+
== See also ==
 +
* [http://www.dell.com/downloads/us/products/latit/d600_spec.pdf Dell specifications brochure] (PDF)

Latest revision as of 22:37, 18 June 2015

Device Status Modules
Video Working radeon
Wireless Works after installing firmware b43legacy/ipw2200
Ethernet Working tg3
Audio Working snd_ac97_codec
Trackpad Working xf86-input-synaptics
PCMCIA Working pcmcia-cs
Modem Untested, probably works hsfmodem
IRDA Untested  ?

The Dell Latitude D600 was released on 3/12/2003. Despite its age, it can prove to be quite a capable machine. With a couple exceptions, Linux support for the D600 is outstanding. Most of its components work automatically with Arch.

Configuration

Video

Use the open source xf86-video-ati driver. ATI dropped support for the Mobility Radeon 9000 in their proprietary Catalyst driver after version 8.28.8.

WiFi

The D600 comes with either an Intel Pro Wireless 2200 or a Broadcom BCM4306 rev 2. Both are supported natively.

Intel PRO Wireless 2200

The driver, ipw2200, is included in the kernel, so just install the ipw2200-fw package and it should work.

Broadcom BCM4306 rev.2

The b43legacy driver is included in the kernel, but unlike with the Intel card, the firmware license is not as permissive, so this process is a little more involved.

You'll need to download the following two firmware files:

And use b43-fwcutter to install the firmware files:

 $ tar xfvj broadcom-wl-4.150.10.5.tar.bz2
 # b43-fwcutter -w /lib/firmware wl_apsta-3.130.20.0.o
 # b43-fwcutter --unsupported -w /lib/firmware broadcom-wl-4.150.10.5/driver/wl_apsta_mimo.o

It would be bad if udev were to load the b43 driver, as it would conflict with b43legacy, so we'll need to blacklist it:

 # modprobe -r b43
 # echo "blacklist b43" >> /etc/modprobe.d/modprobe.conf

Finally, load the b43legacy driver:

 # modprobe b43legacy

Trackpad

Note: This configuration may not be necessary on a modern system. Only follow these instructions if you find the trackpad is not working properly.

The trackpad and pointing stick are supported out-of-the-box, but to enable certain features, such as tap-to-click or edge scrolling, you'll need to write some Xorg configuration files.

Open /etc/X11/xorg.conf.d/10-evdev.conf and comment out every line in the section referring to touchpads. It should look like this when you're done:

 #Section "InputClass"
 #        Identifier "evdev touchpad catchall"
 #        MatchIsTouchpad "on"
 #        MatchDevicePath "/dev/input/event*"
 #        Driver "evdev"
 #EndSection

Next, you'll want to create a configuration file for your trackpad. The following is a good starting point.

/etc/X11/xorg.conf.d/10-synaptics.conf
Section "InputClass"
   Driver      "synaptics"
   Identifier  "touchpad catchall"
   MatchDevicePath      "/dev/input/event*"
   MatchIsTouchpad      "on"
   Option "VertEdgeScroll" "on"
   Option "HorizEdgeScroll" "on"
   Option "TapButton1"  "1"
EndSection

After saving, reboot or restart X to apply the changes.

Troubleshooting

CPU powersaving

Some BIOS revisions don't work properly with acpi-cpufreq, likely due to the driver being buggy or incorrect DSDT tables. If you're experiencing problems, flash your BIOS to A16 (the latest version.)

If your D600 lacks a battery, the BIOS will forcibly downclock the CPU to 600MHz. To override this behavior, add processor.ignore_ppc=1 to your kernel command-line.

Resuming from sleep

There is a serious problem with KMS in the radeon driver that prevents normal resume from sleep mode with this laptop. [1] A quirk was included in Linux 3.7 that works around this issue automatically. If you're using an older kernel, either add AGPMode=1 to your kernel command-line or set a primary password in the BIOS.

See also