Difference between revisions of "Dell Latitude D600"

From ArchWiki
Jump to: navigation, search
(fixing error reported by bot)
m (Resuming from sleep)
(12 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[Category:Dell (English)]]
+
[[Category:Dell]]
The d600 was a released by Dell 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.
+
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.
  
== Introduction==
+
= Hardware =
This is not a guide on how to install Arch (for help with that see the [http://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.
+
===Working===
 +
* Intel Pentium-M, with CPU frequency scaling
 +
* ATI Mobility Radeon 9000 (radeon driver)
 +
* Wireless card:
 +
** Intel 2200 Pro/Wireless Lan card (ipw2200 driver)
 +
** Broadcom BCM4306 rev2 Wireless card (b43legacy driver)
 +
* Sigmatel STAC9750 AC'97 audio
 +
* Fn key combos and audio buttons
 +
* Alps DualPoint trackpad and pointing stick (synaptics driver)
 +
* O2Media PCMCIA slot
 +
* CD/RW, DVD+/-RW
 +
* Broadcom BCM5702 gigabit ethernet (tg3 driver)
 +
* Hardware monitoring (i8k kernel module, hddtemp)
 +
* Sleep and resume (see Resuming from sleep section)
  
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.
+
===Untested===
 +
* IRDA
 +
* Conexant V.56 modem (probably works)
  
== Documentation ==
+
= Post-Installation =
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.
+
  
= Hardware =
+
== Wireless ==
Here's the output of
+
The D600 comes with either an Intel Pro Wireless 2200 or a Broadcom BCM4306 rev 2. Both are supported natively.
{{Command|name=lshwd|output=00:00.0 Class 0600: Intel Corp.|82855PM Processor to I/O Controller (intel-agp)
+
00:01.0 Class 0604: Intel Corp.|82855PM Processor to AGP Controller (unknown)
+
00:1d.0 Class 0c03: Intel Corp.|82801DB USB Controller (uhci_hcd)
+
00:1d.1 Class 0c03: Intel Corp.|82801DB USB Controller (uhci_hcd)
+
00:1d.2 Class 0c03: Intel Corp.|82801DB USB Controller (uhci_hcd)
+
00:1d.7 Class 0c03: Intel Corp.|82801DB USB Enhanced Controller (ehci-hcd)
+
00:1e.0 Class 0604: Intel Corp.|82801 Hub Interface to PCI Bridge (hw_random)
+
00:1f.0 Class 0601: Intel Corp.|82801DBM LPC Interface Bridge (i810-tco)
+
00:1f.1 Class 0101: Intel Corp.|82801DBM IDE Controller (UltraATA/100) (piix)
+
00:1f.5 Class 0401: Intel Corp.|ICH4 845G/GL Chipset AC'97 Audio Controller (snd-intel8x0)
+
01:00.0 Class 0300: ATI Technologies Inc.|Radeon Mobility 9000 (M9) Lf (AGP) (ati)
+
02:00.0 Class 0200: Broadcom Corp.|NetXtreme BCM5702X Gigabit Ethernet (tg3)
+
02:01.0 Class 0607: O2Micro Inc.|OZ711EC1 SmartCardBus Controller (yenta_socket)
+
02:01.1 Class 0607: O2Micro Inc.|OZ711EC1 SmartCardBus Controller (yenta_socket)
+
02:03.0 Class 0280: Intel Corp.|Intel(R) PRO/Wireless 2200BG (ipw2200)}}
+
  
 +
=== Intel PRO Wireless 2200 ===
 +
As the driver is already included in the kernel the only thing that needs to be done is to install the firmware.
  
'''Overview'''
+
# pacman -S ipw2200-fw
* Intel Pentium M Processor
+
* ATI Radeon 9000 (RV250 Mobility FireGL 9000 4x AGP)
+
* Intel 2200 Pro/Wireless LAN card '''OR'''
+
** Broadcom 54g Wireless card
+
* Broadcom BCM570 Ethernet card
+
* Integrated Intel 82801 (intel8x0) sound card
+
* PCMCIA card port
+
* Alps touchpad
+
* Function/Audio keys
+
* CD/RW, DVD+/-RW
+
* IRDA
+
  
 +
=== Broadcom BCM4306 rev 2 ===
 +
The b43legacy driver is included in the kernel, so as with the Intel card, we just need to get the firmware for it.
  
'''Working'''
+
You'll need to download the following two firmware files:
* Cpu frequency scaling
+
* Video Card: including framebuffer (open source radeon driver)
+
* Intel 2200 Pro/Wireless Lan card (ipw2200 driver)
+
** Broadcom 54g Wireless card (ndiswrapper with windows driver bcmwl5 or native kernel module)
+
* Soundcard (including mixing with alsa)
+
* Function/audio keys
+
* Touchpad
+
* PCMCIA
+
* CD/RW, DVD+/-RW
+
* Ethernet Card
+
* Hardware monitoring (i8k kernel module)
+
  
 +
* 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
  
'''Untested'''
+
And use b43-fwcutter to install the firmware files.
* IRDA
+
* Modem (not planning on testing)
+
* ACPI Sleep States
+
  
= Pre-Installation =
+
  $ tar xfvj broadcom-wl-4.150.10.5.tar.bz2
==Bios Update==
+
  # b43-fwcutter -w /lib/firmware wl_apsta-3.130.20.0.o
Now before you delete the Windows partition, you'll want to update the bios to the newest version (rev. A16 as of this writing), to avoid any potential non-OS hardware related problems. Grab 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= executable] and install it.
+
  # b43-fwcutter --unsupported -w /lib/firmware broadcom-wl-4.150.10.5/driver/wl_apsta_mimo.o
  
= Post Installation =
+
It would be bad if udev were to load the b43 driver, as it would conflict with b43legacy, so let's go ahead and blacklist it:
  
== Wireless ==
+
  # modprobe -r b43
The D600 comes with either an Intel Pro Wireless 2200 or a Broadcom BCM43xx. The BCM43xx can be quite fickle under Linux, however the Intel Pro Wireless works flawlessly and is trivial to install. As the driver is already included in the kernel the only thing that needs to be done is to install the firmware.
+
  # echo "blacklist b43" >> /etc/modprobe.d/modprobe.conf
  
# pacman -S ipw2200-fw
+
Finally, load the b43legacy driver:
  
Now add the entry ''ipw2200'' in the modules section of {{Filename|/etc/rc.conf}}, and add/change the line {{Codeline|1=NET_PROFILES=(main)}}. Now make a {{Codeline|main}} network-profile in {{Filename|/etc/network-profile|}}following the template in that directory.  It will look something like the following.
+
  # modprobe b43legacy
  
{{File|name=/etc/network-profile/main|content=# Network Profile
+
==Trackpad==
DESCRIPTION="Default Network Profile"
+
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.
  
# Network Settings
+
Open your favorite text editor to the following file:
INTERFACE=eth1
+
HOSTNAME=home
+
  
# Wireless Settings (optional)
+
   /etc/X11/xorg.conf.d/10-evdev.conf
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}}
+
  
 +
Comment out every line in the section referring to touchpads. It should look like this when you're done:
  
If you run into the strange problem of your wireless interface switching between eth0 and eth1 at boot then you may want to use {{Codeline|nameif}}. Simply put your network id followed by the mac address in /etc/mactab.
+
  #Section "InputClass"
 +
  #        Identifier "evdev touchpad catchall"
 +
  #        MatchIsTouchpad "on"
 +
  #        MatchDevicePath "/dev/input/event*"
 +
  #        Driver "evdev"
 +
  #EndSection
  
eth0 00:0C:DB:E8:38:5A
+
Next, you'll want to create a configuration file for your trackpad. The following is a good starting point. You can add more Synaptics config options if you'd like.
wlan0 00:1F:12:62:2E:CC
+
  
(Taken from [http://wiki.archlinux.org/index.php/IBM_Thinkpad_T30 here].)
+
{{hc|/etc/X11/xorg.conf.d/10-synaptics.conf|2=
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.
+
Section "InputClass"
 +
  Driver      "synaptics"
 +
  Identifier  "touchpad catchall"
 +
  MatchDevicePath      "/dev/input/event*"
 +
  MatchIsTouchpad      "on"
 +
  Option "VertEdgeScroll" "on"
 +
  Option "HorizEdgeScroll" "on"
 +
  Option "TapButton1"  "1"
 +
EndSection}}
  
              stat_busy "Starting Network"
+
Finally, restart X, and your trackpad should be fully functional!
              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
+
 
+
If you are using a Broadcom wireless card you will probably have issues trying to get the Gnome or KDE network gui's to manage your card correctly. {{Codeline|[http://wiki.archlinux.org/index.php/Wicd wicd]}} doesn't seem to have any problems managing this card, however.
+
  
 
==CPU Scaling==
 
==CPU Scaling==
See [[CPU Frequency Scaling]].
+
See [[CPU Frequency Scaling]]. All Pentium-M CPUs support Enhanced Intel SpeedStep, so you'll need the ''acpi-cpufreq'' driver.
  
==Suspend to Ram==
+
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.)
This is easily accomplished by installing {{Codeline|[http://aur.archlinux.org/packages/uswsusp/uswsusp/ uswsusp]}} from AUR. Contrary to the ominous output from pacman no additional configuration is needed. Additionally, {{Codeline|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.
+
  
{{Command|name=# s2ram -i|output=This machine can be identified by:
+
==Resuming from sleep==
    sys_vendor  = "Dell Computer Corporation"
+
There is a serious problem with KMS in the radeon driver that prevents normal resume from sleep mode with this laptop. This will remain unfixed for the foreseeable future. (see: [https://bugzilla.redhat.com/show_bug.cgi?id=531825 Redhat Bugzilla #531825]) Setting {{ic|1=AGPMode=1}} on the kernel boot line will workaround the issue. Another workaround, which works with varying degrees of success, is to set a primary password in the BIOS.
    sys_product  = "Latitude D600                  "
+
    sys_version  = ""
+
    bios_version = "A16"}}
+
  
# s2ram -f
+
==Video Card==
 +
'''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.
  
=Xorg=
+
The [https://www.archlinux.org/packages/extra/i686/xf86-video-ati/ xf86-video-ati package] is available in the Extra repository.
With the constant stream of updates, and TONS of outdated documentation on the web, Xorg can be a pain to configure.
+
 
+
==Video Card==
+
'''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. The [http://aur.archlinux.org/packages.php?do_Details=1&ID=8286 binary] and the [http://aur.archlinux.org/packages.php?do_Details=1&ID=8287 userspace tools] are available in the AUR, however they ''WILL NOT'' load with Xorg >= 7.2.
+

Revision as of 21:55, 27 July 2013

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.

Hardware

Working

  • Intel Pentium-M, with CPU frequency scaling
  • ATI Mobility Radeon 9000 (radeon driver)
  • Wireless card:
    • Intel 2200 Pro/Wireless Lan card (ipw2200 driver)
    • Broadcom BCM4306 rev2 Wireless card (b43legacy driver)
  • Sigmatel STAC9750 AC'97 audio
  • Fn key combos and audio buttons
  • Alps DualPoint trackpad and pointing stick (synaptics driver)
  • O2Media PCMCIA slot
  • CD/RW, DVD+/-RW
  • Broadcom BCM5702 gigabit ethernet (tg3 driver)
  • Hardware monitoring (i8k kernel module, hddtemp)
  • Sleep and resume (see Resuming from sleep section)

Untested

  • IRDA
  • Conexant V.56 modem (probably works)

Post-Installation

Wireless

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

Intel PRO Wireless 2200

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

Broadcom BCM4306 rev 2

The b43legacy driver is included in the kernel, so as with the Intel card, we just need to get the firmware for it.

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 let's go ahead and blacklist it:

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

Finally, load the b43legacy driver:

 # modprobe b43legacy

Trackpad

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 your favorite text editor to the following file:

 /etc/X11/xorg.conf.d/10-evdev.conf

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. You can add more Synaptics config options if you'd like.

/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

Finally, restart X, and your trackpad should be fully functional!

CPU Scaling

See CPU Frequency Scaling. All Pentium-M CPUs support Enhanced Intel SpeedStep, so you'll need the acpi-cpufreq driver.

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.)

Resuming from sleep

There is a serious problem with KMS in the radeon driver that prevents normal resume from sleep mode with this laptop. This will remain unfixed for the foreseeable future. (see: Redhat Bugzilla #531825) Setting AGPMode=1 on the kernel boot line will workaround the issue. Another workaround, which works with varying degrees of success, is to set a primary password in the BIOS.

Video Card

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.

The xf86-video-ati package is available in the Extra repository.