Latest working kernel version: 2.6.24.x Earliest failing kernel version: 2.6.25 Distribution: Gentoo 2007.0 Hardware Environment: Samsung P35 XVM 1600 III Software Environment: Gentoo Problem Description: Upgrading from 2.6.24 to 2.6.25 does result in loss of functionality, because the asus_acpi module does not load anymore. Loading it breaks with the message: No such device. Using the module from 2.6.24 it works fine. I'll would like to see it working again, as i need the module to switch vga output. Steps to reproduce: modprobe asus_acpi
Reply-To: akpm@linux-foundation.org fyi... Begin forwarded message: Date: Fri, 9 May 2008 09:09:06 -0700 (PDT) From: bugme-daemon@bugzilla.kernel.org To: bugme-new@lists.osdl.org Subject: [Bugme-new] [Bug 10657] New: asus_acpi broken on Samsung P35 since 2.6.25 http://bugzilla.kernel.org/show_bug.cgi?id=10657 Summary: asus_acpi broken on Samsung P35 since 2.6.25 Product: ACPI Version: 2.5 KernelVersion: 2.6.25.x Platform: All OS/Version: Linux Tree: Mainline Status: NEW Severity: normal Priority: P1 Component: Platform-Drivers AssignedTo: acpi_platform-drivers@kernel-bugs.osdl.org ReportedBy: tkrah@fachschaft.imn.htwk-leipzig.de Latest working kernel version: 2.6.24.x Earliest failing kernel version: 2.6.25 Distribution: Gentoo 2007.0 Hardware Environment: Samsung P35 XVM 1600 III Software Environment: Gentoo Problem Description: Upgrading from 2.6.24 to 2.6.25 does result in loss of functionality, because the asus_acpi module does not load anymore. Loading it breaks with the message: No such device. Using the module from 2.6.24 it works fine. I'll would like to see it working again, as i need the module to switch vga output. Steps to reproduce: modprobe asus_acpi
On Friday 09 May 2008 20:53:10 Andrew Morton wrote: > fyi... > > > Begin forwarded message: > > Date: Fri, 9 May 2008 09:09:06 -0700 (PDT) > From: bugme-daemon@bugzilla.kernel.org > To: bugme-new@lists.osdl.org > Subject: [Bugme-new] [Bug 10657] New: asus_acpi broken on Samsung P35 since > 2.6.25 > > > http://bugzilla.kernel.org/show_bug.cgi?id=10657 > > Summary: asus_acpi broken on Samsung P35 since 2.6.25 > Product: ACPI > Version: 2.5 > KernelVersion: 2.6.25.x > Platform: All > OS/Version: Linux > Tree: Mainline > Status: NEW > Severity: normal > Priority: P1 > Component: Platform-Drivers > AssignedTo: acpi_platform-drivers@kernel-bugs.osdl.org > ReportedBy: tkrah@fachschaft.imn.htwk-leipzig.de > > > Latest working kernel version: 2.6.24.x > Earliest failing kernel version: 2.6.25 > Distribution: Gentoo 2007.0 > Hardware Environment: Samsung P35 XVM 1600 III > Software Environment: Gentoo > Problem Description: > > Upgrading from 2.6.24 to 2.6.25 does result in loss of functionality, > because the asus_acpi module does not load anymore. > Loading it breaks with the message: No such device. > > Using the module from 2.6.24 it works fine. > I'll would like to see it working again, as i need the module to switch vga > output. > > Steps to reproduce: > > modprobe asus_acpi Can you try asus-laptop module ? asus_acpi is deprecated ... And you send me the dmesg....
Using it on 2.6.24 (25 i'll report later): Loading asus_acpi dmesg look like this: [16232.350558] Asus Laptop ACPI Extras version 0.30 [16232.363479] Samsung P30 detected, supported And /proc/acpi/asus/* is there. [16316.340890] asus-laptop: Asus Laptop Support version 0.42 Hm, i searched in /proc but found nothing, but theres something in /sys - may it be that "stuff" moved there? I am missing the "lcd" file, maybe renamed, is there some sort of documentation whats changed and how to control the new one when upgrading from asus-acpi to asus-laptop? And if its deprecated it would be nice to mark it (DEPRECATED), i found this message only after reading the "note" of the driver.
Hi, Torsten Will you please set "CONFIG_ASUS_LAPTOP" in kernel configuration(using the driver in drivers/misc/asus-laptop rather than the driver in drivers/acpi/asus-laptop) and see whether the problem still exists? Please confirm whether the CONFIG_ACPI_PROCFS is set in kernel configuration. Now it is the deprecated option. Thanks.
> Hm, i searched in /proc but found nothing, but theres something in /sys - may > it be that "stuff" moved there? /sys/devices/platform/asus-laptop/ > I am missing the "lcd" file, maybe renamed /sys/class/backlight (and /sys/class/led if any)
CONFIG_ASUS_LAPTOP is set. CONFIG_ACPI_PROCFS is set too. Compiled both, old and new one, as module. Both loads fine, but not at the same time - of cause, thats what i am facing above. However i miss some things: With asus_acpi i can control the power/backlight of the display (on or off) with echo 0|1 > /proc/acpi/asus/lcd. /sys/class/backlight is empty like /sys/class/leds, how can i do this with asus-laptop module? Switching the display output (lcd,crt,tvout) i am still testing (searching my monitor cable), if it still works like it does with the old module: e.g.: echo $((10#00000062-60)) > /proc/acpi/asus/disp Or is this done different now? Looking at the sourcecode it tells 1,2,4,8 or bitwise combination of them. This change should be documented somewhere (where everyone who switches the driver knows, that he MUST update the scripts, as values have changed.), am i right? So far i can see, brightness, battery, volume up/down/mute are still working fine. thx.
Can you send your dsdt ? (cat /proc/acpi/dsdt > /tmp/dsdt; gzip /tmp/dsdt) > Switching the display output (lcd,crt,tvout) i am still testing (searching my monitor cable), if it still works like it does with the old module: >e.g.: echo $((10#00000062-60)) > /proc/acpi/asus/disp Yes it does, but why echo $((10#00000062-60)) instead of echo 2 ? Oo
DSDT is attached. @Echo: Thats what the documentation tell (and what worked, using "2" did not work, using this construct did - dont ask why). Look at documentation: ... Note: on some machines (e.g. L3C), after the module has been loaded, only 0x6n events are generated and no actual switching occurs. In such a case, a line like: echo $((10#$arg-60)) > /proc/acpi/asus/disp will usually do the trick ($arg is the 0000006n-like event passed to acpid). ... That why it look so "crazy" ;-)
Created attachment 16177 [details] DSDT Original - got some errors, no throtteling and more I am not using this one but attached it. I dont think the changes i've made to the one i am using are crtitical (only bugfixes).
Created attachment 16178 [details] DSDT - Fixed one This one i am using most of the time - i got throtteling, no ACPI Errors like this one: ACPI: Invalid PBLK length [7] There is no "BIOS" Fix from the manufacturer, so i have to use this DSDT patch to change it on boot time (it taints the kernel but i am a user and i want to have throtteling and a correct dsdt). Please take this one to look why backlight is not working anymore, if possible.
Hi, Torsten What Corentin said in comment #5 is very correct. Now the driver of asus-acpi is depreciated. In the driver of asus-laptop the proc I/F is not supported anymore. So you must use the sys I/F. For example: LCD brightness : /sys/class/backlight/asus-laptop/ Output switch: /sys/devices/platform/asus-laptop/ It seems that your laptop model is supported by the driver of acpi-asus. Please try to load it anyway and see whether you can switch VGA output. Thanks.
There is no file in: LCD brightness : /sys/class/backlight/asus-laptop/ Output switch: /sys/devices/platform/asus-laptop/ I cant load it anyway, i can either load asus_laptop or asus_acpi, not both at the same time.
Hi, Torsten Thank for your info. From the DSDT file it seems that the \_SB.ATKD.INIT object returns no value, which causes that asus-laptop driver can't be loaded correctly. In fact the \_SB.ATKD.INIT should return one string, which is used to identify the laptop model. For example: L3E, M6N. As the asus-laptop driver can't be loaded correctly, there is no file in >LCD brightness : /sys/class/backlight/asus-laptop/ >Output switch: /sys/devices/platform/asus-laptop/ In fact on the kernel of 2.6.24.x the asus-laptop driver also can't be loaded. Only the asus-acpi driver(driver/acpi/asus-acpi) can work on your laptop. That asus-laptop driver can't be loaded is caused by the broken bios. So please continue to use the asus-acpi driver on your laptop and it gives your the correct proc I/F. As the problem is caused by that different drivers are loaded on the different kernel version, it will be rejected.
That the asus-laptop driver can't be loaded is caused by the broken bios. And the problem is related with that different drivers are loaded on the different kernel version. So it is not regression.
I'll reopen a new bug as you are right, its not related to 2.6.24->2.6.25 as it wont work under 24 either. I'll would discuss this further at http://bugzilla.kernel.org/show_bug.cgi?id=10848 which is more detailed description of the "right" thing i hope.