Bug 10657 - asus_acpi broken on Samsung P35 since 2.6.25
Summary: asus_acpi broken on Samsung P35 since 2.6.25
Status: REJECTED DOCUMENTED
Alias: None
Product: Drivers
Classification: Unclassified
Component: Platform (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: ykzhao
URL:
Keywords:
Depends on:
Blocks: 9832
  Show dependency tree
 
Reported: 2008-05-09 09:09 UTC by Torsten Krah
Modified: 2010-10-08 18:19 UTC (History)
2 users (show)

See Also:
Kernel Version: 2.6.25.x
Subsystem:
Regression: ---
Bisected commit-id:


Attachments
DSDT Original - got some errors, no throtteling and more (8.53 KB, application/x-gzip)
2008-05-17 13:41 UTC, Torsten Krah
Details
DSDT - Fixed one (8.44 KB, application/x-gzip)
2008-05-17 13:43 UTC, Torsten Krah
Details

Description Torsten Krah 2008-05-09 09:09:05 UTC
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
Comment 1 Anonymous Emailer 2008-05-09 11:53:48 UTC
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
Comment 2 Corentin Chary 2008-05-09 12:11:01 UTC
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....
Comment 3 Torsten Krah 2008-05-09 14:40:22 UTC
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.
Comment 4 ykzhao 2008-05-11 20:03:21 UTC
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.
    
Comment 5 Corentin Chary 2008-05-14 00:05:53 UTC
> 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)
Comment 6 Torsten Krah 2008-05-14 12:45:28 UTC
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.
Comment 7 Corentin Chary 2008-05-15 00:20:35 UTC
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
Comment 8 Torsten Krah 2008-05-17 13:18:53 UTC
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" ;-)
Comment 9 Torsten Krah 2008-05-17 13:41:00 UTC
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).
Comment 10 Torsten Krah 2008-05-17 13:43:47 UTC
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.
Comment 11 ykzhao 2008-05-26 00:09:00 UTC
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.
    
Comment 12 Torsten Krah 2008-06-02 14:02:30 UTC
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.
Comment 13 ykzhao 2008-06-02 20:43:52 UTC
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. 
    
Comment 14 ykzhao 2008-06-02 20:47:03 UTC
   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.
Comment 15 Torsten Krah 2008-06-03 00:55:27 UTC
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.

Note You need to log in before you can comment on or make changes to this bug.