Laptop Dell Latitude E6500

From YobiWiki
Jump to navigation Jump to search

After my previous laptop being end-of-lease I got this one in May 2009.
Here is my setup experience of a Debian Squeeze.

Links

Hardware

CPU

Intel® Core™ 2 Duo P8600 (2.4GHz, 3M L2 Cache, 1066MHz)
cat /proc/cpuinfo

  • vendor_id: GenuineIntel
  • cpu family: 6
  • model: 23
  • model name: Intel(R) Core(TM)2 Duo CPU P8600 @ 2.40GHz
  • stepping: 10 (800 -> 2400?)
  • cache size: 3072 KB
  • flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon
  • bogomips: 4787.96

Misc

  • BIOS version A12
  • 3072Mb, 800MHz DDR2-800 SDRAM, 2 DIMMS 2048+1024
  • Intel Corporation 82801I (ICH9 Family)
    • HDA Intel (STAC92xx Analog)
    • PCI bridge: 4 Ports PCI Express, SMBus Controller, ISA bridge: ICH9M-E LPC Interface Controller, 6 USB controllers, 2 USB2 controllers, SATA RAID Controller
    • Intel Corporation Mobile 4 Series Chipset (rev 07): Memory Controller Hub, Integrated Graphics Controller
  • According to the BIOS:
    • video controller Intel GM45 Graphics, bios 1659, 32Mb
    • audio IDT 92HD71
    • SATA is in IRRT mode (Intel Rapid Restore Technology)
  • Mobile Intel® Graphics Media Accelerator X4500HD
  • 15.4in Wide Screen WXGA (1280x800) LED
  • CardBus bridge: Ricoh Co Ltd RL5c476 II (rev ba)
  • FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller (rev 04)
  • SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 21)
  • System peripheral: Ricoh Co Ltd R5C843 MMC Host Controller (rev ff)
  • on USB: 0a5c:5800 Broadcom USH (Unified Security Hub)/ Contacted SmartCard
  • Intel Corporation 82567LM Gigabit Network Connection (rev 03)
  • Intel Corporation Wireless WiFi Link 5100
  • 8X DVD+/-RW DU-8A2S
  • 160GB Hard Drive Western Digital Scorpio Black WDC WD1600BJKT-7
    • SATA-300 - 7200 RPM - 16 Mo
    • Shock Guard, WhisperDrive, IntelliSeek, SecurePark, Free Fall Sensor
    • 300 Mbytes/s (extern) / 100 Mbytes/s (intern)

Power

  • 9-Cell Battery Li-ion type:KY265 11.1V 85Wh
  • 2xAC adaptors: 19.5V 90W and 130W
  • Docking station

Physical connectors

  • left side
    • USB Powershare (allows charging USB devices when system is off)
    • USB/eSATA (for ext HD or E-Mod?)
    • VGA
    • Express slot
    • SD card reader
  • back
    • power input
    • DisplayPort Dual Mode plug hole (generates DVI/HDMI signal with a simple line-level conversion dongle)
    • Ethernet plug hole
    • Room for modem plug, but no modem installed
  • bottom
    • connector for docking station
    • SIM card slot, empty, hidden behind the battery
  • right side
    • 2xUSB
    • smartcard reader
    • mic, headphone
    • 1394
    • wifi catcher button??
    • wifi switch
    • PCMCIA slot
    • DVD +/-RW

not on my setup

but can be found on other E6500 setups:

  • no Bluetooth
  • no Cellular
  • no Fingerprint reader

Drivers as loaded by a USB-bootable Ubuntu

  • i915 (Intel Graphics)
  • dcdbas (Dell Systems Management Base Driver)
  • ricoh_mmc (Ricoh MMC Controller disabling driver)
  • snd_hda_intel (Intel HDA driver)
  • iwlagn, iwlcore, rfkill, led_class, mac80211, cfg80211
  • wmi (ACPI-WMI Mapping Driver)
  • intel_agp
  • crc_t10dif
  • e1000e (Intel(R) PRO/1000 Network Driver)

Installing Debian Squeeze

Intent

Let's try the Squeeze daily build for AMD64 architectures by booting on USB Sid Debian Installer

default vmlinuz
append initrd=initrd.gz

We can even try the graphical version by using:

default vmlinuz
append initrd=initrd.gz video=vesa:ywrap,mtrr vga=788

