Dell Latitude D430 Debian Lenny Installation Guide
last updated 04/01/2009 (Thunderbird/Iceweasel notes)
updated 28/11/2008 (xbindkeys notes – sound)
updated 23/11/2008 (gtk-related info in Miscellaneous notes)
General Information
This page summarizes the steps that had to be performed in order to get Debian Lenny running on this nifty piece of hardware (by the way, it has less than 1.4 kg including the battery). For installation, I used the amd64 version of the Debian Testing official netinst CD (Debian installer Lenny beta2). The net-based installation using internal Ethernet card proceeded without any problems.
Should you have any questions you can try to contact me and ask, I will try to help. For contact information please consult my CV.
Hardware configuration
Specs from the producer are (hopefully still) available here.
- Intel Core2 Duo U7700 @ 1.33 GHz
- Intel 945GM Chipset
- 2 GB DDR2-SDRAM
- 32 GB SSD
- external DVD-RW
- Intel 945GM graphics with shared memory
- 12.1″ WXGA – 1280×800
- Intel 802801G High Definition Audio soundcard
- Ricoh R5C822 SD/SDIO/MMC/MS/MSPro card reader
- Bluetooth v2, telephone modem, GSM modem
- Ricoh RL5c476 II CardBus bridge
- Ricoh R5C552 IEEE1394 adapter
- 3 USB 2.0 ports
- Intel ProWireless 4965 wireless card
- Broadcom Corporation NetXtreme BCM5752 Gigabit ethernet controller
- D/Port port replicator
Lspci and lsmod outputs are available here and here
SSD handling
In order to extend the life of the SSD in the notebook, I adopted some special settings. My two main sources of information were these two sites – page on tombuntu.com (Four tweaks for using Linux with solid state drives) and a Jason Perlow’s post on blogs.zdnet.com (Geek sheet: A tweaker’s guide to solid state drives and Linux).
Firstly, I am using the deadline scheduler (noop is the other option) – adding elevator=deadline to kernel options (line starting with #kopt= in /boot/grub/menu.lst) does the job.
In order to decrease the number of writes on the disk, I do not use swap partition (2 GB of memory are more than enough for me), I put all tmp and log directories on tmpfs, and the root filesystem is mounted with noatime,nodiratime options. The filesystem is ext3. Some people suggest using ext2, but I am a bit paranoid about losing my data, so I stay with ext3. My /etc/fstab contains (among others)
# root fs, i am using UUID instead of device name UUID=11608a90-7408-4a81-825a-f4a598dca842 / ext3 errors=remount-ro,noatime,nodiratime 0 1 ... # temporary folders none /tmp tmpfs defaults,size=128m 0 0 none /var/log tmpfs defaults,size=64m 0 0 none /var/tmp tmpfs defaults,size=64m 0 0
Please note that by putting logs on tmpfs, you loose them on reboot. Another thing is that some directories might be missing in /var/log. This has to be taken care of. Further modificaitons involve
/etc/rc.local– various changes- getting rid of apt error about nonexistent log directory
mkdir -p /var/log/apt - setting caching for SSD:
hdparm -W1 /dev/hda(discussed here)
- getting rid of apt error about nonexistent log directory
/etc/syslog.confchange all entries for INN news system to use/var/logdirectory (omit the news subdirectory)- change log file in aptitude to
/var/log/aptitude /etc/X11/Xsessionset path to error fileERRFILE=/tmp/.xsession-errors-${USER}- Firefox cache directory – set
browser.cache.disk.parent_directory /tmp
Graphics
New version of the intel driver in Xorg works without any further configuration. Actually, the card isn’t even listed in the xorg.conf file. It seems that the RandR extension and the xrandr tool work out-of-box. At the moment, I just tested the clone mode, enabling/disabling the individual outputs.
In order to get my Wacom tablet and other things working, I had to do some modifications to the configuration – the final xorg.conf file can be downloaded here.
I am experiencing a funny but annoying problem – the external output (both VGA and DVI) jitters from time to time, and it also disappears completely from time to time. Xrandr shows the output as active, but I am getting only black screen. This doesn’t happen with the internal screen. The problem can be related to the fact that I am using the D/Port replicator – I will have to test this further. The internal screen works without any problems.
Sound
Sound output works out-of-box without any configuration needed. Microphone works as well. I just had to play a bit with the mixer settings. Does anyone know a small and simple application showing microphone input levels? It would really help. Here, I had to use trial-and-error procedure, using the Skype test call with different input levels. Anyway, I am using the following at the moment:
Capture 80 % Capture Mux 50 % Digital 50 % Input Source Mix
as shown in alsamixer. Most probably, this is internal microphone – I haven’t been able to sort the recording through the external mic yet…
In order to get rid of (very annoying) keyboard beeps (for example in vi or in the shell), I added
blacklist pcspkr blacklist snd_pcsp
in /etc/modprobe.d/blacklist.local. This disables the internal PC speaker completely.
Volume keys do not seem to have any effect in the beginning. It is necessary to do modifications to .Xmodmap in order to get it working. The following should do the trick.
keycode 176 = XF86AudioRaiseVolume keycode 174 = XF86AudioLowerVolume keycode 160 = XF86AudioMute
The keys are then reported correctly, but I haven’t managed to get them all working in XFCE. At least one of them (RaiseVolume) doesn’t have any effect. I solved this by adding the following to .xbindkeysrc and starting xbindkeys on login:
# toggle mute "amixer sset 'Master' toggle" m:0x0 + c:160 # XF86AudioMute # increase volume "amixer sset 'Master' 20%+" m:0x0 + c:176 # XF86AudioRaiseVolume # decrease volume "amixer sset 'Master' 20%-" m:0x0 + c:174 # XF86AudioLowerVolume
The output jack on the D/Port doesn’t work – no sound is coming out and plugging headphones/speakers to the D/Port connector doesn’t disable the internal notebook speakers. Connector on the notebook body works without any problems.
Networking
The ethernet card is recognized automatically and works without further configuration. In order to get the WiFi card working, it’s necessary to install the firmware-iwlwifi package from the non-free repositories. Wireless networking then works without any problems.
Other peripherals
I haven’t tested any of the other peripherals (telephone and GSM modem, Bluetooth, card reader, …). I expect the card reader to work (it did on my older laptop).
The D/Port port replicator provides some additional ports, for example VGA, DVI, S-Video, serial and parallel connectors, external plugs for telephone and network, and speaker jack. From those, VGA, DVI and ethernet work (tested). Headphone jack doesn’t work.
Power management
Frequency scaling works automatically (acpi_cpufreq module), no configuration was needed. The three available frequencies are correctly recognized (0.8, 1.0, 1.3 GHz) and change according to the computer load.
Suspend to RAM works without any problems. Issuing
echo "mem" > /sys/power/state
suspends the computer (note the pulsation of the power LED). After resume, there are no problems.
I haven’t had time to check the Suspend-to-disk yet. The situation is a bit complicated by the fact that I don’t have any swap partition to hibernate to. I will have to check the Suspend-To-File functionality in the future.
After installing the powersaved package, it’s good to edit /etc/powersave/events. In my case, I have
EVENT_BATTERY_CRITICAL="wm_shutdown" EVENT_BUTTON_POWER="ignore" EVENT_BUTTON_SLEEP="ignore" EVENT_BUTTON_LID_OPEN="ignore" EVENT_BUTTON_LID_CLOSED="suspend_to_ram"
Then, after closing the lid, the notebook goes to sleep (suspend-to-ram) automatically.
Miscellaneous notes
The following notes are related to my setup – you may find some of them useful, but don’t expect much.
- showkeys is good for getting info about keys not recognized by the system
/etc/cups/cupsd.conf– various changes- disable browsing
Browsing off - add
Allow localhostto all “Location” sections in order to enable access to web interface - create printcap in order to enable printing from jedit
Printcap /etc/printcap(discussed here)
- disable browsing
- Firefox/Iceweasel stuff
- file picker:
ui.allow_platform_file_picker false(applies to Thunderbird/Icedove as well) - not giving FF focus upon opening a page from Thunderbird:
browser.tabs.loadDivertedInBackground true
- file picker:
- Thunderbird/Icedove stuff (from here)
- automatic downloading of attachments:
mail.server.default.mime_parts_on_demand false - offline folders autosync
mail.server.default.autosync_offline_stores true
mail.imap.use_status_for_biff false
- automatic downloading of attachments:
/etc/texmf/texmf.confset TEXMFHOME, TEXMFVAR, TEXMFCONFIG to$HOME/.textmf-{local,var,config}- adding
-dpi 100to/etc/kde3/kdm/kdmrc: ServerArgsLocal - getting consistent font in gtk applications can be tricky, this should work (not tested myself yet):
style "user-font" { font_name="Bitstream Vera Sans 11" }
widget_class "*" style "user-font"
gtk-font-name="Bitstream Vera Sans 11"
the last part should affect Iceweasel font. Some people suggest installing gtk-qt-engine and controling properties through kcontrol. One more addition to the above snippet is
gtk-theme-name="Qt" - bootchart – after installation, just add
init=/sbin/bootchartdto the kernel params line… - test initng some day in the future?
- reading books:
pdftotxt $file.pdf $file.txt & festival -wav -i $file.txt -o $file.wav & lame $file.wav & cp -v $file.mp3 /media/mp3player - useful bash tips – check this page
- for problems with USB device descriptor read try to add irqpoll to the kernel options as described here


