# Compaq Presario laptop crashes [solved]

## csteeves

I've just installed Gentoo onto an AMD Athlon 64 X2 Compaq Presario F730 with nVidia C51 / MCP51 components.  I have frequent hard crashes requiring poweroff unless I boot with the noapic option, which isn't a good solution.  Other grub options have been of no help.  After plenty of googling, it appears that the cause of this is a buggy DSDT - they seem to cause all manner of ACPI problems, and Compaq is particularly notorious for such things.  Is there a non-buggy DSDT which will function with this hardware?  If I can find such a thing, is Eric Piel's initrd patch the way to implement the fix?  Is there a better way in Gentoo to handle this?  I'm using the 2.6.19 kernel; will upgrading to 2.6.22 be of any help?

Thanks in advance for any suggestions / advice.

CraigLast edited by csteeves on Sat Oct 13, 2007 4:08 pm; edited 1 time in total

----------

## skunk

see this

----------

## csteeves

 *skunk wrote:*   

> see this

 

Yes, thank you.  I've read this HOWTO and it is excellent.  But I'm not convinced that I am capable of doing the necessary programming to fix the DSDT and am hoping that someone else already has a fixed version.  I haven't found one on the repositories yet.

Craig

----------

## skunk

well... at least try it...

you can always post your dsdt errors on the forums and get help...

----------

## csteeves

 *skunk wrote:*   

> well... at least try it...
> 
> you can always post your dsdt errors on the forums and get help...

 

Heh!  True - I'll see how brave I feel tomorrow morning.

----------

## csteeves

As I posted above, I've just installed Gentoo kernel 2.6.19 onto a Compaq Presario F730 laptop, which has an Athlon 64 X2 and nVidia components.  Running the kernel from the minimal install CD works fine: the system is completely stable.  When I switch to the installed kernel, though, things go haywire.  I can replicate crashes in three situations:

1.  Scrolling through text in console mode (ie dmesg | less, for example, though emerge --sync did it as well).

2.  Automatically switching to a windows manager at boot; boot proceeds properly up to loading gdm and starting local, then fails to a black screen.

3.  Starting ntp-client from anywhere but the default runlevel at boot.

All three of these crashes are hard, with no solution but power off, and no record of errors in dmesg or /var/log/.

However, if I boot using the noapic switch in grub, none of these problems occur.  Unfortunately, using this switch disables one of the dual core processors, and is hence not ideal.

There appear to be several problems, either linked or not, explained well in:

http://facorread.150m.com/gentoohp.html

Also , the ACPI DSDT is buggy; this HOWTO explains:

http://gentoo-wiki.com/HOWTO_Fix_Common_ACPI_Problems

The problems, in eventual order of importance, were:

1.  Real time clock issues

2.  nVidia graphics driver issues

3.  DSDT / ACPI issues

For the purposes of getting everything working, I set the noapic switch at boot and ran on one processor.  This at least allowed me to compile and debug.

The real time clock problems can be resolved, at least well enough to make the system stable, by disabling the RTC options in the kernel and using ntp to set the system time at startup, see:

http://gentoo-wiki.com/HOWTO_NTP

The ACPI / DSDT issues may have been a bit of a red herring: with the noapic switch set, I was getting dmesg warnings about IRQ 7, (temperature sensor related, I think, but possibly also clock related) which was being ignored and disabled.  My theory was that with noapic set, the interrupt had no meaning, but without the noapic switch set, an interrupt process was started which disabled the system.  Solving this might have required debugging the DSDT, which I didn't relish.

However, it turns out that upgrading the nVidia drivers was the necessary trick; see:

http://gentoo-wiki.com/HOWTO_nVidia_Drivers

I have the latest versions compiled with USE flag acpi set.  Once the nVidia drivers were installed, I removed the noapic switch from the grub boot line, and replaced it with:

```
irqpoll no_timer_check acpi_osi=!Linux pci=useirqmask pci=routeirq acpi_sci=level
```

(thanks DaggyStyle) although acpi_osi=!Linux and pci=useirqmask end up being flagged as having no meaning.  After fiddling a bit to get xorg.conf configured properly, the system now boots directly to the gdm login screen.  Success.  [edit:  There is some suggestion that this configuration will cause problems if one doesn't boot directly into a windows manager ie uses a text console.  I have not tried the text console yet so do not know, but beware.]

Thanks to those who provided helpful advice with this.

Craig

----------