This needs a regular daily build of Squeeze netinst CD ISO for AMD64 to be stored on the stick, I got the 2009-05-11_22:00 snapshot.

Booting on the USB stick

The ISO file can even be in a sub-directory but it may take a bit more time to be found.
Apparently Wi-Fi interface could be used for the Netinst but it only supports WEP, no WPA, so I'll use the Ethernet option.
It expects DHCP by default, I'm not sure how you could use static IP
In case of problems you can find a console by pressing CTRL-ALT-F2/ENTER, and find back the graphical installer by pressing ALT-F5 or ALT-F6

Partitioning

As I wanted a special setup I chose the manual mode for partitioning.
Actually I first ran the guided setup with LVM and encryption but this was not what I needed.
So:

  • Create part#1, 255MB, ext2, /boot
  • Create part#2, 20GB, FAT32, this is in case I'll try Xen one day...
  • Create part#3, 30GB, with crypto dm-crypt
  • Create part#5, 80GB, not formatted
  • Create part#6, 29.8GB, not formatted

dm-crypt actually installs LUKS partitions
Note that for part#5 and #6, simply choose "logical partition", it will create the extended part#4 without showing it.
Then run configure encrypted volumes visible on top of the menu and type passphrases for the encrypted partition. I kept the default aes 256 cbc-essiv:sha256
part#5 and part#6 will also be LUKS partitions but I'll do them later as I want to use XTS block chaining.
Then back to the partitioning screen, now you can configure the content of part#3: sda3_crypt will be /root, formatted as ext3 with user_xattr.
If, like me, you already configured the other encrypted partitions then want to go back and change crypto settings or deleting them, the system will refuse because they're in use. I tried to undo them properly but finally I chose to blank (with dd) the beginning of part#4 then delete part#4 with fdisk from the console to delete the whole extended partition then by going back to the main list of the Installer, and choosing again Partitioning, I could redo them.
With 3GB of RAM I chose to not setup swap (I could still do a file-based swap if needed)

Installing software

I let tasksel picking up its default bunch of packages "Desktop", "Laptop" and "Standard".
Time for a tea cup...

First boot

It boots, but even if the Debian Installer recognized our Wi-Fi adaptor, Squeeze doesn't know it.
And screen resolution is 1024x768.

(OK) Setting up Wi-Fi

See http://wiki.debian.org/iwlagn#Squeeze and http://wiki.debian.org/WiFi/HowToUse

Add a "non-free" component to /etc/apt/sources.list, for example:

# Debian Squeeze
deb http://ftp.us.debian.org/debian squeeze main contrib non-free

Add the Debian Kernel Snapshots repository to /etc/apt/sources.list:

# Debian Kernel Snapshots (experimental!)
deb http://kernel-archive.buildserver.net/debian-kernel sid main

Add the Debian Kernel Snapshots repository key:

# wget -q -O - http://kernel-archive.buildserver.net/key | apt-key add -

Update the list of available packages and install the firmware-iwlwifi and wireless-tools packages:

# aptitude update
# aptitude install firmware-iwlwifi wireless-tools

Install a 2.6.28 (or later) kernel image appropriate for your system. For example:

# aptitude install linux-image-2.6.29-2-amd64

Note that if you have more than 3.2Gb of RAM you'd better use a bigmem kernel.
Restart your system and boot with the newly installed kernel.

Now, in Gnome, when clicking on the Network applet you can configure Wi-Fi

(OK) Suspend

Suspend-to-RAM seems to work fine, very quick restore
Can be called via the menu or by pressing FN-Moon key, wake up by pressing power button
If you setup Gnome to suspend-to-RAM when LID is closed, then it'll wake up when you open it again
As we don't have a swap partition, no suspend-to-disk!

Swapfile

aptitude install dphys-swapfile

By default it will be 2xRAM size, located at /var/swap. If you want to change it:

/etc/init.d/dphys-swapfile stop
cp /usr/share/doc/dphys-swapfile/examples/dphys-swapfile.example /etc/dphys-swapfile
# Edit /etc/dphys-swapfile
/etc/init.d/dphys-swapfile start

Additional encrypted partitions

As seen before, I want to use /dev/sda5 and /dev/sda6 as extra encrypted partitions according to my notes on LUKS.

