HARDWARE Dell Inspiron E1405
From Gentoo Linux Wiki
| Laptops • TV Tuner Cards • Wireless • Servers • Storage • Other Hardware • Motherboards • Related |
This article is released under the Creative Commons Attribution-ShareAlike 3.0 License
. Authors are listed at the bottom of the article.
This document describes the settings used to install Gentoo 2007.1 64bit SMP on a Dell Inspiron E1405. Updated with settings for the 2.6.24 kernel, in-kernel wifi driver, and xorg-sever 1.4.
Image Copyright 2006 http://www.eden.rutgers.edu/~xmi/images/e1405.jpg
Contents |
[edit] Hardware Configuration
This system is configured with:
- Processor: 64bit Intel Core 2 Duo Merom
- Memory: 533Mhz DDR2
- Graphics: Intel i945 GMA chipset
- Disk: Hitachi 60GB SATA Disk
- LCD: 14.1" 1440 x 900 (120dpi) TrueLife(tm) glossy display
- Wifi: Intel 3945ABG wireless chipset
- Audio: Intel HD Audio
- Battery: 6-cell battery (48Whr) - lasts ~4 hours
If your system comes with single-core (32bit) CoreDuo, please refer to the other sources discussing 32bit installations at the bottom of the page.
[edit] lspci output
| Code: lspci output |
00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT Express Memory Controller Hub 00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS/940GML Express Integrated Graphics Controller 00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/940GML Express Integrated Graphics Controller 00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller 00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express 00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI 00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI 00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge 00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge 00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) Serial ATA Storage Controller IDE 00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller 02:00.0 Ethernet controller: Broadcom Corporation BCM4401-B0 100Base-TX 0c:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection |
[edit] Benchmarks
[edit] Disk
| Code: Bonnie++ 1.03 |
Version 1.03 ------Sequential Output------ --Sequential Input- --Random-
-Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
whister 2G 27044 64 26002 10 14628 3 34085 62 34682 3 136.0 0
/dev/sda7 on /data type ext3 (rw,noatime,data=writeback,commit=9999)
|
[edit] CPU
| Code: openssl speed rsa512 rsa4096 dsa512 dsa2048 -multi 2 |
available timing options: TIMES TIMEB HZ=100 [sysconf value]
timing function used:
sign verify sign/s verify/s
rsa 512 bits 0.000149s 0.000011s 6702.4 93073.6
rsa 4096 bits 0.019760s 0.000292s 50.6 3422.5
sign verify sign/s verify/s
dsa 512 bits 0.000093s 0.000109s 10697.9 9176.0
dsa 2048 bits 0.000814s 0.000975s 1228.2 1025.2
|
[edit] Power
This laptop is extremely power efficient when taking into account the computational power of its dual-core processor.
- Idle wattage, LCD on: 13W, LCD off: 10W
- both CPUs at 100%, LCD on: 43W
The above were measured using a Kill-A-Watt device plugged into the wall, followed by the laptop power brick plugged into the Kill-A-Watt device.
[edit] Gentoo Configuration
[edit] Kernel
Follow along with the make menuconfig formatted listing, or download the full .config. This static build enables the following:
- acpi power button, AC/battery montoring, and the LCD lid
- wired and wireless ethernet
- audio
- direct rendering
- synaptics touch pad and optional external mouse
- ext3, cloop, DVD, CDROM, vfat, NFS, FUSE, and autofs as mountable file-systems
- suspend to ram
not enabled:
- bluetooth
- infrared controller
- PC speaker(beeper)
- framebuffer and boot-splash
[edit] Old Kernel Configs
- HARDWARE Dell Inspiron E1405/Kernel_Config_2.6.19
- HARDWARE Dell Inspiron E1405/Kernel_Config_2.6.20
- HARDWARE Dell Inspiron E1405/Kernel_Config_2.6.21
- HARDWARE Dell Inspiron E1405/Kernel_Config_2.6.23
[edit] Autoload Kernel Modules
Nothing needed, the kernel automatically loads iwl3945
[edit] Portage
[edit] Make.conf Content
| File: /etc/make.conf |
CHOST="x86_64-pc-linux-gnu"
CFLAGS="-Os -march=nocona -msse3 -fomit-frame-pointer -pipe"
CXXFLAGS="${CFLAGS}"
FFLAGS="${CFLAGS}"
LDFLAGS="-Wl,-O1 -Wl,--enable-new-dtags -Wl,--sort-common -s"
MAKEOPTS="-j2"
FEATURES="-sandbox parallel-fetch -metadata-transfer noinfo nodoc"
PORTAGE_NICENESS="15"
INPUT_DEVICES="keyboard mouse synaptics evdev"
VIDEO_CARDS="i810"
ALSA_CARDS="hda-intel"
|
[edit] Package.keywords Content
| File: /etc/portage/package.keywords |
x11-base/xorg-server media-libs/mesa |
[edit] Portage Modules Content
| File: /etc/portage/modules |
portdbapi.auxdbmodule = cache.sqlite.database portdbapi.auxdbmodule = cache.metadata_overlay.database |
[edit] Hardware-specific Packages to Install
| File: Package List |
app-laptop/i8kutils # If you have the Intel wireless hardware net-wireless/iwl3945-ucode net-wireless/wireless-tools net-wireless/wpa_supplicant # Display utilities for the Intel video card sys-apps/vbetool |
[edit] Init Scripts
[edit] Wireless Interface UDEV Rule
Add the following to rename wlan0_rename to wlan0.
| File: /etc/udev/rules.d/70-persistent-net.rules |
# PCI device 0x8086:0x4222 (iwl3945)
SUBSYSTEM=="net", DRIVERS=="?*", ATTR{address}=="00:18:de:69:92:0b", ATTR{type}=="1", NAME="wlan0"
|
[edit] Local Startup Script
This startup script (here) does the following:
- Disables wake on LAN, to save power
- Lowers CPU voltage, to save power
- Enabled multi-core scheduling to save power
- Enables USB and audio-chipset suspension, to save power
- Registers unknown key scancodes
- Sets PCI device latency to minimize bandwidth starvation
- Sets large disk block transfers
[edit] Network Configuration
This section describes configuration parameters for the Intel wireless network interface. This machine may come equipped with either an Intel or Broadcom wireless device. If your system has Broadcom wireless, then for now you will need to use ndiswrapper.
[edit] WPA Supplication Configuration
| File: /etc/wpa_supplicant/wpa_supplicant.conf |
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=wheel
update_config=0
fast_reauth=1
ap_scan=1
# Tells wpa_supplicant to try connecting to this network
# in preference to grabbing a random network.
network={
ssid="Preferred Unsecured Network"
key_mgmt=NONE
priority=10
}
# A WEP-encrypted network
network={
ssid="My WEP Network"
key_mgmt=NONE
wep_key0=1234567890AB
wep_tx_keyidx=0
priority=10
}
# A WPA-encrypted network
network={
ssid="My WPA Network"
scan_ssid=1
key_mgmt=WPA-PSK
psk="The WPA Passphrase"
priority=10
}
# Connect to any network we can find, if none of the above work.
network={
key_mgmt=NONE
priority=-9999999
}
|
[edit] Net Conf Content
| File: /etc/conf.d/net |
modules=("wpa_supplicant")
wpa_supplicant_wlan0="-Dwext"
config_eth0=("dhcp")
config_eth1=("dhcp")
|
[edit] Manual Wifi Script
If you find the other wifi management tools too complex or if they do not maintain your wifi connection, the following 15-line script shows you how to setup a connection and repeatedly check and re-associate if needed.
| File: /etc/init.d/manual_net.wlan0 |
#!/bin/env bash # A simple script to setup and maintain a wireless connection # Define the connection settings MODULE=iwl3945 IFACE=wlan0 ESSID=hoya IP=192.168.1.21 GW=192.168.1.1 # Check if the module is loaded lsmod | grep -q $MODULE || modprobe $MODULE # Attempt to associate (if not, that's ok) iwconfig $IFACE essid $ESSID # Set TCP/IP and gateway settings ifconfig $IFACE | grep -q $IP || ifconfig $IFACE $IP up route -n | grep -q $GW.*$IFACE || route add default gw $GW $IFACE # Maintain the association, if it drops off then re-establish while true; do iwconfig $IFACE | grep -iq "bit rate" && sleep 30 || iwconfig $IFACE essid $ESSID; sleep 5 done |
[edit] Hibernation / Suspend-to-RAM
Suspend to RAM works with the following:
- s2ram utility (part of the openSuSE suspend package)
- vanilla 2.6.24 (Suspend option or Suspend2 patches are not needed)
- supplied kernel configuration HARDWARE Dell Inspiron E1405/Kernel Config 2.6.24.
- supplied /etc/acpi/events/power script (found in the acpi section below)
- supplied /etc/acpi/lid.sh script (found in the acpi section below)
- Virtualization/KVM disabled in the BIOS (press F12 on bootup to change this)
[edit] S2RAM Installation
First emerge the latest s2ram:
echo sys-power/suspend >> /etc/portage/package.keywords emerge -u suspend
[edit] Known issues and work-arounds
The wireless driver will attempt to re-connect to the same access point that was being used at the time of suspension.
Workaround: In the ACPI power script, restart the wireless network service.
[edit] ACPI
The following settings will hibernate your laptop on lid close, and will resume on lid open. The power button has been disabled (similar to a Mac, only used 5-second hard reboot). Note that resuming resets the hard disk settings along with the rapid load-cycle timer, so the lid script re-disables this feature to prevent early HD death.
| File: /etc/acpi/events/default |
# event=.* # action=/etc/acpi/default.sh %e |
| File: /etc/acpi/events/battery |
event=battery.* action=/etc/acpi/ac_adapter.sh %e |
| File: /etc/acpi/events/lid |
event=button[ /]lid.* action=/etc/acpi/lid.sh |
| File: /etc/acpi/events/power |
# event=button[ /]power.* # action=/sbin/init 0 # action=s2ram |
| File: /etc/acpi/lid.sh |
#!/bin/sh
if grep -q open /proc/acpi/button/lid/*/state; then
vbetool dpms on
else
s2ram
udevstart
fi
hdparm -S0 -B254 /dev/sda
|
This script minimizes the CPU speed while on batteries and allows the full range while on AC.
| File: /etc/acpi/ac_adapter.sh |
#!/bin/sh
#--------
#
# Sets the ondemand governor and maximum allowable
# CPU frequency based on the state of the AC adapter
# for one or more CPUs or cores.
#
syspath=/sys/devices/system/cpu
governors=$syspath/cpu*/cpufreq/scaling_governor
scalings=$syspath/cpu*/cpufreq/scaling_max_freq
cpu0=$syspath/cpu0/cpufreq
for governor in $governors
do echo ondemand > $governor
done
if grep -q on /proc/acpi/ac_adapter/*/state
then
ls $scalings | xargs -n1 cp $cpu0/cpuinfo_max_freq
else
ls $scalings | xargs -n1 cp $cpu0/cpuinfo_min_freq
fi
|
Once created, give these scripts executable permissions:
chmod a+x /etc/acpi/lid.sh chmod a+x /etc/acpi/ac_adapter.sh
[edit] Xorg
[edit] /etc/udev/rules.d/70-touchpad.rules
This dynamically links the correct intput/event* device file to /dev/input/touchpad:
| File: /etc/udev/rules.d/70-touchpad.rules |
SUBSYSTEM=="input",KERNEL=="event*",SYSFS{name}=="SynPS/2 Synaptics TouchPad",SYMLINK+="input/touchpad"
|
[edit] /etc/X11/xorg.conf
This includes settings to enable AIGLX with xorg-x11 7.3: See HARDWARE Dell Inspiron E1405/xorg.conf
| File: /etc/drirc |
<driconf>
<device screen="0" driver="i915">
<application name="all">
<option name="force_s3tc_enable" value="true" />
<option name="fthrottle_mode" value="2" />
<option name="vblank_mode" value="3" />
<option name="allow_large_textures" value="2" />
</application>
</device>
</driconf>
|
| File: /etc/skel/.Xmodmap |
keycode 96 = XF86Terminal
keycode 160 = XF86AudioMute
keycode 174 = XF86AudioLowerVolume
keycode 176 = XF86AudioRaiseVolume
keycode 162 = XF86AudioPause
keycode 144 = XF86AudioPrev
keycode 153 = XF86AudioNext
keycode 164 = XF86AudioStop
keycode 165 = XF86Eject
keycode 287 = XF86Eject
|
| File: /etc/skel/.xinitrc |
xmodmap ~/.xmodmap xset r startkde |
[edit] Media
[edit] Mplayer Configuration
See HARDWARE_Dell_Inspiron_E1405/mplayer.conf for optimized video playback, including 1080p output.
[edit] Intel HD Audio
For onboard audio, this chipset has an extremely low noise floor and high signal to noise ratio which is perfect for listening to music on a external system.
To save and restore your volume and audio IO settings over reboots, use your favorite audio mixer (kmix, gnome-alsamixer, alsamixer) to set your volumes and mute/unmute devices to that which you'd like to start with on boot up. As the root user, issue the following on the command line:
/etc/init.d/alsasound save rc-update add alsasound default
[edit] System Maintenance
[edit] Firmware Upgrade from DELL
Upgrading the firmware is straight forward with freedos, mtools, and syslinux:
emerge -u mtools syslinux echo 'drive a: file="/boot/freedos.img"' > /etc/mtools/mtools.conf echo 'mtools_lower_case=1' >> /etc/mtools/mtools.conf mount /boot cp /usr/lib/syslinux/memdisk /boot wget http://www.fdos.org/bootdisks/autogen/FDOEM.144.gz -O - | gunzip > /boot/freedos.img wget ftp://ftp.us.dell.com/bios/MX61_A10.EXE mcopy MX61_A10.EXE a:
Now add the following to your /boot/grub/grub.conf, reboot into FreeDOS, and run MX61_A10.EXE:
title FreeDOS [Dell BIOS Upgrade] kernel /memdisk initrd /freedos.img
The latest BIOS can be found at Dell's support site and the latest FDOEM.144.gz boot disk at fdos.
For other options on how to upgrade your BIOS, see HowTo.
[edit] Authors
[edit] Links
- Additional security settings can be found at neocortex, Documentation on how to secure Gentoo Linux.
- There is a description of how to install Gentoo on the Dell Inspiron e1405 for the x86 (32-bit) arch at ttuttle.net.

