Bug 44451 - no backlight control in Acer Aspire One D270
Summary: no backlight control in Acer Aspire One D270
Status: CLOSED CODE_FIX
Alias: None
Product: ACPI
Classification: Unclassified
Component: Power-Video (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: acpi_power-video
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-07-11 10:27 UTC by Leon Wilk
Modified: 2013-02-08 17:50 UTC (History)
5 users (show)

See Also:
Kernel Version: 3.2.0-25
Subsystem:
Regression: No
Bisected commit-id:


Attachments
various dumps (acpidump, iasl, fwts, dmidecode, dmesg etc) (150.03 KB, application/octet-stream)
2012-07-11 10:27 UTC, Leon Wilk
Details
dmesg with acpi.debug_level=0x0000000F acpi.debug_layer=0xffffffff log_buf_len=5M (50.68 KB, text/x-log)
2012-08-15 22:01 UTC, Leon Wilk
Details
as above but without acpi_backlight=vendor (50.68 KB, text/x-log)
2012-08-15 22:09 UTC, Leon Wilk
Details
dmesg for a kernel with CONFIG_ACPI_DEBUG=y (684.81 KB, text/x-log)
2012-08-20 19:57 UTC, Leon Wilk
Details
lspci -xxxnnvv (41.30 KB, text/x-log)
2012-08-21 07:33 UTC, Leon Wilk
Details
dmesg from kernel 3.5 (915.18 KB, text/x-log)
2012-08-24 18:08 UTC, Leon Wilk
Details

Description Leon Wilk 2012-07-11 10:27:31 UTC
Created attachment 75221 [details]
various dumps (acpidump, iasl, fwts, dmidecode, dmesg etc)

Backlight can't be controlled in Aspire One D270. 
booting with acpi_backlight=vendor doesn't change a thing.
/sys/class/backlight is empty.

This was reported in https://bugs.launchpad.net/ubuntu/+source/linux/+bug/974806
but it appears like the reporter never followed up with the recommendation to upstream the bug (I didn't find anything on "D270 backlight" on bugzilla.kernel.org), so I'm doing it here.

My system:
Ubuntu 12.04 LTS, kernel 3.2.0-25-generic-pae
The previous reporter checked it with 3.2.0-22.35 

/sys/class/backlight is empty.
/proc/acpi/video does not exist
'ACPI: Video' doesn't appear in dmesg.

Attaching all kinds of dumps as recommended by https://wiki.kubuntu.org/Kernel/Debugging/Backlight
Comment 1 Alan 2012-07-11 13:35:47 UTC
Most likely you need acerhdf loaded and possibly to add your BIOS to it.
Comment 2 Leon Wilk 2012-07-11 14:58:38 UTC
modprobe acerhdf yields "Invalid argument" error.
dmesg shows:
[ 1144.527443] acerhdf: Acer Aspire One Fan driver, v.0.5.24
[ 1144.527470] acerhdf: unknown (unsupported) BIOS version Acer/AOD270/V1.04, please report, aborting!

seems like another "please contact upstream"... 
https://bugs.archlinux.org/task/30475?opened=13196&status[0]=
Comment 3 Alan 2012-07-11 15:03:23 UTC
If you do modinfo on it you'll see you can force it to load so you can test if it does the trick.

If it does then we can add it to the driver table.
Comment 4 Leon Wilk 2012-07-11 15:28:41 UTC
Yes,
parm:           force_bios:Force BIOS version and omit BIOS check (string)
parm:           force_product:Force BIOS product and omit BIOS check (string)
Could you give me some workable/likely values I could use to try it?

On a different note, /sys/class/thermal appears to be entirely in order. 4 cooling devices, 1 thermal zone, believable values.
Comment 5 Leon Wilk 2012-07-11 23:08:26 UTC
I tried it with forcing some other model... no influence on the backlight. results attached below. I'm afraid it won't be that simple. All Aspire One BIOSes in acerhdf.c I spotted are numbered v0.3108-v0.3314, while my D270 reports V1.04


[25773.445178] acerhdf: forcing BIOS version: v0.3309
[25773.445183] acerhdf: forcing BIOS product: AOA110
[25773.445192] acerhdf: Fan control off, to enable do:
[25773.445196] acerhdf: echo -n "enabled" > /sys/class/thermal/thermal_zone0/mode
[25786.520942] psmouse serio2: Touchpad at isa0060/serio2/input0 lost sync at byte 6
[25786.551012] psmouse serio2: Touchpad at isa0060/serio2/input0 - driver resynced.
[25799.466299] acer_wmi: Unknown function number - 4 - 4
[25799.750275] acer_wmi: Unknown function number - 4 - 3
[25799.985092] acer_wmi: Unknown function number - 4 - 2
[25800.010099] acer_wmi: Unknown function number - 4 - 1
[25800.033717] acer_wmi: Unknown function number - 4 - 0
[25800.063074] acer_wmi: Unknown function number - 4 - 0
[25800.088386] acer_wmi: Unknown function number - 4 - 0
[25800.121927] acer_wmi: Unknown function number - 4 - 0
[25800.200282] acer_wmi: Unknown function number - 4 - 0
[25800.407095] acer_wmi: Unknown function number - 4 - 0
[25800.578418] acer_wmi: Unknown function number - 4 - 0
[25800.835724] acer_wmi: Unknown function number - 4 - 0
[25801.366705] acer_wmi: Unknown function number - 4 - 0
[25801.625306] acer_wmi: Unknown function number - 4 - 0
[25801.915384] acer_wmi: Unknown function number - 4 - 1
[25802.157027] acer_wmi: Unknown function number - 4 - 2
[25802.374076] acer_wmi: Unknown function number - 4 - 3
[25802.509175] acer_wmi: Unknown function number - 4 - 4
[25802.768916] acer_wmi: Unknown function number - 4 - 5
[25802.981661] acer_wmi: Unknown function number - 4 - 6
[25803.448008] acer_wmi: Unknown function number - 4 - 5
[25803.634104] acer_wmi: Unknown function number - 4 - 4
[25803.814039] acer_wmi: Unknown function number - 4 - 3
[25803.998428] acer_wmi: Unknown function number - 4 - 2
[25804.203054] acer_wmi: Unknown function number - 4 - 1
[25805.188097] acer_wmi: Unknown function number - 4 - 0
[25805.439937] acer_wmi: Unknown function number - 4 - 0
[25805.671485] acer_wmi: Unknown function number - 4 - 0
[25805.907305] acer_wmi: Unknown function number - 4 - 0
[25806.316445] acer_wmi: Unknown function number - 4 - 0
[25807.252221] acer_wmi: Unknown function number - 4 - 0
[25809.622264] acer_wmi: Unknown function number - 4 - 0
[25810.322624] acer_wmi: Unknown function number - 4 - 1
[25810.576774] acer_wmi: Unknown function number - 4 - 2
[25810.813616] acer_wmi: Unknown function number - 4 - 3
[25811.197868] acer_wmi: Unknown function number - 4 - 2
[25811.431875] acer_wmi: Unknown function number - 4 - 1
[25811.652507] acer_wmi: Unknown function number - 4 - 0
[25811.826000] acer_wmi: Unknown function number - 4 - 0
[25812.054928] acer_wmi: Unknown function number - 4 - 0
Comment 6 Lee, Chun-Yi 2012-08-15 10:13:02 UTC
(In reply to comment #0)
> Created an attachment (id=75221) [details]
> various dumps (acpidump, iasl, fwts, dmidecode, dmesg etc)
> 
> Backlight can't be controlled in Aspire One D270. 
> booting with acpi_backlight=vendor doesn't change a thing.
> /sys/class/backlight is empty.
> 
> This was reported in
> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/974806
> but it appears like the reporter never followed up with the recommendation to
> upstream the bug (I didn't find anything on "D270 backlight" on
> bugzilla.kernel.org), so I'm doing it here.
> 
> My system:
> Ubuntu 12.04 LTS, kernel 3.2.0-25-generic-pae
> The previous reporter checked it with 3.2.0-22.35 
> 
> /sys/class/backlight is empty.
> /proc/acpi/video does not exist
> 'ACPI: Video' doesn't appear in dmesg.
> 

Did you see 'video' driver from lsmod when you removed 'acpi_backlight=vendor'?

I traced your DSDT but didn't see strange thing on GFX0, it have _DOS and _DOD, should be a video device.

If possible, please add the following kernel parameter then reboot machine:
  acpi.debug_level=0x0000000F acpi.debug_layer=0xffffffff log_buf_len=5M

Please attach dmesg.log after system boot, there should have GFX0 wording in log.
Comment 7 Leon Wilk 2012-08-15 22:00:22 UTC
> Did you see 'video' driver from lsmod when you removed
> 'acpi_backlight=vendor'?

Yes.

bw@pony:/var/log$ cat /proc/cmdline 
BOOT_IMAGE=/boot/vmlinuz-3.2.0-25-generic-pae root=UUID=300655c5-a6b5-4a55-b86a-5a5efcc5d3db ro verbose acpi_backlight=vendor acpi.debug_level=0x0000000F acpi.debug_layer=0xffffffff log_buf_len=5M
bw@pony:/var/log$ lsmod|grep video
uvcvideo               67203  0 
videodev               86588  1 uvcvideo
video                  19068  0 

> If possible, please add the following kernel parameter then reboot machine:
>  acpi.debug_level=0x0000000F acpi.debug_layer=0xffffffff log_buf_len=5M

> Please attach dmesg.log after system boot, there should have GFX0 wording in
> log.

bw@pony:/var/log$ dmesg |grep GFX0
---no results ---
Attaching the dmesg anyway.
Comment 8 Leon Wilk 2012-08-15 22:01:51 UTC
Created attachment 77781 [details]
dmesg with acpi.debug_level=0x0000000F acpi.debug_layer=0xffffffff log_buf_len=5M
Comment 9 Leon Wilk 2012-08-15 22:08:43 UTC
Sorry, misread the request.
WITHOUT acpi_backlight=vendor the result is the same:

bw@pony:~$ cat /proc/cmdline 
BOOT_IMAGE=/boot/vmlinuz-3.2.0-25-generic-pae root=UUID=300655c5-a6b5-4a55-b86a-5a5efcc5d3db ro verbose acpi.debug_level=0x0000000F acpi.debug_layer=0xffffffff log_buf_len=5M
bw@pony:~$ lsmod |grep video
uvcvideo               67203  0 
videodev               86588  1 uvcvideo
video                  19068  0 

Also attaching dmesg without it.
Comment 10 Leon Wilk 2012-08-15 22:09:36 UTC
Created attachment 77791 [details]
as above but without acpi_backlight=vendor
Comment 11 Lee, Chun-Yi 2012-08-16 02:29:06 UTC
Hi Leon, 

(In reply to comment #10)
> Created an attachment (id=77791) [details]
> as above but without acpi_backlight=vendor

There didn't have any acpi debug log in dmesg, I think your kernel didn't enable this config:
  CONFIG_ACPI_DEBUG=y

Please check your config file in /boot if your distro put it there.

And, per lsmod result, the acpi/video driver loaded on your system, it's match with your GFX0 in DSDT, just didn't show on dmesg.

Please check your /sys/class/backlight again, there should have acpi_video0 folder. Per DSDT, there have _BCM, _BCL on GFX0 device, it's meet the requirement for a acpi backlight control device.

If you still didn't see any folder show up in /sys/class/backlight, then please enable CONFIG_ACPI_DEBUG, we need check the ACPI debug log.

Thanks
Comment 12 Leon Wilk 2012-08-20 19:44:43 UTC
Sorry for delay, recompiling the kernel on a netbook took a while. The default .config for ubuntu has "# CONFIG_ACPI_DEBUG is not set" so I had to recompile (getting all the compile prerequisites first... not really a development computer)

Anyway, attaching the new dmesg. 

root@pony:~# ls -al /sys/class/backlight/
total 0
drwxr-xr-x  2 root root 0 Aug 20 21:35 .
drwxr-xr-x 48 root root 0 Aug 20 21:35
root@pony:~# lsmod
Module                  Size  Used by
michael_mic            12540  4 
arc4                   12473  2 
bnep                   17711  2 
rfcomm                 37291  0 
bluetooth             151606  10 bnep,rfcomm
parport_pc             31968  0 
ppdev                  12782  0 
lib80211_crypt_tkip    17229  0 
snd_hda_codec_realtek   173342  1 
joydev                 17161  0 
snd_hda_codec_hdmi     31514  1 
wl                   2646601  0 
snd_hda_intel          32340  3 
snd_hda_codec         108688  3 snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_intel
snd_hwdep              13276  1 snd_hda_codec
psmouse                71180  0 
snd_pcm                79956  3 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec
uvcvideo               66231  0 
videodev               86252  1 uvcvideo
snd_seq_midi           13132  0 
snd_rawmidi            25381  1 snd_seq_midi
snd_seq_midi_event     14475  1 snd_seq_midi
rts_pstor             337476  0 
snd_seq                51255  2 snd_seq_midi,snd_seq_midi_event
acer_wmi               23289  0 
lp                     13299  0 
mac_hid                13037  0 
serio_raw              13027  0 
sparse_keymap          13658  1 acer_wmi
snd_timer              24503  2 snd_pcm,snd_seq
snd_seq_device         14137  3 snd_seq_midi,snd_rawmidi,snd_seq
snd                    61608  16 snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
lib80211               14040  2 lib80211_crypt_tkip,wl
soundcore              14599  1 snd
snd_page_alloc         14036  2 snd_hda_intel,snd_pcm
parport                40762  3 parport_pc,ppdev,lp
vesafb                 13476  1 
r8169                  51182  0 
video                  18995  0 
wmi                    18590  1 acer_wmi
Comment 13 Leon Wilk 2012-08-20 19:57:04 UTC
Created attachment 78051 [details]
dmesg for a kernel with  CONFIG_ACPI_DEBUG=y

root@pony:~# cat /proc/cmdline 
BOOT_IMAGE=/boot/vmlinuz-3.2.24acpidbg root=UUID=300655c5-a6b5-4a55-b86a-5a5efcc5d3db ro crashkernel=384M-2G:64M,2G-:128M verbose acpi.debug_level=0x0000000F acpi.debug_layer=0xffffffff log_buf_len=5M acpi_backlight=vendor

It's not exactly the same kernel but there don't seem to be differences concerning ACPI behavior.

My hunch is that the problem reaches much deeper - this computer, bought new some 3 months ago, by vendor specs should last "up to 9 hours" on a single charge of battery. It lasts under 3 hours under moderate load (web browsing, wifi) and it looks like it was running without any power-saving features at all. But backlight dimming is the most tangible and visible feature missing currently, and probably a good point to start; "I have a feeling battery saving functions don't work" doesn't make a very good bug report.
Comment 14 Alan 2012-08-20 21:04:48 UTC
Well firstly you don't have the right graphics driver

vesafb                 13476  1 

to get this to work and to get some power sanity you'll need at minimum

3.5
gma500 driver including GMA36xx support rather than vesafb
intel idle enabled

and you'll probably need the vendor backlight enabled to get backlight control
Comment 15 Lee, Chun-Yi 2012-08-21 03:45:17 UTC
(In reply to comment #13)
> Created an attachment (id=78051) [details]
> dmesg for a kernel with  CONFIG_ACPI_DEBUG=y
> 
Per your dmesg, even enabled acpi debug, I still didn't see any messages about Video Bus register. 

I think that because your video chip supported Intel OpRegion function, more detail need check your 'lspci -xxxnnvv' result. The acpi/video driver doesn't register when detected Intel OpRegion.

I fully agree to Alan's suggestion in Comment #13, you should try gma500 driver in v3.5 kernel on your machine.



If you just want to enable acpi/video driver for backlight control, another way is try to enable CONFIG_STUB_POULSBO in old kernel. But, I am not suggest it because this config will remove in the end of 2012.

I still highly suggest follow Alan's suggestion, try the gma500 driver in v3.5 kernel.
Comment 16 Leon Wilk 2012-08-21 07:33:57 UTC
Created attachment 78061 [details]
lspci -xxxnnvv 

...this may take a while again. 3.5 is not natively supported in Ubuntu 12.04 (yet?).

I tried the precompiled kernel from http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.5.2-quantal/ but the results were bad - not only backlight wasn't fixed, lots of hardware failed to start, and there was only a small handful of kernel modules loaded. The newest kernel available for my release seems to be v3.4, and I'm not sure how to proceed - "roll my own" from sources from kernel.org or try dist-upgrade to Ubuntu 12.10?-alpha?
Comment 17 Lee, Chun-Yi 2012-08-21 11:19:35 UTC
(In reply to comment #16)
> Created an attachment (id=78061) [details]
> lspci -xxxnnvv 
> 

Per lspci result, your BIOS filled ASLS register, means should support Intel OpRegion:

00:02.0 VGA compatible controller [0300]: Intel Corporation Atom Processor D2xxx/N2xxx Integrated Graphics Controller [8086:0be1] (rev 09) (prog-if 00 [VGA controller])
00: 86 80 e1 0b 07 00 10 00 09 00 00 03 00 00 00 00
...
e0: 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 ff 00 00 00 00 00 00 00 10 60 67 bf    /* ASLS register not 0 */

The root cause for acpi/video didn't register on your machine is it waiting gma500 driver initial chip and register acpi/video, but you didn't use gma500 driver.

> ...this may take a while again. 3.5 is not natively supported in Ubuntu 12.04
> (yet?).
> 
> I tried the precompiled kernel from
> http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.5.2-quantal/ but the results
> were bad - not only backlight wasn't fixed, lots of hardware failed to start,
> and there was only a small handful of kernel modules loaded. The newest
> kernel
> available for my release seems to be v3.4, and I'm not sure how to proceed -
> "roll my own" from sources from kernel.org or try dist-upgrade to Ubuntu
> 12.10?-alpha?

I simply trace the gma500 driver in v3.4 kernel, it already have GMA3600 support. Please check CONFIG_DRM_GMA3600 should enable when bulid kernel.

For the GMA3600 support quality in v3.4, I think check with Alan will be better.
Comment 18 Alan 2012-08-21 11:54:44 UTC
You need 3.5 for some of the backlight fixes.
Comment 19 Leon Wilk 2012-08-24 18:08:56 UTC
Created attachment 78461 [details]
dmesg from kernel 3.5

Thank you very much! Works correctly with kernel 3.5. Attaching dmesg.

bw@pony:~$ ls /sys/class/backlight/psb-bl
actual_brightness  bl_power  brightness  max_brightness  power  subsystem  type  uevent

root@pony:/sys/class/backlight/psb-bl# echo 50 >brightness 

Of course 3.5 came with its own range of problems (bc43xx wifi card doesn't work out of the box, the backlight tuning is not attached to the correct keys) but I guess these are downstream problems... so thank you for your time and patience and feel free to mark "resolved fixed".
Comment 20 Len Brown 2013-02-08 17:50:34 UTC
> Works correctly with kernel 3.5

closed.

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