dd if=/dev/urandom of=/dev/sda5
cryptsetup luksFormat -c aes-xts-plain -s 256 /dev/sda5
YES
my_passphrase
echo "sda5_crypt /dev/sda5 none luks" >> /etc/crypttab
/etc/init.d/cryptdisks start
my_passphrase
mkfs.ext3 /dev/mapper/sda5_crypt
echo "/dev/mapper/sda5_crypt /home2 ext3 user_xattr,errors=remount-ro 0 1" >> /etc/fstab

Note that we'll mount it first on /home2 as we're already working from /home

Idem for sda6

Transferring content

From old to new laptop, I used a cable between them. Dell laptops are able to turn a straight Ethernet cable into a cross-cable.

## source:
# tar cf - /home/* |nc -l 10000
## target (in /home2):
# nc -w 5 10.0.0.1 10000 |pv|tar xf -

(OK/WIP) Video

By default it loaded the generic VESA driver in a panned 1024x768 resolution.
Solution:
Add manually in /etc/X11/xorg.conf:

 Section "Device"
         Identifier     "Configured Video Device"
+        Driver         "intel"
 EndSection

Ambient Light Sensor is working (even if it seems deactivated in BIOS?!)

(OK) Touchpad

To allow fine-tuning of the device and activate circular scrolling:

# aptitude install gpointing-device-settings xinput
$ xinput list
... "AlpsPS/2 ALPS DualPoint TouchPad"

xinput is not needed but it's a handy tool

Note that as I had some problems to run gpointing-device-settings, I upgraded my whole Xorg setup to 7.4

# aptitude install xserver-xorg/unstable

then accept upgrade of all dependencies

(OK) SD Card Reader

Works

(OK) PC Card (PCMCIA)

Works

(WIP) Express slot

Not tested, should work.
Note from Gentoo:

  • enable PCI express and hotplugging as modules (pciehp and pci_hotplug)
  • load pciehp module with pciehp_force=1 parameter in order to have hotplugging functionality

(OK) USB

Works

(WIP) Firewire

Not tested, should work

(WIP) eSATA

Not tested, should work

(Partial) Smartcard reader

Broadcom 5880, ARM-based

aptitude get install pcscd pcsc-tools

Add the reader to libccid conf file
Without fingerprint reader: VendorID=0x0a5c ProductId=0x5800 (with: 0x5801)
Edit /etc/libccid_Info.plist and add lines in ifdVendorID, ifdProductID and ifdFriendlyName arrays

Trying manually

/etc/init.d/pcscd stop
pcscd -f -a -d

FAILED with IFDHCreateChannelByName() failed

Actually it may work but only if a card is present when pcscd is started.
See also here

RFID support seems not possible on Linux for now

Tuning Gnome

  • add to panel
    • CPU frequency scaling monitor: works fine
    • Deskbar (ALT-F3)
    • Lock screen
    • System monitor
  • System->Preferences
    • Keyboard->Dell Latitude series laptop
    • Power management->When laptop lid is closed: Suspend
  • Applications->Sound->Volume Control
    • Preferences-> show PC Beep track
    • Turn off PC beep (vol=0 is not enough), haaaa much better :-)
  • Epiphany is the default browser, to change it:
    • System->Preferences->Preferred Applications
    • See also:
# update-alternatives --config x-www-browser

Additional software

Dependencies for ia32

It's possible to run natively some 32-bit code, to be prepared:

# aptitude install ia32-libs ia32-libs-gtk lib32nss-mdns

See also The Debian GNU/Linux AMD64 HOW-TO

Dell specific

# aptitude install libsmbios-bin

Misc software

# aptitude install mc etckeeper htop iotop \
                   dlocate reportbug-ng cruft \
                   sun-java6-jdk sun-java6-plugin \
                   flashplugin-nonfree icedove ttf-unifont \
                   lynx \
                   libio-socket-ssl-perl \
                   abiword vim gawk-doc \
                   gphoto2 hugin autopano-sift-c kflickr \
                   gimp-data-extras gimp-help-common gimp-help-en  gimp-help-fr gimp-plugin-registry gimp-resynthesizer gimp-texturize \
                   pitivi \
                   psi libqca2-plugin-gnupg gajim \
                   telepathy-gabble telepathy-salut telepathy-butterfly telepathy-haze telepathy-idle telepathy-sofiasip telepathy-stream-engine \
                   samba smbclient smbfs wine synergy \
                   rar unrar unzip \
                   k3b \
                   computertemp netspeed teatime driconf \
                   impressive \
                   gcompris extremetuxracer armagetronad \
                   ntfsprogs
