Debian on a Presario 2800
Mostly working...
TODO List:
Enlightenment!
Maybe test irda
Keep CPU heatsink clear, was seeing temperatures over 85°C under load
The said laptop is a Taiwanese model Compaq Presario 2800, with the nifty
Mandrin glyphs written alongside the qwerty keys. For months, it had been
mostly unusable 1/3rd of the time, where the power would spin up the drives
and activate the led, but get nowhere. The key step of booting which never
happened, was the brief illumination of the caps & num lock leds, which
happens before the screen kicks on and the bios posts. The removal of the
piece of plastic which covers the rear device ports seems to have mostly
solved this, but it will still appear to occur randomly. Currently, the
backlight trouble appears to be when the right side power adaptors get disconnected
and thus, will leave the screen without a backlight until a reboot. My
paper-clip/lego rigging seems to have stopped the backlight problems.
Basic install goes as well as any typical debian testing snapshot iso.
The kernel was a debian-configged 2.6.15 variant, which I keep upgraded
to a roughly latest kernel.org version. Xorg 7 was brand new, and
just about everything worked out of the box per se. A couple of dev packages
and a cvs to enlightenment.org and I'm up and running Enlightenment DR17.
Hardware
The olde Kernel has pretty much everything you need for this laptop.
Rough Specs:
1.6Ghz Pentium 4 M
Radeon 7500 Mobility GPU
14" LCD 1024x768
Intel ICH3 AC97 Audio
Intel Pro/100 VE Ethernet
Conexant HSF 56k HSFi Modem
USB
On board usb2.0, requires EHCI and OHCI in the kernel. Works great,
but used to have the problem below, but it might have been a hardware
issue.
For some reason
my left usb port only gives the +5v and no signal. Maybe not, I just
tested it with a usb 1.1 mouse and webcam, then a usb2.0 camera and it
works as advertised. Suspect the custom DSDT fixed this, see the ACPI
section. Other suspicion is that problem was related to a physical problem
with the motherboard with the plastic port cover installed.
ATI Technologies, Inc. Radeon Mobility M7 LW [Radeon Mobility 7500]
The 2.6 kernel and Xorg handle this chip pretty well. Add the usual
ATI and DRI kernel options and it's set. Don't bother with the official
ATI drivers, because this chipset isn't supported.
Xorg and S-Video and performance
I've done a number of tests/tweaks, and have generally decided this is
the best setup for the xorg.conf. You will need to install a copy of
driconf and enable the HyperZ, which gives me about a 1.6x increase
in framerates.
xorg.conf device section.
Driver "radeon"
Option "AGPFastWrite" "1"
Option "EnablePageFlip" "1"
Option "ColorTiling" "1"
Option "RenderAccel" "enable"
Option "AGPMode" "4"
Option "BIOSHotkeys" "true"
Option "TVOutput" "NTSC"
I've tested the XAA and EXA xrender extensions, and though EXA claims
to be more modern and up to date, it runs considerably slower with gl
for which the increased xrender performance is negated.
ACPI
All of these kernel options are handled pretty well, and I also suggest
the implementation of a custom DSDT. Make sure you get the packages
acpid, acpi, acpi-support, acpitool, and powersaved for the most
utility.
Custom DSDT
The reasoning here is simple, the default DSDT file has a number of
bugs, and thus, some things such as the brightness modifiers and
that left usb port don't work. You'll need the iasl package to
decompile and recompile the dsdt file.
This really wasn't as complicated as I thought as first, mostly because
everyone had to patch their 2.4 kernel and ACPI junk when they were
referencing this.
A simple set of commands and you've got the dsdt as supple as jello.
cat /proc/acpi/dsdt > dsdt-orig
iasl -d dsdt-orig
Now, you can edit the dsdt-orig.dsl with your favorite text editor,
keeping a look out for the following:
- Asterisks *, eg:
Name (_HID, "*PNP0C01") should be Name (_HID, "PNP0C01")
These are all over the place and all instances should be changed.
- Improper names for Batteries:
This is a simple cosmetic fix, simply ls /proc/acpi/battery find those
hex codes in the .dsl file, and change them to BAT0 and BAT1. Do
the same for the /proc/acpi/ac_adapter to AC and you will be set.
Once satisfied here, you're ready to recompile.
iasl -tc dsdt-orig.dsl
Now, you're ready to point your kernel to the custom dsdt and recompile.
You have to deselect "CONFIG_STANDALONE", then you will have the
"CONFIG_ACPI_CUSTOM_DSDT" enabled in the ACPI section.
Recompile, reboot, and cheer if it works. That's all there is to it.
Conexant HSF 56k HSFi Modem
Installed the drivers from
linuxant
and it works at a blazing 14.4 kbps... You can buy a license for the
fully functional driver, but who uses modems much nowadays anyhow. I don't
particularly like the way this thing will try to recompile itself during booting
if the module isn't detected by a new kernel. That's another reason not to
taint your kernel if you don't need a modem. Another reason is this thing cycles
an unacceptable number of times for a laptop device mentioned in the next section.
Latest - It's dead! Lightning strike, *pop* *pop* noise, and now it doesn't find a dial tone!
It was a pleasure to remove this and it's junky hsfmodem software. Thanks Thor!
Power Usage
Using the new dynticks feature with 2.6.21 allows for some rather interesting inspection
of processes and their interrupts through the
PowerTop
program. The biggest offender observed from this was the linuxant driver, which has 2 or
three different things waking the cpu about 200 times a second. The second biggest is the
radeon driver, which adds a wake for each time the screen finishes refreshing at 61hz.
Working through some bleeding edge patches, ala 2.6.22-rc4 and the hrt10 patches, I was
able to unlock the hidden HPET timer from within the supposedly unsupported ICH3 chipset.
Now, I can get the power usage while idle on battery to around 16-13W, giving me an extra
hour of laptop idle in the car time. Once HPET was enabled, I can regularly reach C3 states
in Xorg, and if idle, can hit 99% in C3, with the 61hz radeon driver still ticking!
tglx.de - hrtimers patches.
HPET + radeon vblank hack = ~8 wakes/second in X + e17, good stuff. Power Consumption is just under
15W with a normal screen half bright idle and with short-term screen off situation, hit 12.7W before
powering the screen back on. Power consumption is less than 14W with the screen brightness at the
minimum. With an extended screen off period, 12.2W has been observed.
Older power stats tend to be about 22 watts when in use and on battery. The battery seems
to be rated for 4000 mAh, and currently identifies as 3152 mAh.
Reference Links
TuxMobil - Filled me with plenty
of ideas and references.
Compaq Laptops @ TuxMobil
Debian - probably not a necessary
link.
Remarks
6.6.07
2 dead hard drives later, it's working again. Haven't had time to customize the dsdt or
anything. The onboard e100 chip is toast, strangely enough. I thought it would never
work with another hdd, but maybe just both of mine were dead, and the dma errors weren't
related. Tried an ubuntu livecd, that worked, but takes forever on this hardware.
Debian's etch was smart enough to detect there was a prism54 pcmcia card, but lacked the
fullmac firmware required to run it. Might not be free enough for the deb camp, but without
eth0, it was rather important to get it. Notes here proved helpful for the rebuild.
12.10.06
Finally sat down with the laptop and an s-video tv. Got atitvout working with the VESA
driver, that was gross, movie playback was even grosser. My information about the
EnableBIOSHotkeys was misleading, and it actually was all I needed to add to get the
Fn-F4 key to switch while in Xorg. Not sure about getting a widescreen picture displayed
on the 16:9 tv since that's not what NTSC is about, but the scale to fullscreen and force
4:3 aspect in mplayer works.
30.8.06
Reinstalled with a new Etch netinstall image. The installer seemed somewhat truncated
but the main feature of the install was to try out the encryption. The GUI installer
I tried at first doesn't have the ability to do the crypto loop which was disappointing
and forced me to try again without that. After the install, I do the reboot, boot to
the new system, and blammo, out and in the open without dselect or tasksel or some sort
of replacement. Left to my own devices, I get through the packages with aptitude and
cvs the enlightenment 17, and it's as good as new. Irks, something is weird with the
fonts, but I haven't been able to put my finger on it. Disabling XCore Fonts doesn't
hide the non-hinted fonts in Opera like it did before, which is the real manifestation
of this problem.
2.8.06
Quick changes in the xorg.conf lead me to have functional brightness
keys after starting x, but had nothing to do with the "EnableBiosHotKeys"
as the name would suggest. Unfortunately, the atitvout program no longer
functions, and I had to use mplayer on the console.
27.7.06
Decided to write down all of this junk while I still remember it.
Copy-right-handed-rule by
Kent.
Last Modified: Sunday, 01-Jun-2008 17:04:40 CDT