FS#15112 - [kernel26] dsdt hooks ignored

Attached to Project: Arch Linux
Opened by Anish Bhatt (anish) - Monday, 15 June 2009, 09:08 GMT
Last edited by Tobias Powalowski (tpowa) - Friday, 19 June 2009, 22:18 GMT
Task Type Bug Report
Category Packages: Testing
Status Closed
Assigned To Tobias Powalowski (tpowa)
Architecture All
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description: mkinitcpio is ignoring dsdt hooks


Additional info:
* package version : 0.5.25-1

* config and/or log files etc.
mkinitcpio.conf :
HOOKS="base udev autodetect pata scsi sata usb pcmcia keymap encrypt resume filesystems dsdt"

Steps to reproduce:

Create custom.dsdt in /lib/initcpio/, add entry to mkinitcpio.conf, create ramdisks. Reboot, dmesg does not show custom dsdt being recognized.

Used to work fine in previous version, I've made no changes to the mkinitcpio conf file, or the custom dsdt, but the custom dsdt is no longer being used. Kernel : 2.6.30-ARCH

What dmesg used to show before :
201108-Jun 10 20:40:35 cellardoor kernel: Checking 'hlt' instruction... OK.
201109-Jun 10 20:40:35 cellardoor kernel: ACPI: Core revision 20081204
201110:Jun 10 20:40:35 cellardoor kernel: ACPI: Checking initramfs for custom DSDT
201111:Jun 10 20:40:35 cellardoor kernel: ACPI: Found DSDT in DSDT.aml.
201112:Jun 10 20:40:35 cellardoor kernel: ACPI: Override [DSDT-30D2 ], this is unsafe: tainting kernel
201113:Jun 10 20:40:35 cellardoor kernel: ACPI: Table DSDT replaced by host OS
201114:Jun 10 20:40:35 cellardoor kernel: ACPI: DSDT 00000000, 8BBC (r1 HP 30D2 6040000 INTL 20090123)
201115:Jun 10 20:40:35 cellardoor kernel: ACPI: DSDT override uses original SSDTs unless "acpi_no_auto_ssdt"
201116-Jun 10 20:40:35 cellardoor kernel: ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
201117-Jun 10 20:40:35 cellardoor kernel: CPU0: Intel(R) Core(TM)2 Duo CPU T7300 @ 2.00GHz stepping 0a



What dmesg shows now :
208444:Jun 15 04:45:47 cellardoor kernel: Checking 'hlt' instruction... OK.
208445-Jun 15 04:45:47 cellardoor kernel: ACPI: Core revision 20090320
208446-Jun 15 04:45:47 cellardoor kernel: ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
This task depends upon

Closed by  Tobias Powalowski (tpowa)
Friday, 19 June 2009, 22:18 GMT
Reason for closing:  Won't fix
Comment by Jan de Groot (JGC) - Monday, 15 June 2009, 09:12 GMT
This has been removed from 2.6.30, because the patch didn't work correctly anymore. Upstream has never supported this patch, so we removed it instead of trying to fix it.
Comment by Anish Bhatt (anish) - Monday, 15 June 2009, 09:13 GMT
is there an alternate way to use a custom dsdt now, or has support been completely removed ?
Comment by Roman Kyrylych (Romashka) - Monday, 15 June 2009, 10:12 GMT
The support has been removed in 2.6.30. Do you _really_ need custom dsdt?
Comment by Anish Bhatt (anish) - Monday, 15 June 2009, 11:21 GMT
yes, basic things like detecting the ac adapter do not work unless I use a custom dsdt.
Comment by Jan de Groot (JGC) - Monday, 15 June 2009, 11:33 GMT
What laptop is this btw, you should contact your laptop vendor for an updated bios. If linux doesn't detect the ac adapter without a custom dsdt, I expect Vista will also give problems.
Comment by Anish Bhatt (anish) - Monday, 15 June 2009, 13:01 GMT
I have an HP dv6500. I've always kept the BIOS updated. Sadly the laptop ships with a buggy dsdt, that somehow works perfectly with vista. The problem is not that it doesn't recognize the adapter, it doesn't recognize disconnects or reconnects. There's even a kernel bug against this : http://bugzilla.kernel.org/show_bug.cgi?id=12035
which is how I found the dsdt solution in the first place
Comment by Tobias Powalowski (tpowa) - Monday, 15 June 2009, 13:08 GMT
found a fix for acpi dsdt patch, will included in next -4 kernel.
Comment by Anish Bhatt (anish) - Tuesday, 16 June 2009, 11:43 GMT
  • Field changed: Percent Complete (100% → 0%)
custom dsdt is not being loaded, dmesg shows the following :

185-Checking 'hlt' instruction... OK.
186:ACPI: Checking initramfs for custom DSDT
187:ACPI: Found DSDT in DSDT.aml.
188-ACPI: Core revision 20090320
189-..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1

While it is checking for a custom DSDT, it does not actually seem to load it, the acpi errors still exist
Comment by Tobias Powalowski (tpowa) - Tuesday, 16 June 2009, 12:00 GMT
hrm well then we have to wait for an upstream fix, this one was from mandriva.
Comment by Tobias Powalowski (tpowa) - Tuesday, 16 June 2009, 14:48 GMT
you can compile your own kernel with dsdt directly in the kernel, probably we remove the patch anyway it seems to become a weird hack noone understands.
Comment by Anish Bhatt (anish) - Tuesday, 16 June 2009, 21:34 GMT
seems to be working now. tried rebooting a couple of times, its working prefectly. I don't know why it didn't work at the first try. i request that you keep it in.
Comment by Tobias Powalowski (tpowa) - Wednesday, 17 June 2009, 05:45 GMT
ok ... fixed.
Comment by Anish Bhatt (anish) - Wednesday, 17 June 2009, 17:09 GMT
  • Field changed: Percent Complete (100% → 0%)
Intermittent failure still seen, dsdt is not being properly loaded. Upto 2.6.29, dsdt patch was foolproof, not the case with 2.6.30
Comment by Tobias Powalowski (tpowa) - Wednesday, 17 June 2009, 19:52 GMT
means sometimes it works sometime not?
Comment by Anish Bhatt (anish) - Thursday, 18 June 2009, 00:17 GMT
tried compiling it directly into kernel, works correctly :
dmesg shows dsdt override :

ACPI: FACP 7fedfc6c 000F4 (v03 HP 30CC 06040000 ALAN 00000001)
ACPI: Override [DSDT-30D2 ], this is unsafe: tainting kernel
Disabling lock debugging due to kernel taint
ACPI: DSDT @ 0x7fed703c Table override, replaced with:
ACPI: DSDT c04a6ddc 08BBC (v01 HP 30D2 06040000 INTL 20090422)

works 100% of the time, definitely a problem with the patch
Comment by Tobias Powalowski (tpowa) - Friday, 19 June 2009, 22:18 GMT
removed the patch, bye bye dsdt patch ...
please compile now custom kernels for custom dsdt as kernel developers want it.

Loading...