# aptitude install build-essential binutils-doc \
                   g++-multilib g++-4.3-multilib gcc-multilib gcc-4.3-multilib gcc-4.3-locales \
                   gcc-doc gcc-4.3-doc glibc-doc libstdc++6-4.3-doc \
                   autoconf automake1.9 libtool flex bison gdb \
                   libstdc++6-4.3-dbg libgcc1-dbg libgomp1-dbg libmudflap0-dbg \
                   manpages-dev libmudflap0-4.3-dev \
                   git-doc git-svn git-cvs gitk git-gui kdiff3 \
                   libqt4-dev libreadline5-dev
# aptitude install dash
# dpkg-reconfigure dash

Compiz:

aptitude install compiz compizconfig-settings-manager compiz-fusion-plugins-main compiz-fusion-plugins-extra
gconftool-2 --set /apps/compiz/general/allscreens/options/active_plugins \
            --type list --list-type string \
            '[gconf,png,svg,decoration,wobbly,fade,minimize,cube,rotate,zoom,scale,move,place,switcher,screenshot,resize]'
ccsm

Virtualbox

Because we've chosen a 2.6.29 kernel we'll need to build the virtualbox module ourselves, with kbuild package from Sid, so first let's add Sid feeds:
Add to /etc/apt/sources.list

deb http://ftp.be.debian.org/debian/ sid main contrib non-free
deb-src http://ftp.be.debian.org/debian/ sid main contrib non-free

And make sure "testing" will remain our default distro:

echo 'APT::Default-Release "testing";' > /etc/apt/apt.conf.d/00default

Now we can do our job:

aptitude install module-assistant linux-kbuild-2.6.29
module-assistant prepare
module-assistant auto-install virtualbox-ose
aptitude install virtualbox-ose

Multimedia

From Marillat, add this to /etc/apt/sources.list:

deb http://www.debian-multimedia.org/ testing main 
deb-src http://www.debian-multimedia.org/ testing main 
# aptitude update
# aptitude install debian-multimedia-keyring
# aptitude dist-upgrade
# aptitude install acroread acroread-plugins acroread-dictionary-en acroread-l10n-en \
                   2mandvd dvdrip gtkpod-aac k9copy lame w64codecs libdvdcss2

To still have evince as the default pdf reader:

echo "evince: */*" >> /etc/mailcap.order
update-mime

Skype

# aptitude install libqt4-gui

Get the Etch package at http://www.skype.com/go/getskype-linux-deb

# dpkg -i --force-architecture skype-debian_2.0.0.72-1_i386.deb

Google Earth

# aptitude install googleearth-package
$ make-googleearth-package
# dpkg -i googleearth_5.0.11733.9347+0.5.6-1_amd64.deb

Google Gears

Is not officially distributed for 64-bit but some folks did the job for you.

See here

Some precompiled xpi are available here

Security-related

# aptitude install openssh-server openvpn network-manager-openvpn-gnome resolvconf pwsafe kgpg
# aptitude install encfs
# adduser toto fuse

You may want to activate sudo support for your user

# adduser toto sudo

and if you want to skip password, uncomment last line of /etc/sudoers with

# visudo

Recompiling pcscd with libusb support for external RFID reader Omnikey 5321: see here

TODO

  • video: 3D modes etc, dual screen etc 1
  • video: prob when going back to console, try fb?
  • restore other encrypted partitions See also my old LUKS notes
  • WPA roaming ok? check EAP
  • IA32 chroot
  • compare with old setup list of packages and list of non-system files
  • check all hardware support
  • compare loaded drivers with Ubuntu list
  • USB Powershare to be activated in BIOS
  • Intel Virtualization Technology to be activated in BIOS
  • TPM disabled in BIOS, anything interesting there?
  • dcdbas & libsmbios
  • sensors?
  • Bradcom USH (BCM5880) RFID & HID Global iCLASS ?? 1
  • Wifi catcher button?
  • DCP key?
  • DisplayPort
  • LUKS preload keys
  • merge bashrc
  • check backuppc
  • microphone?