HARDWARE Dell Inspiron 600m
From Gentoo Linux Wiki
| Laptops • TV Tuner Cards • Wireless • Servers • Storage • Other Hardware • Motherboards • Related |
Contents |
[edit] General
This document will help you setup Gentoo Linux on your Dell 600m Laptop.
[edit] News
This is a work in process I have most features working and I just need to type up how it was done.
Thanks for your patience!
[edit] 600m Hardware Layout
[edit] Specifications
Processor
- Intel Pentium M Processor 725 (1.60GHz, 2MB Cache, 400MHz FSB )
- Intel Centrino Mobile Technology
Memory
- 256 MB DDR SDRAM (Upgradable to 2GB) - 2 X PC2100 SODIMM Sockets
Motherboard Chipset
- Intel 855PM (Odem) + ICH4-M
Display
- 14.1" TFT SXGA+ Display (Resolution 1400x1050x16M)
Video Card
- ATI Mobile Radeon 9000 (64MB DDR, 4X AGP
Hard Drive
- 40 GB Toshiba MK4026GZX Ultra ATA
Optical Drives
- Philips CD-RW/DVD-ROM (24x/10x/24x CD-RW, 8x DVD)
Sound Cards
- Integrated AC'97 Audio Controller (SigmaTel)
Modems
- Internal 56k v.92 fax modem
Network Interface
- Broadcom Corporation NetXtreme BCM5705M Gigabit Ethernet (10/100/1000)
Wireless Networking
- Intel 2200BG 802.11b/g mini pci wireless card (WEP, WPA, 802.1x)
- TrueMobile Bluetooth card
I/O Ports
- 2x USB 2.0
- Serial Port: 9-pin connector
- Audio Jacks: line-out(external speakers/headphone) external microphone
- Parallel Port: 25-hole connector
- Video: 15-pin monitor connector
- S-Video: 7-pin mini-DIN connector
- Ethernet: RJ-45 connector
- Serial Infared Communications port (IrDA-1.1)
- Modem: RJ-11 connector
Slots
- Connectors: 1x Type I or Type II card (3.3 and 5V card)
Batteries
- Primary: 48Whr - 6 cell Lithium Ion Battery
- Secondary: available
| Code: lspci output |
0000:00:00.0 Host bridge: Intel Corp. 82855PM Processor to I/O Controller (rev 03) 0000:00:01.0 PCI bridge: Intel Corp. 82855PM Processor to AGP Controller (rev 03) 0000:00:1d.0 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 01) 0000:00:1d.1 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 01) 0000:00:1d.2 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 01) 0000:00:1d.7 USB Controller: Intel Corp. 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (rev 01) 0000:00:1e.0 PCI bridge: Intel Corp. 82801 Mobile PCI Bridge (rev 81) 0000:00:1f.0 ISA bridge: Intel Corp. 82801DBM (ICH4-M) LPC Interface Bridge (rev 01) 0000:00:1f.1 IDE interface: Intel Corp. 82801DBM (ICH4-M) IDE Controller (rev 01) 0000:00:1f.5 Multimedia audio controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 01) 0000:00:1f.6 Modem: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 01) 0000:01:00.0 VGA compatible controller: ATI Technologies Inc Radeon R250 Lf [FireGL 9000] (rev 02) 0000:02:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5705M Gigabit Ethernet (rev 01) 0000:02:01.0 CardBus bridge: O2 Micro, Inc. OZ711EC1 SmartCardBus Controller (rev 20) 0000:02:01.1 CardBus bridge: O2 Micro, Inc. OZ711EC1 SmartCardBus Controller (rev 20) 0000:02:03.0 Network controller: Intel Corp. PRO/Wireless 2200BG (rev 05) |
[edit] ACPI Power Management
I followed the official Gentoo Power Management Guide to setup acpi.
[edit] Power (AC/Battery)
- emerge acpid
- Create a battery run level
- add acpid to the default and battery run levels
- emerge powermgmt-base
- Setup basic ACPI Kernel Configuration
- Create run level scripts to handle ac_adapter/battery check.
| Linux Kernel Configuration: ACPI |
Power management options (ACPI, APM) ---> [*] Power Management support ACPI (Advanced Configuration and Power Interface) Support ---> [*] ACPI Support [ ] Sleep States (EXPERIMENTAL) <*> AC Adapter <*> Battery <*> Button <M> Video < > Generic HotKey <*> fan <*> Processor <*> Thermal Zone < > ASUS/Medion Laptop Extras < > IBM ThinkPad Laptop Extras < > Toshiba Laptop Extras (0) Disable ACPI for systems before Jan 1st this year [*] Power Management Timer Support < > ACPI0004,PNP0A05 and PNP0A06 Container Driver (EXPERIMENTAL) |
[edit] CPU
I was originally using speedfreq but I just learned that it was removed from portage. I switched to cpufreqd but there are other options available.
- Setup CPU Frequency Scaling in the kernel
- emerge cpufreqd
- emerge cpufrequtils
- get list of frequency steps using cpufreq-info
- create /etc/cpufreqd.conf
- rc-update add cpufreqd default battery
Basic Kernel ACPI CPU Setup
| Linux Kernel Configuration: ACPI CPU |
Power management options (ACPI, APM) --->
[*] Power Management support
CPU Frequency Scaling --->
[*] CPU Frequency scaling
[ ] Enable CPUfreq debugging
<*> CPU frequency translation statistics
[ ] CPU frequency translation statistics details
Default CPUFreq govenor (preformance) --->
--- 'performance' governor
<*> 'powersave' governor
<*> 'userspace' governor for userspace frequency scaling
<*> 'ondemand' cpufreq policy govenor
<*> 'conservative' cpufreq govenor
--- CPUFreq processor drivers
<*> ACPI Processor P-States driver
<*> Intel Enhanced SpeedStep
[*] Use ACPI tables to decode valid frequency/voltage pairs
<*> Intel Pentium 4 clock modulation
|
# cpufreq-info
| Code: cpufreq-info |
cpufrequtils 0.3: cpufreq-info (C) Dominik Brodowski 2004
Report errors and bugs to linux@brodo.de, please.
analyzing CPU 0:
driver: centrino
CPUs which need to switch frequency at the same time: 0
hardware limits: 600 MHz - 1.60 GHz
available frequency steps: 1.60 GHz, 1.60 GHz, 1.60 GHz, 1.40 GHz, 1.20 GHz, 1000 MHz, 800 MHz, 600 MHz
available cpufreq governors: conservative, ondemand, powersave, userspace, performance
current policy: frequency should be within 600 MHz and 1.60 GHz.
The governor "performance" may decide which speed to use
within this range.
current CPU frequency is 600 MHz.
|
| File: /etc/cpufreqd.conf |
[General] pidfile=/var/run/cpufreqd.pid poll_interval=2 pm_type=acpi verbosity=5 [Profile] name=ondemand minfreq=600000 maxfreq=1600000 policy=ondemand [Profile] name=powersave minfreq=600000 maxfreq=800000 policy=powersave [Profile] name=performance minfreq=600000 maxfreq=1600000 policy=performance [Rule] name=battery ac=off profile=ondemand [Rule] name=battery_low ac=off battery_interval=0-10 profile=powersave [Rule] name=ac ac=on profile=performance |
A better version can be found on the cpufreqd website. cpufreqd.conf
[edit] Hard Drive
- emerge laptop-mode-tools
- emerge hdparm
- create /etc/init.d/pm.hda (this is for controling /dev/hda)
- rc-update add pm.hda battery
- edit /etc/laptop-mode/laptop-mode.conf
- Change the line HD="/dev/[hs]d[abcdefg]" to HD="/dev/[hs]d[a]" or you will get errors in syslog.
- rc-update add laptop_mode battery
| File: /etc/init.d/pm.hda |
#!/sbin/runscript
depend() {
after hdparm
}
start()
{
ebegin "Activating Power Management for Hard Drives"
hdparm -q -S24 /dev/hda
eend $?
}
stop()
{
ebegin "Deactivating Power Management for Hard Drives"
hdparm -q -S253 /dev/hda
eend $?
}
|
[edit] Temperature
You can read the temperature from proc using ACPI / thermal zone.
cat /proc/acpi/thermal_zone/THM/temperature
| Linux Kernel Configuration: Dell Laptop Support |
Processor type and features ---> <*> Dell laptop support |
[edit] Buttons (LID and Power)
I setup the laptop to shutoff the lcd when the lid is closed and to shutdown the laptop when the power button is pressed.
- emerge radeontool
- create /etc/acpi/events/button and /etc/acpi/actions/buttons.sh
| File: /etc/acpi/events/button |
event=button.* action=/etc/acpi/actions/buttons.sh %e |
| File: /etc/acpi/actions/buttons.sh |
action=${1/*\//}
case "$action" in
lid)
lidstate="$(awk '{print $2}' /proc/acpi/button/lid/LID/state)"
logger "Display is $lidstate"
case "$lidstate" in
open)
/usr/sbin/radeontool light on
;;
closed)
/usr/sbin/radeontool light off
;;
esac
;;
power)
logger "Power Off"
/sbin/init 0
;;
*)
logger "ACPI Button action $action is not defined"
;;
esac
|
[edit] Video
[edit] ATI Radeon (Driver)
- Setup kernel driver
| Linux Kernel Configuration: Video Driver |
Device Drivers ---> Character devices ---> <*> /dev/agpart (AGP Support) <M> Intel 440LX/BX/GX, I8xx and E7x05 chipset support |
Note: If you don't compile this as a module, you'll have to set "UseInternalAGPGART" to "no" in your X Config file) (Help: Please post the actual file name and sample for this, Nouse4anick)
- add radeon to your VIDEO_CARDS section in you make.conf (recompile xorg-server)
- run xorgconfig, to set up your xorg.conf, check that the driver section says radeon
See also Hal quirks
[edit] Network
[edit] Ethernet Card (Driver)
I setup eth0 using hotplug and netplugd. Netplugd starts or stops the interface depending on whether there is an active network link.
- Enable the tg3 device driver in the kernel.
- Create a link net.eth0 -> net.lo in /etc/init.d/
- rc-update add net.eth0 boot
- setup eth0 in /etc/conf.d/net
- emerge netplug
| Linux Kernel Configuration: TG3 Driver |
Device Drivers --->
Network device support --->
[*] Network device support
Ethernet (1000 Mbit) --->
<M> Broadcom Tigon3 support
|
This will setup you eth0 device to try dhcp and fall back to a static network. For me this works well because at work they use DHCP and at home I have a static setup.
| File: /etc/conf.d/net |
# ETH0 hotplug_eth0="yes" configure_eth0=( "dhcp ") fallback_eth0=( "XXX.XXX.XXX.XXX netmask XXX.XXX.XXX.XXX broadcast XXX.XXX.XXX.XXX" ) fallback_route_eth0=( "default via XXX.XXX.XXX.XXX" ) |
[edit] Wireless
[edit] Intel 2200BG (Driver)
There is alot of good information on the Gentoo Forums and on the IPW2200 driver web site and forum. WPA is available using net-wireless/wpa_supplicant.
Note: as of Linux 2.6.17, the ipw2200 and ipw2100 drivers are provided in the kernel. The net-wireless/ipw2200 and net-wireless/ieee80211 packages are not required. The net-wireless/ipw2200-firmware package, however, is still required.
| Linux Kernel Configuration: IPW2200 Setup |
Networking --->
<M> Generic IEEE 802.11 Networking Stack
[ ] Enable full debugging output
<M> IEEE 802.11 WEP encryption (802.1x)
<M> IEEE 802.11i CCMP support
<M> IEEE 802.11i TKIP encryption
Device Drivers --->
Network device support --->
[*] Network device support
Wireless LAN (non-hamradio) --->
[*] Wireless LAN drivers (non-hamradio) & Wireless Extensions
<M> Intel PRO/Wireless 2100 Network Connection
<M> Intel PRO/Wireless 2200BG and 2915ABG Network Connection
Cryptographic options --->
<*> MD5 digest algorithm
<*> AES cipher algorighms (i586)
<*> ARC4 cipher algorithm
<*> Michael MIC keyed digest algorithm
|
All of the above selected crypto algorithms may not be necessary for WPA - feel free to remove any that aren't. NOTE: Don't compile th ipw2200 driver into the kernel, as it wont' be able to load the firmware (the driver will get initialized, before root is mounted)
[edit] Headline text
Link title<math>Insert formula here</math>=== Bluetooth ===
[edit] Audio
[edit] AC'97 (Driver)
- Add AC97 drivers to the kernel
- emerge alsa-headers, alsa-lib and alsa-utils
- run alsaconf to setup modules.d
- rc-update add alsasound boot
| Linux Kernel Configuration: AC97 Setup |
Device Drivers --->
Sound --->
<*> Sound Card Support
Advanced Linux Sound Architecture --->
<M> Advanced Linux Sound Architecture
<M> Sequencer Support
< > Sequencer dummy client
<M> OSS Mixer API
<M> OSS PCM (digital audio) API
[*] OSS Sequencer API
< > RTC Timer support
[ ] Verbose printk
[ ] Debug
Generic devices --->
ISA devices --->
PCI devices --->
<M> ALi M5451 PCI Audio Controller
<M> Intel/SiS/nVidia/AMD/ALi AC97 Controller
USB devices --->
PCMCIA devices --->
|
[edit] Interface
[edit] Touch Pad
The touchpad is an Alps GlidePoint, you may follow the instructions from HARDWARE_Synaptics_Touchpad
An alternative is to setup the touch pad as an InputDevice in xorg.conf:
| File: /etc/X11/xorg.conf |
Section "InputDevice" Identifier "Touchpad" Driver "mouse" Option "Protocol" "PS/2" Option "Device" "/dev/input/mice" Option "Emulate3Buttons" EndSection |
[edit] Special Keys
I have only setup these keys but you should have no problem with the rest:
- Volume Up
- Volume Down
- Mute
- Eject
- Wireless (Works automatically)
To get the buttons to work follow the wiki article: Howto Use Multimedia Keys
