Updates
-
08 Dec 2006 General update of the Howto after switching to Ubuntu Edgy Eft. Removed BIOS-corrupting warning because it seems to be fixed (Either in the newest kernel or in one of the Dell BIOS updates (I have A04), don't know)
Dell Latitude D820 details
| Processor |
Intel® Core™ Duo T2400 1.83 GHz |
Works |
| Memory |
2 GB RAM |
Works |
| Harddisk |
100 GB Hitachi HTS72101 ATA Drive |
Works |
| DVD/CD-ROM |
TSSTcorp DVD+-RW TS-L632D |
Works |
| Videocard |
512 MB NVidia® Quadro NVS 120M TurboCache™ |
Works |
| TFT display |
1280x800 |
Works |
| Soundcard |
Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller |
Works, but has some problems |
| USB |
Intel Corporation 82801G (ICH7 Family) |
Works |
| Firewire |
O2 Micro |
Works |
| Network |
Broadcom Corporation NetXtreme BCM5752 Gigabit Ethernet PCI Express |
Works |
| WLAN |
Intel® Pro/Wireless 3945ABG |
Works |
| Touchpad |
Synaptics TouchPad |
Works |
| PCMCIA |
O2 Micro |
Works |
| Special buttons |
Mute volume, Increase volume, Decrease volume |
Works |
| ACPI |
|
Works but has suspend problems |
| Smart card reader |
O2 Micro Oz776 |
Works |
| IrDA |
SIR at /dev/ttyS1 |
Works |
Used setup
I'm using Ubuntu Edgy Eft which
comes with a 2.6.17 kernel. After the installation pretty much is
working right out of the box. Some stuff needs some tweaking as described
below.
Output of lspci
If you are interested in the output of lspci, here it is.
Processor
The two cores of the processor are working out of the box. Speed Step is also working fine with 1 GHz, 1.33 Ghz and
1.83 Ghz.
I had problems with Half-Life (via Cedega).
I've solved them by disabling the second CPU and switching off speed step
before I start the game. This can be done by executing the following commands
as root before starting Cedega:
echo 0 > /sys/devices/system/cpu/cpu1/online
echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
After closing Cedega you should run these commands as root to get the system
back to normal:
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo 1 > /sys/devices/system/cpu/cpu1/online
By using sudo all this can be put into some scripts so cedega can be started
easily without bothering about technical details. Here is a step by step
instruction how to do it (I assume you have installed Cedega as Debian
package. If not, then you have to figure out the differences yourself):
I noticed another problem. This time with VMware. The clock of the
guest operating system is running much to slow. This can be solved by
reducing the maximum C-State of the processor with this command:
echo 1 > /sys/module/processor/parameters/max_cstate
After you are finished with Vmware you can reset the setting to
save battery power with this command:
echo 8 > /sys/module/processor/parameters/max_cstate
You may put these commands into a script and run it with sudo like
the other scripts described above.
Video card
The open source Xserver nv runs fine in 2D mode but I've
upgraded immediately to the latest beta binary driver from Nvidia (version 97.42)
to get 3D acceleration and TwinView.. This is my first contact with
NVidia hardware. All my former laptops had ATI chipsets. It took a long
time until a had TwinView running perfectly but when it's configured
properly (Thanks to the great documentation) it's working like a charm.
Here is the crucial part of my xorg.conf:
Section "Device"
Identifier "Generic Video Card"
Driver "nvidia"
BusID "PCI:1:0:0"
Option "NoLogo" "true"
Option "ConnectedMonitor" "DFP-0, CRT-0"
Option "UseDisplayDevice" "DFP-0, CRT-0"
Option "UseEdidFreqs" "false"
Option "UseEDID" "true"
Option "TwinView" "true"
Option "TwinViewOrientation" "LeftOf"
Option "SecondMonitorHorizSync" "30-160"
Option "SecondMonitorVertRefresh" "30-85"
Option "MetaModes" "DFP-0:1280x800,CRT-0:1280x1024; DFP-0:1280x800,
CRT-0:NULL; DFP-0:1024x768,CRT-0:NULL; DFP-0:800x600,CRT-0:NULL; DFP-0:640x480,CRT-0:NULL"
Option "TwinViewXineramaInfoOrder" "DFP-0, CRT-0"
Option "DPI" "75 x 75"
Option "UseEdidDpi" "false"
Option "FlatPanelProperties" "Scaling = Centered, Dithering = Default"
Option "AddARGBGLXVisuals" "true"
Option "TripleBuffer" "true"
EndSection
With these settings I'm able to switch between Single-Head and
Dual-Head with the xrandr program and it doesn't matter if
the external display is connected or not.
Soundcard
Works with the ALSA driver snd_hda_intel but has some problems.
A major problem is that the mixer capabilities are very limited. I can
just control Master, PCM, Capture Mux and Capture. There is no mixer
setting for the internal PC speaker which is quite annoying because it
beeps very loud. I have disabled the bell in bash by putting the
line set bell-style none into the file ~/.inputrc and
also disabled it in gnome but sometimes it's still triggered by some
programs. If you have a solution for this, let me know.
I had another problem with
sound in Quake 3 but solved them by executing these commands as root before
I start the game:
echo "quake3.x86 0 0 direct" > /proc/asound/card0/pcm0p/oss
echo "quake3.x86 0 0 disable" > /proc/asound/card0/pcm0c/oss
Similar to the Cedega solution described above in the processor
section I have created a alsafix script and a
quake3 script. Put both into /usr/local/bin, make both
scripts executable, edit the quake3 script and change the path to your
real quake3 binary and then make sure your user can execute the
alsafix script with sudo without entering a password. Then you can just run
the quake3 script and quake starts up with working sound.
A more serious problem I have with timidity and games like FlightGear.
The sound makes small breaks multiple times per second. The only
solution to improve the sound quality (but it's still not perfect) I have found
so far is disabling the second CPU core and setting the first CPU core
to full power. If you know a better solution, please let me know!
Firewire
I don't have any firewire devices but the output in the kernel log file
looks like the driver was loaded correctly.
Network
The intergrated network controller is working out of the box with the
tg3 driver.
WLAN
The wireless network card is detected by Ubuntu and works out of the
box with the shipped open source ipw3945 driver.
Touchpad
The touchpad worked out of the box but mouse pointer movement was pretty
slow. The mouse settings in Ubuntu doesn't affect the touch pad. They affect
only the track point. So I added the following lines to the touchpad
section in xorg.conf to accelerate the mouse pointer movement
Option "MinSpeed" "0.7"
Option "MaxSpeed" "3"
Option "AccelFactor" "0.025"
If you want to be able to configure the touchpad with qsynaptics then you
may want to add this option:
Option "SHMConfig" "1"
If you are like me and don't like the scroll area on the touch pad then you
can disable it with this option:
Option "VertScrollDelta" "0"
PCMCIA
PCMCIA works fine out of the box with the yenta driver. Because the laptop
has integrated WLAN I don't need PCMCIA but I have tested it by inserting
my old Orinocco WLAN card. It was detected and powered up correctly.
Volume buttons
The volume buttons are working right out of the box. They are handled
by software (Gnome in my case). That means that they are not always
working when you are in a game like Quake or Half-Life.
ACPI
ACPI support works fine. The battery state and CPU temperature can be
read without any problems. But as usual suspend-to-ram has problems.
I'm currently not sure what causes it. The laptop does not go to sleep,
instead it freezes after some time. I have not investigated this problem
yet. If you have some tips, please let me know.
Smart card reader
The smart card reader seems to work. The program pcsc_scan (included in
the package pcsc-tools) detects the reader and recognizes my cash card.
But I have no need for a smart card reader so I have not tested further.
You also need to install the package pcscd and you have to set the
driver option DRIVER_OPTION_USE_BOGUS_FIRMWARE in the
file /etc/libccid_Info.plist (Restart pcscd after changing the file):
<key>ifdDriverOptions</key>
<string>0x0004</string>
IrDA
IRDA does not work out of the box because the /etc/init.d/irda-setup script
of the irda-utils package shipped with Ubuntu thinks it has to load the
smsc-ircc2 FIR driver which fails. I have modified this script so it looks
like this (changes in bold):
IBM0071)
FIR="nsc-ircc";
OPTIONS="dongle_id=0x09";
;;
SMCf010*)
SIR="true"
;;
SMC*)
FIR="smsc-ircc2";
;;
After this change and restarting all the IrDA stuff irdadump
recognized my Siemens mobile phone and scmxx --device=/dev/ircomm0
-i correctly connected to the phone and listed lots of information.