HARDWARE Dell Inspiron 640m
From Gentoo Linux Wiki
| Laptops • TV Tuner Cards • Wireless • Servers • Storage • Other Hardware • Motherboards • Related |
[edit] General
The propouse of this page is to help installing and setting up gentoo on the Dell Inspiron 640m. Note: This is still a work in progress.
The Dell Inspiron 640m is the European version of the Dell Inspiron E1405, which is configured with almost identical hardware options and has an excellent article on this wiki. Note though. that the the E1405 in the article uses a SATA drive.
[edit] 640m Hardware Layout
| CPU | Intel Core Duo T2300 @ 1.66GHz |
| Memory | 1024 MB DDR SDRAM (Upgradable to 2GB) - 2 X PC2100 SODIMM Sockets |
| Motherboard | Intel 945GM + ICH7-M |
| Display | 14.1" TFT WXGA+ Display (Resolution 1440x900x16M) |
| Video Card | Intel 945GM |
| Hard Drive | 80 GB Ultra ATA |
| Optical Drive | DVD+RW |
| Sound Card | Integrated Intel HDA Audio Controller (Demo Version) |
| Modem | Internal 56k v.92 fax modem |
| Network Interface | Broadcom Corporation BCM4401-B0 100Base-TX |
| Wireless Networking | Intel 3945BG 802.11a/b/g mini pci wireless card (WEP, WPA, 802.1x)
TrueMobile Bluetooth card |
| USB | 4 USB 2.0 ports |
| Audio Jacks | line-out(external speakers/headphone) and external microphone |
| Video | 15-pin monitor connector |
| S-Video | 7-pin mini-DIN connector |
| Firewire | 1 port |
| Slots | Card Reader, PC Express |
| Batteries | Primary: 48Whr - 6 cell Lithium Ion Battery |
| Code: lspci output |
00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT Express Memory Controller Hub (rev 03) 00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS/940GML Express Integrated Graphics Controller (rev 03) 00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/940GML Express Integrated Graphics Controller (rev 03) 00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 01) 00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 01) 00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 01) 00:1c.3 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 4 (rev 01) 00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #1 (rev 01) 00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #2 (rev 01) 00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #3 (rev 01) 00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #4 (rev 01) 00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 01) 00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e1) 00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 01) 00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) Serial ATA Storage Controller IDE (rev 01) 00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 01) 02:00.0 Ethernet controller: Broadcom Corporation BCM4401-B0 100Base-TX (rev 02) 02:01.0 FireWire (IEEE 1394): Ricoh Co Ltd Unknown device 0832 02:01.1 Class 0805: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 19) 02:01.2 System peripheral: Ricoh Co Ltd Unknown device 0843 (rev 01) 02:01.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 0a) 02:01.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 05) 0c:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02) |
[edit] Description
This laptop seems quite well built and fast. The 1440x900 LCD is definitely worth the $60 that I paid for it. Besides that, all the hardware I have dealt with so far is perfectly working under Linux.
[edit] Graphic Installer
If you use the Gentoo LiveCD 2006.1 and you want to use the graphic installer, but X isn't able to start. If X complain about:
Failed to load /usr/lib/xorg/modules/extensions/libGLcore.so
Failed to load module "GLcore"
No devices detected
You need to make a change into the X configuration file
# vi /etc/X11/xorg.conf
change the lines
| File: /etc/X11/xorg.conf fragments |
Driver "i810" |
for
| File: /etc/X11/xorg.conf fragments |
Driver "vesa" |
and restart X
# /etc/init.d/xdm restart
X will start and you will be able to use the Graphic Installer.
[edit] Hardware Working
[edit] ACPI: LCD ON/OFF
To enable the LCD going off/on when the lid is closed/opened you can use the vbetool. Otherwise, it is likely that your LCD won't turn on when the lid is opened.
Make shure you have enable acpid daemon
# emerge acpid # rc-update -a acpid default
Then emerge the vbetool
# emerge --sync && emerge -vp vbetool
Then, alter the following file and make sure that you at least enter the button/lid event.
| File: /etc/acpi/events/default |
event=button[ /]lid.* action=/etc/acpi/lid.sh event=.* action=/etc/acpi/default.sh %e |
Now, create the lid.sh file.
| File: /etc/acpi/lid.sh |
lidstate=`cat /proc/acpi/button/lid/LID/state | gawk {'print $2'}`;
case "$lidstate" in
open)
#/usr/bin/radeontool light on;
vbetool dpms on;
;;
closed)
#/usr/bin/radeontool light off;
vbetool dpms off;
;;
esac
|
And make sure that the file can be executed.
# chmod +x /etc/acpi/lid.sh
To check if it works, execute lid.sh without actually closing the lid. If you do not receive any errors, it is probably going to work. If you receive any errors, you have probably forgotten to enable ACPI in your linux kernel (make it in the kernel [*] not module [m]). Please consult the ACPI guide on this WIKI
If the script /etc/acpi/lid.sh is working, but don't seems to be executing automaticly, instead of modifying /etc/acpi/events/default you can alter /etc/acpi/default.sh to add the lid case
| File: /etc/acpi/default.sh |
case "$group" in
button)
case "$action" in
power)
/sbin/init 0
;;
lid)
/etc/acpi/lid.sh
;;
|
As an alternative to the process above, experienced users may wish to patch their DSDT with http://www.reactivated.net/systems/dell-640m/dsdt/01_lid-power-lcd.patch - after this modification, lid open/closing works as expected with no requirement for acpid or similar.
[edit] ACPI: Battery/AC/fan/Thermal-zone
I haven't tried to set up neither sleep states or Suspend to Disk. The battery status is working perfectly with the kernel ACPI module.
With ACPI thermal module loaded laptop might produce humming noise while idle. To fix append "idle=halt" kernel boot parameter (source)
[edit] CPU Scaling/SMP
Remember to enable SMP in the kernel. The CPU's can be scaled with the "Intel Enhanced Speedstep" module. The "conservative" governor scales the frequency of both CPU's pretty well.
[edit] Internal HD
The HD work perfectly with the SATA-PIIX module. It is recognized as a SCSI hard drive.
[edit] Internal DVD+/-RW Drive
It works with the "sr_mod" kernel module.
[edit] Soundcard
It is the Intel HD-Audio Demo Version. I don't completely understand what "Demo Version" stands for. Anyway, it works with the snd-hda-intel kernel module out of the box. It only has the Master, PCM (if you enable OSS Emu), Capture and Microphone channels. The internal speakers (not the best quality) work, and the hearphone jack does too. I haven't tested the microphone yet.
[edit] Graphic Card
See this HowTo.
[edit] Touchpad
The touchpad seems to work pretty well under X11 out of the box.
Howewer, I was confused when I connected my USB mouse and the pointer didn't move. Usually, when you connect USB mouse to desktop, it starts to work automagically and you should not to describe it in any configs.
After some bdsm with xorg.conf, I found a setup that allows both the touchpad and the USB mouse to work together.
You need two input devices (no surprise) and a "Server Layout" section like the following:
| File: xorg.conf fragments |
Section "ServerLayout"
Identifier "Default"
Screen 0 "Screen0" 0 0
InputDevice "Synaptics" "CorePointer"
InputDevice "USB Mouse" "AlwaysCore"
InputDevice "kbd-internal" "CoreKeyboard"
EndSection
Section "InputDevice"
Identifier "Synaptics"
Driver "synaptics"
Option "Protocol" "raw"
Option "Device" "/dev/input/mice"
EndSection
Section "InputDevice"
Identifier "USB Mouse"
Driver "mouse"
Option "Protocol" "Auto"
Option "Device" "/dev/input/mice"
Option "ZAxisMapping" "4 5"
Option "Emulate3Button" "false"
EndSection
|
Note that in both InputDevice sections Device is /dev/input/mice - it is the very important.
If you are using xorg-x11 7.3 (xorg-xserver-1.4), you should remove both mouse and touchpad sections to get it working proper way.
[edit] USB
All four ports work under Linux, with the standard {e,u}hcd_hcd kernel module
[edit] LAN
Works with the "b44" module from the kernel
[edit] Wireless LAN
Works with the "Broadcom 4328" using the NDISWrapper. See the Broadcom 43xx article.
Works with the "ipw3945" driver from portage. Please follow complete details below:
# emerge ipw3945 ipw3945d ipw3945-ucode
then start (as root) the 'ipw3945d' daemon, which will insert the module too. To start it at boot, just
# rc-update add ipw3945d default
The radio swich works, and shuts off both the bluetooth and Wi-Fi card.
Note that "iwconfig" and "iwlist eth1 scan" will report wrong Noise values, while the Signal value seems to be reliable.
[edit] Card Reader
Instructions available at HOWTO SD and MMC card readers
[edit] Keyboard
On some kernel versions (tested 2.6.18.1) laptop keyboard might sporadicly repeat keypresses. For quick test, under X terminal hold any key pressed, after 30 or so letters repeating stops for about a second.
Temporary solution tested is appending "acpi=noirq" to kernel boot parameters source
[edit] Internal DVD+/-RW Combo drive
Works fine
[edit] Bluetooth
Works fine for bluez 2.25
hciconfig hci0 resetMaybe it's a good idea to add it to your
/etc/conf.d/local.start code>. See also this forum post and the Gentoo Linux Bluetooth Guide[edit] Sleep States / Suspend 2 Disk
Suspending works fine, see HOWTO Software Suspend v2. Here's what I added to my /etc/hibernate/hibernate.conf code>:
| File: /etc/hibernate/hibernate.conf |
RestartServices alsasound |
Don't forget to add 915resolution, too:
| File: /etc/hibernate/common.conf |
Runi915resolution yes |
[edit] Special keys
If not all, many of the special keys are shown by "dmesg", so they are usable with "xbindkeys" as well as other programs.
This is a xmodmap snippet that works for me to make the keys usable by applications:
keycode 144 = F13 keycode 153 = F14 keycode 160 = F15 keycode 162 = F16 keycode 164 = F17 keycode 174 = F18 keycode 176 = F19 keycode 187 = F20
[edit] Hardware NOT Tested
[edit] Firewire
Not tested, and I probably never will as I don't have any hardware to test it with.
[edit] Modem
Works with linuxant drivers (http://www.linuxant.com/)
[edit] Hardware NOT working
None so far
