Dell Laptops don't talk to HAL about brightness correctly

Bug #43572 reported by Aaron Whitehouse on 2006-05-08
76
This bug affects 3 people
Affects Status Importance Assigned to Milestone
HAL
Fix Released
Wishlist
hal (Ubuntu)
Medium
Martin Pitt
linux (Ubuntu)
Medium
Unassigned
linux-source-2.6.22 (Ubuntu)
Undecided
Unassigned

Bug Description

This was discovered in Bug #38531. It seems that Dell laptops are able to change the brightness settings in the Bios but this does not talk properly to ACPI, HAL or anything else.

From http://bugzilla.gnome.org/show_bug.cgi?id=337580 :
"Some code needs to be written to do this - there's no ACPI method to do it, but
it can be done via an SMBios call from userspace."

It means that the system does not know, and cannot change, the brightness of the monitor.

Related branches

Richard, I moved this issue to a new bug and assigned it to you. It means that I can close the other bug requesting you add the dimming ability etc. while still keeping the issue alive.

Changed in acpi:
assignee: nobody → richard-hughes
status: Unconfirmed → Needs Info
Matthew Garrett (mjg59) wrote :

Unfortunately, we can't fix poor hardware design. There is no ACPI interface to set brightness on Dell hardware.

Changed in acpi:
status: Needs Info → Rejected

It works on Windows, so from a user's point of view it is not a hardware problem.

If SMBios calls can achieve the desired result, I think they should be written.

I'm confused, I got the impression from your post (quoted above) that this was possible - is the issue that it doesn't belong in ACPI?

Matthew Garrett (mjg59) wrote :

It has absolutely nothing to do with acpi, correct.

Richard Hughes (richard-hughes) wrote :

So all we need is a bit of HAL glue for the smbios stuff, right Matthew?

Richard.

Matthew Garrett (mjg59) wrote :

Yup

Reassigning to HAL. Apologies that I got the package incorrect.

Changed in acpi:
status: Rejected → Unconfirmed

https://launchpad.net/distros/ubuntu/+source/hal/+bug/43572

Dell laptops are able to change the brightness settings in the Bios but this
does not talk properly to HAL.

Some code needs to be written to do this - there's no ACPI method to do it, but
it can be done via an SMBios call from userspace, all we need is a bit of HAL
glue for the smbios stuff.

It means that the system does not currently know, and cannot change, the
brightness of the monitor.

Some links for anyone interested:
http://www.ussg.iu.edu/hypermail/linux/kernel/0602.0/2221.html
http://lists.us.dell.com/pipermail/libsmbios-devel/2006-February/thread.html#177
http://linux.dell.com/libsmbios/main/

I don't think that it is that important but I am using a fully updated copy of
Ubuntu Dapper Drake. My HAL version is 0.5.7.

I am using a Dell Inspiron 510m.

Aaron, can you install the libsmbios tools, and find if the command
dellLcdBrightness works? I think it's going to be a lot like the sonipi stuff.

I've filed a bug upstream and assigned that to you, Richard, as you seemed interested. I'll unassign the Ubuntu bug from you.

Changed in hal:
assignee: richard-hughes → nobody

*Sigh* - why is nothing ever as easy as it sounds?

I need a recent version to do the brightness stuff (more recent than is in
Ubuntu or any Debian repos) and they only have rpms available. I downloaded
those and "alien"ed them and I get:

aaron@Zyanya:~$ dellLcdBrightness -h
Usage: dellLcdBrightness [options]

  --help, -h Displays this information
  --value, -v <args> set new value
  --battery, -b read battery setting
  --ac, -a read ac setting
  --password, -p <args> BIOS setup password
  --rawpassword Do not auto-convert password to scancodes
  --version Display libsmbios version information
aaron@Zyanya:~$ dellLcdBrightness -v 5
An Error occurred. The Error message is:
Could not instantiate SMBIOS table.
aaron@Zyanya:~$ dellLcdBrightness --battery
An Error occurred. The Error message is:
Could not instantiate SMBIOS table.

So I don't know if it was the install or the program.

I tried to compile the source but I don't really know what I am doing. I got it
to compile but couldn't execute the binary because I don't know how to set the
path to the required library. Sorry.

> aaron@Zyanya:~$ dellLcdBrightness -v 5
> An Error occurred. The Error message is:
> Could not instantiate SMBIOS table.

$ <-- That is not a root prompt...

You may also need to modprobe the dcdbas driver before running the utility.

Stunning - thanks for your help, Michael!

You were correct, that wasn't a root prompt and I needed to use modprobe. Doing
both of those it was reading perfectly (Battery with -b and AC with -a) but I
couldn't change the settings. I got a BIOS password error.

I usually have a primary and admin password on my BIOS and I couldn't get
libsmbios to play nice with it. I was using -p '[PASSWORD]' as a parameter and
it seemed to work ("Using [Password] as password if needed") but it just didn't
work. By removing both my Primary and Admin Passwords (just removing primary
didn't work) it is all working perfectly:

aaron@Zyanya:~$ sudo dellLcdBrightness -a -v 4
Read AC Mode Setting
    current: 7
        min: 0
        max: 7

Write AC Mode Setting
    current: 4
        min: 0
        max: 7

aaron@Zyanya:~$ sudo dellLcdBrightness -b -v 4
Read AC Mode Setting
    current: 4
        min: 0
        max: 7

Write AC Mode Setting
    current: 4
        min: 0
        max: 7

Oh, that's interesting.

It seems (and you may have noticed from my post) that using:
-a reads/sets AC brightness;
not specifying reads/sets Battery brightness; but
-b or --battery reads/sets _AC_ brightness

But it seems to be working.

Changed in hal:
status: Unknown → Confirmed

two missing break statements in a switch, from the last refactoring... :(

Will be fixed in 0.11.7. Not sure the exact release date, in the next couple of
weeks. Will have a beta posted soon.

Should also fix the password problem.

David, how about merging the properties manually via an fdi file that checks
smbios vendor dell and formfactor laptop (and then we just need to patch the two
scripts).

Aaron, does *every* dell laptop use this odd way of changing the brightness or
is it just newer ones? i.e. do we have to whitelist by model.

Sorry Richard, I wouldn't have a clue.

According to
http://docs.us.dell.com/support/edocs/software/smcliins/cli60/en/ug/intro.htm
"Computers with an SMBIOS have the SMBIOS Supported attribute set to True in
the Dell Configuration Group." but I am likely taking that completely out of
context.

I also found http://www.diefer.de/i8kfan/ in my searches. It isn't on point but
could be interesting if someone wanted to add other Dell features to HAL. It
also has a list of "supported models" which *may* be of assistance to answer
your question.

Basically, my quick search couldn't answer the question. Perhaps Michael would
be a good authority on this.

I could not tell you an exact list, but the binary should exit with an error for
unsupported laptops. It should be safe to run on any machine, and if there are
other ways of doing this, I can probably find out and add support for them.

Sorry, to be a bit more clear... it works on all laptops that I have tried it
on. It should work on all laptops from the past two-three years or so. I dont
have any older ones to test with atm.

Aaron, can you provide the output of: "lshal | grep smbios" thanks.

Created an attachment (id=5989)
My full lshal output

I have attached the full output of lshal. The specific command that you asked
for gives:
  smbios.chassis.type = 'Portable' (string)
  smbios.chassis.manufacturer = 'Dell Inc.' (string)
  smbios.system.uuid = '44454C4C-4C00-104B-8043-C3C04F443153' (string)
  smbios.system.serial = 'CLKCD1S' (string)
  smbios.system.version = 'Not Specified' (string)
  smbios.system.product = 'Inspiron 510m' (string)
  smbios.system.manufacturer = 'Dell Inc.' (string)
  smbios.bios.release_date = '09/09/2004' (string)
  smbios.bios.version = 'A07' (string)
  smbios.bios.vendor = 'Dell Inc.' (string)

I have just tested the 0.12 series of the Dell SMBios binaries. The
dellLcdBrightness command now works exactly as expected; the -b setting and the
password.

There is a delay of about a second each time the setting is changed if there is
a password.

Thanks to Michael for getting this sorted!

(In reply to comment #15)
> I have just tested the 0.12 series of the Dell SMBios binaries. The
> dellLcdBrightness command now works exactly as expected; the -b setting and the
> password.

This sounds like this is complete, unless more needs to be done to get HAL to
work with these binaries?

> This sounds like this is complete, unless more needs to be done to get HAL to
> work with these binaries?

The SMBIOS binary works (or did last time I tested it) but *this* bug isn't
fixed at all. Now that SMBIOS seems to work, gluing it to Dell's brightness keys
may result in working solution, but that glue hasn't yet been written.

Apologies if I misinterpreted you.

(In reply to comment #17)
> The SMBIOS binary works (or did last time I tested it) but *this* bug isn't
> fixed at all. Now that SMBIOS seems to work, gluing it to Dell's brightness keys
> may result in working solution, but that glue hasn't yet been written.
>
> Apologies if I misinterpreted you.

Nope, it was I. That makes sense now. :) I'm really not sure what this "glue"
would look like (I'm only really interested in the gnome-power-manager sexiness
that can come from this), but is there anything I can do to help?

FWIW, I'm using a Dell Inspiron 6000.

(In reply to comment #18)
> Nope, it was I. That makes sense now. :) I'm really not sure what this "glue"
> would look like (I'm only really interested in the gnome-power-manager sexiness
> that can come from this), but is there anything I can do to help?

The general idea is that GPM talks to HAL to change the brightness. The very
point of HAL is to provide a means of talking to hardware that is independent of
the eccentricities of individual pieces of hardware. This makes HAL the logical
place to put the 'glue' to the libraries specific to Dell machines.

In HAL, there is a function to change the brightness of the display. On Dell
machines this does not work. On machines that properly handle ACPI (or are
otherwise supported), this function changes the brightness up and down and is
used by GPM for the dimming.

The aim of this request is to create a Dell version of this function so that
when applications call the brightness functions of HAL, it actually does
something for us. If you are a programmer and are keen to attempt this, it would
be a matter of integrating the work of libSMBIOS into HAL.

If, like me, you don't have these skills, you will need to wait until somebody
that does have the skills has a go!

Either way, it would be good to have another tester for any solution that is
developed :).

I've played around a bit with the patch suggested by Richard Hughes in the
following mail: http://lists.freedesktop.org/archives/hal/2006-June/005511.html

Apart from that I needed to change the smbios.system.manufacturer key to "Dell
Computer Corporation" it works ok.

The result is a bit crude though, changing the brightness one step takes ~0.5 s.
Which makes a change from low-to-high or high-to-low quite painful. It is in no
way as elegant as for instance, the Apple notebooks.
I've tried to speed up the dellLcdBrightness program by removing the cout calls,
but the results were limited.

What is nice though, is that I'm now able to set different brightness levels
from g-p-m, something that wasn't possible before.

An improvement is perhaps to implement the libsmbios calls directly into hal,
avoiding the spawning of a dellLcdBrightness process for each brightness level.

If you're interested I can make a video clip of the brightness change.

(In reply to comment #21)
> What is nice though, is that I'm now able to set different brightness levels
> from g-p-m, something that wasn't possible before.
>
> If you're interested I can make a video clip of the brightness change.

Definitely interested. It'd, um, be good for posterity on this bug. Yeah. :)

The videos didn't come out that good. Perhaps it's the camera that compensates
for the contrast changes.

http://www.youtube.com/watch?v=uZT3CxGgHVc
http://www.youtube.com/watch?v=B5G6IylZdiY

(In reply to comment #23)
> The videos didn't come out that good. Perhaps it's the camera that compensates
> for the contrast changes.

Depending on your camera, you should be able to set the contrast so it won't
adjust automatically. I guess it doesn't matter much, but yeah.

Created an attachment (id=8290)
Patch against current git that implements an hal addon

This patch implements an addon to hal that controls the backlight on Dell
Machines.

I have backported my patch and built some ubuntu deb packages which you can try
out if you are feeling brave:
http://home.student.uu.se/e/eran8655/filer/hald/

You need to be running Feisty, libsmbios >=0.12 installed and have the dcdbas
kernel module loaded.

(In reply to comment #26)
> I have backported my patch and built some ubuntu deb packages which you can try
> out if you are feeling brave:
> http://home.student.uu.se/e/eran8655/filer/hald/
>
> You need to be running Feisty, libsmbios >=0.12 installed and have the dcdbas
> kernel module loaded.

Thanks for your packages. I tried using dellLcdBrightness (as mentioned in
comment #2), but hal said, "I'm sorry. I cannot do that, Dave." Well... in so
many words, anyway:

"Could not instantiate SMBIOS table."

I'm running the current packages (I installed 3 over my existing installed
packages), I installed libsmbios[1,-bin,xml1], version 0.12.1-3, and made sure
lsmod showed dcdbas as running.

I'm assuming this isn't related, but I could find very little online about this.
Anyway, let me know if I can test this awesomeness in any other way.

(In reply to comment #27)
> (In reply to comment #26)
> > I have backported my patch and built some ubuntu deb packages which you can try
> > out if you are feeling brave:
> > http://home.student.uu.se/e/eran8655/filer/hald/
> >
> > You need to be running Feisty, libsmbios >=0.12 installed and have the dcdbas
> > kernel module loaded.
>
> Thanks for your packages. I tried using dellLcdBrightness (as mentioned in
> comment #2), but hal said, "I'm sorry. I cannot do that, Dave." Well... in so
> many words, anyway:
>
> "Could not instantiate SMBIOS table."
>
> I'm running the current packages (I installed 3 over my existing installed
> packages), I installed libsmbios[1,-bin,xml1], version 0.12.1-3, and made sure
> lsmod showed dcdbas as running.
>
> I'm assuming this isn't related, but I could find very little online about this.
> Anyway, let me know if I can test this awesomeness in any other way.

Could you please attach an output of lshal on your machine when my packages are
installed and dcdbas i loaded?

dellLcdBrightness needs to be executed as root to work.

(In reply to comment #28)
> Could you please attach an output of lshal on your machine when my packages are
> installed and dcdbas i loaded?
>
> dellLcdBrightness needs to be executed as root to work.

Duh! OK, dellLcdBrightness does work, sorta. I can use -a to get my current AC
level, and it does update, but -v doesn't work to change the value.

I'll attach my lshal.

Created an attachment (id=8295)
lshal output with patch applied

I'm closing this bug as support now is merged into mainline hal.
I have resolved Andrew Conklings problems via email.

(In reply to comment #31)
> I'm closing this bug as support now is merged into mainline hal.
> I have resolved Andrew Conklings problems via email.

Erik, thanks for your help. Any more info about hal--which version, any bugs, etc.--that I could provide to Ubuntu's bugtracker to make sure the developers know about this?

And now that it's in mainline hal, once I've upgraded to that version, is there any next step to take full advantage of it?

Erik Andrén (erik-andren) wrote :

Current mainline hal now supports this. I can backport a patch and attach it to this bug if there's interest of getting this into feisty.

Changed in hal:
status: Confirmed → Fix Released
Robbie Groenewoudt (dutchmega) wrote :

I would like this in my Edgy

Erik Andrén (erik-andren) wrote :

I'm afraid Edgy is out of the question. Either a patch is included to give feisty that functionality or it's going in feisty+1 as ubuntu syncs with the updated debian package.

Changed in hal:
status: Unconfirmed → Confirmed
Robbie Groenewoudt (dutchmega) wrote :

Any update about getting this in Feisty?

Erik Andrén (erik-andren) wrote :

As feisty now is in feature freeze mode (See https://wiki.ubuntu.com/FeistyReleaseSchedule) you'll need to wait until feisty + 1 :/

Martin Pitt (pitti) wrote :

Erik, bug fixes are not features, it's perfectly reasonable to backport fixes from upstream. Do you have a GITweb URL or a patch handy? Please also test this, I can't (I don't have the hardware).

Huygens (huygens-25) wrote :

The HAL release, which includes the fix, is in the Gutsy Gibbon repository and has been back-ported to Feisty.
However, even though the source code, which corresponds to the Ubuntu 7.04 back-ported package (0.5.9-1ubuntu2~feisty1, see http://packages.ubuntu.com/feisty-backports/source/hal), includes the Dell LCD brightness update, the LCD brightness dim on idle does not work after updating.

In other words, the HAL addon + the FDI (hal-info) files for the Dell LCD brightness are missing from the Ubuntu deb binary packages that have been back-ported. However, the Ubuntu source code for the package clearly shows that the addon and FDI file are both present. I cannot state anything for Gutsy Gibbon. Does anyone knows why hasn't it been included in the binary package?

I wanted to compile the source code available (http://packages.ubuntu.com/feisty-backports/source/hal), so I decompressed the file and I applied the Feisty patch. Now, I do not know if there are some special flags or third party libraries that are necessary to compile. Can anyone point me at the commands required to compile HAL for Feisty (if different than just ./configure && make)?
Also, once compiled, is there a way that I can create a DEB package?

Maybe there is some documentation out there. If you happen to now where, I would be more than glad :-)

Erik Andrén (erik-andren) wrote :

Huygens, Bug #92194 describes the issue at hand. Basically the build machine probably didn't have libsmbios installed and thus did not the dell addon got built.
You can easily rebuild the module by first typing "apt-get source hal" in an empty directory. Enter the hal directory and issue sudo dpkg-buildpackage to properly build the hal .deb packages.
Make sure you have installed the libsmbios library first.
The last thing you need for success is to manually modprobe the dcdbas kernel module as it isn't autodetected.

Erik Andrén (erik-andren) wrote :

Sorry, I lied, you need the >0.13.4 version of the libsmbios library, shipped with feisty is only 0.12.1. So you basically need to wait until Gutsy is released :(.
You can of course manually try to compile a new version of the libsmbios library but this is if course more complicated.

Huygens (huygens-25) wrote :

Thank you Erik. I have tried in parallel to compile the source package that I had manually downloaded (including the patch). Roughly, here (http://www.berthon.eu/wiki/foss:ubuntu:wikishelf:hal:feisty) is an history of what I executed.
After rebooting, I issued the modprobe command to load the dcdbas module and added the LCD brightness applet. It did not work (I guess this is due to the problem you mentioned about the libsmbios version). It reset my brightness to the minimum and I could not changed it after. Also the applet does not show the current brightness level and is not able to raise or lower it.

I will wait for libsmbios to be backported from Gutsy. Do you know if there is already a Live CD of Gutsy that I could play with?

Once again thank you for your very quick reply :-)

Huygens (huygens-25) wrote :

You are a King Erik :-)
I did install libsmbios from the Gutsy source and now the LCD brightness is working :-)
I have updated the page. It is kind of raw/rough at the moment, I will later in the week update it.

Huygens (huygens-25) wrote :

Oops, I meant by updating the page, that one: http://www.berthon.eu/wiki/foss:ubuntu:wikishelf:hal:feisty

Erik Andrén (erik-andren) wrote :

Ok, I've filed a blueprint for this issue. Hopefully a developer picks it up and implements the few changes needed.
You may find the blueprint here: https://blueprints.launchpad.net/ubuntu/+spec/dell-backlight-support

Huygens (huygens-25) wrote :

Nice initiative Erik :-) thanks for your work!

Roberto Scelzo (robertoscelzo) wrote :

Hi all,

I've got a Dell 500m running Feisty and brightness is working for me
but only through the Fn keys: brightness applet/g-p-m aren't able to
read/write the value in the bios.
So, I wonder if I follow the instructions from Huygens will I have
the brightness increased/decreased twice each time?
(1 for the hardware keys and one for the HAL stuff)

Thank you guys
Roberto

Huygens (huygens-25) wrote :

Roberto,
On my Dell D600, I could also use the Fn Keys to increase and decrease the brightness, and the brightness applet was not working before too. After I have performed the instructions, when I use those keys, it is behaving as before (from an end user point of view). I mean, if I press once on decrease, it decrease them once.
Also, the modification are easily undone. Basically, you install an updated version of the libsmbios, and by using Synaptic, it is pretty easy to restore the official version from Ubuntu 7.04.

I'm wondering if libsmbios will need to be moved from Universe to Main before this can be done. That would mean a Main Inclusion Report:
https://wiki.ubuntu.com/MainInclusionProcess

It would be great to have some developer guidance on this as it seems there is little left to be done if we knew what to do.

Roberto Scelzo (robertoscelzo) wrote :

Ok, I've just followed your instructions and everything
is working perfectly: i can adjust brightness either by
th Fn keys and the gnome-brightness-applet, moreover
gnome-power-manager now lets me set different brightness
for ac/battery.
Thank you all!
Roberto

Roberto Scelzo (robertoscelzo) wrote :

Uhmmm....
I've just found that there's something wrong with
this patch: when my notebook resumes from suspend/hibernate
the backlight doesn't turn off anymore when the session expires :-(
so I'have to manually restart hal or gnome-power-manager...

Any suggestions?

Thank you again
Roberto

Roberto Scelzo (robertoscelzo) wrote :

Ok, after some days keeping eyes on it,
I can say that the issue is about the lid switch
management of the new hal package, in fact
if I suspend/resume by my Fn keys and then
I close the lid everything is working as expected.
Moreover, a couple of times my notebook suspended
in a wrong way with video corruption on resume and,
one time, I've found it resumed in my bag :-|
Avoiding the lid switch events seems the solution.

Cheers
Roberto

davie (daviemoston) wrote :

I'm running gutsy, updated today (20070918), and still have issues with the backlight.
The function keys increase/decrease the brightness as normal, but the Power Manager Brightness Applet still can't control the brightness, and I don't see the option to dim the screen after a certain amount of time in Power Manager.

Erik Andrén (erik-andren) wrote :

There's still no change from the ubuntu camp on this one. Follow my instructions in the blueprint or my comments from 2007-05-14 to enable backlight support.

davie (daviemoston) wrote :

Thanks Erik, i grabbed the source for the package (and dependencies including libsmbios, compiled and installed the deb, added the module dcdbas to /etc/modules and it worked fine (on a dell d620).
Looks like the debs in gutsy still aren't built with dell-backlight support correctly - they don't contain the following files
/usr/lib/hal/hald-addon-dell-backlight
/usr/share/hal/fdi/policy/10osvendor/10-dell-laptop-brightness.fdi.

Erik Andrén (erik-andren) wrote :

Yeah, that's because the build machine haven't got libsmbios installed which, in turn, makes the configure disable building the dell-backlight files.

Emilio Pozuelo Monfort (pochu) wrote :

You need a MainInclussionRequest, see https://wiki.ubuntu.com/UbuntuMainInclusionRequirements

Erik Andrén (erik-andren) wrote :

I've taken a first stab at the main inclusion request at https://wiki.ubuntu.com/MainInclusionReportLibsmbios
Please review.

Emilio Pozuelo Monfort (pochu) wrote :

You should add it to https://wiki.ubuntu.com/UbuntuMainInclusionQueue once it's ready.

I'd add links to the cve databases, and to bugs in debian and ubuntu, as in https://wiki.ubuntu.com/MainInclusionReportTracker

Erik Andrén (erik-andren) wrote :

Ok, I've added it to the inclusion queue.

insyzygy (setthiry) wrote :

Not sure if the bug report belongs here as the hardware is different but there seem to be many report of similar bugs so tell me if I should report somewhere else.

I have a thinkpad x20. Up till now (dapper, edgy, feisty) I could change the screen brightness by using
fn + home or fn+end. This broke in the upgrade to gutsy. I thought I would try the brightness applet, and I found that does not work either. When I mouse over the applet it gives the message

Cannot get laptop panel brightness.

Erik Andrén (erik-andren) wrote :

insyzygy: This bug is specific to Dell laptops that use the smbios interface to control the brightness.

Martin Pitt (pitti) on 2007-10-23
Changed in hal:
assignee: nobody → pitti
status: Confirmed → In Progress
Martin Pitt (pitti) wrote :
Download full text (6.7 KiB)

hal (0.5.10-1ubuntu1) hardy; urgency=low

  * Redo the bzr branch of this package as clean fork from the Debian svn
    (https://code.launchpad.net/~ubuntu-core-dev/hal/debian, thanks bzr-svn!)
    and commit the remaining relevant Ubuntu patches to it:
    https://code.launchpad.net/~ubuntu-core-dev/hal/ubuntu
  * Merge with Debian unstable; remaining Ubuntu changes:
   - Ubuntu udev world order:
     + debian/hal.links: Remove rules symlink, we install the rules file
       directly into rules/.
     + debian/rules: Install udev rules into /etc/udev/rules.d/.
     + debian/hal.{preinst,postinst,postrm}: Transition code for changing the
       udev rule priority (see 0.5.8.1-3ubuntu7, needs to be kept until after
       next LTS).
   - debian/rules: Enable MacBook (Pro) support on i386 and amd64. Add
     pciutils-dev build dependency.
   - debian/hal.init: Remove stray gparted-disable-automount.fdi on startup.
     (LP #134712)
   - debian/rules: Do not run stop init.d script for levels 1 and 6
     (TearDown).
   - debian/preferences.fdi: Disable automounting for fixed disks. On session
     startup it is not done anyway (since that disables the gnome-mount UI
     which would ask for authentication) and it leads to confusion when
     restarting hal while a session is running. (LP #138537)
   - 80_allow_vfat_usefree.patch: Allow vfat mount option "usefree".
     (LP #133567)
   - 81_ignore_single_slash_label.patch: Ignore labels which only consist of a
     slash, so that they do not end up as /media/-. An earlier Ubuntu
     d-i/ubiquity created those labels by default. (LP #83323)
   - 82_ignore_fixed_nonmedia.patch: Ignore fixed partitions which mounted,
     but not below /media/.
   - 83_ssb_bus_support.patch: Add support for devices on the SSB bus; patch
     by Matthew Garrett (not applied upstream yet, this needs to update the
     spec, too).
   - 84_memstick_bus_support.patch: Add support for devices on the "memstick"
     bus; patch by Matthew Garrett (not reported upstream yet, this needs to
     update the spec, too).
   - 85_read_brightness_not_actual_brightness.patch: Read the brightness from
     /sys/class/backlight/foo/brightness, not actual_brightness. It makes more
     sense to change based on the brightness that we wanted to set, not the
     brightness that we actually set. Patch by Matthew Garrett. Forwarded to
     FD#12891.
  * Now build with libsmbios to get Dell backlight support. (LP: #43572)
  * Dropped the following Ubuntu changes:
    - hwdb icons and patches, python-launchpad-integration, .desktop file
      translation fixes: hal-device-manager is gone, will be replaced by
      indepentent gnome-device-manager project.
    - symlinking of doc directories in debian/rules: current cdbs does that
      automatically now.
    - 02_powerscripts.patch, 90_pmi.patch: pm-utils is the only supported
      backend now.
    - 26-addon-acpi-fix-free-before-init.diff,
      63_my_dbus_is_full_of_uints.patch, 69_set_dmi_before_matching.patch,
      macbook-backlight.diff: Applied upstream.
    - 56_probe_fstab.patch and the disabling of mounting for unmounted
      partitions which are 'auto' in fstab: The patch does ...

Read more...

Changed in hal:
status: In Progress → Fix Released
Erik Andrén (erik-andren) wrote :

Great!
Martin, there's still the issue that the dcdbas kernel module needs manual loading at bootup to get this to work.
What's the proper approach to getting this issue resolved?

Martin Pitt (pitti) wrote :

Erik,

the ideal solution would be to fix the kernel module to load automatically on hardware which requires it (through modaliases). If this is not possible, we need a recipe how to detect when to load the module. In that case it should be done in an init script or an udev rule.

Erik Andrén (erik-andren) wrote :

A kernel patch [1] is queued up for 2.6.25 that implements DMI-based autoloading of the dcdbas-module.
This means that this issue will, in time, be resolved.

Close the bug?

[1] http://lkml.org/lkml/2007/10/29/416

Martin Pitt (pitti) wrote :

Thank you for the pointer to the upstream patch! I opened a kernel task, we should pull this patch into Hardy's kernel even if it doesn't make it into 2.6.24 upstream.

Changed in linux-source-2.6.22:
status: New → Triaged

I'm a new linux user and i choose ubuntu to install in my dell vostro 1000.
I would like to know if someone wrote a tutorial (step-by-step) about the solution for problem with brightness (fn key doesn't work and slider control doens't show).

Thanks for help.

Erik Andrén (erik-andren) wrote :

libsmbios doesn't support Vostro bioses yet. See [1].

[1] http://lists.us.dell.com/pipermail/libsmbios-devel/2007-October/000382.html

Michiel Lowijs (mlowijs) wrote :

I have an Inspiron 1501, and have installed the hal and libsmbios packaged from hardy and put dcdbas in /etc/modules, but I still cant control my backlight.
The gnome-power-manager applet does show a brightness slider now though, but it does nothing.
Setting the backlight using the dellLcdBrightness doesn't work either.

Changed in linux:
assignee: nobody → ubuntu-kernel-team
importance: Undecided → Medium
status: New → Triaged

I just tested Hardy Alpha 1 on my Dell Inspiron 510m.

The slider now appears in GPM, but the settings on the slider do not actually affect the brightness level.

On a related note, the brightness "icon" that appears on the screen when one uses the hotkeys no longer shows the correct brightness. Instead, it always shows an empty slider. When the plug is removed or inserted, the slider displays a value, but it is not correct.

Let me know if there are any tests that I can run to help resolve this.

Ben Collins (ben-collins) wrote :

Amit, please look at the URL in comment #44 and see about pulling this patch into our 2.6.24 tree.

For others, please note that this will likely not be accepted for gutsy. It's a simple fix, but it's also a simple workaround (add dcdbas to /etc/modules). I would rather not take the change that loading this module for all Dell's would cause some unforseen bugs. We'll give this a go in Hardy, where we have plenty of time to evaluate bug reports.

Changed in linux-source-2.6.22:
status: Triaged → Won't Fix
Changed in linux:
assignee: ubuntu-kernel-team → amitk
status: Triaged → In Progress
Amit Kucheria (amitk) wrote :

Pushed to Hardy
Commit id: 9eaf004cccff7a517e4452d1a4b6bf6324f54fb0

Changed in linux:
status: In Progress → Fix Committed
Linard Verstraete (linardv) wrote :

*** Computer Model ***
Dell Vostro 1500

*** Platform ***
Xubuntu Hardy 8.04 Alpha 3

I have perfect control over the brightness of my screen by using "Fn" + Arrow Up / Arrow Down
I can control the brightness under:
* Windows (8 brightness rates)
* Xubuntu (5 brightness rates)
* Grub (8 brightness rates)
But I can't control brightness during loading BIOS (which makes sense)

Tim Gardner (timg-tpi) wrote :

Ubuntu-2.6.24-4.6

Changed in linux:
status: Fix Committed → Fix Released
assignee: amitk → nobody
Vyas (ejvyas-gmail) wrote :

I still have the problem with Dell Inspiron 2200. I was able to change the brightness a while back but now I am not able to. Is there any solution? I use Ubuntu 7.10

Vyas, do you have a BIOS password set?

Does the command "dellLcdBrightness" give any error messages?

Vyas (ejvyas-gmail) wrote :

I do not have any BIOS password. The output of the following commands : -

ejvyas@ejvyas:~$ sudo dellLcdBrightness
[sudo] password for ejvyas:
Read Battery Mode Setting
    current: 0
        min: 0
        max: 7

ejvyas@ejvyas:~$ dellLcdBrightness
An Error occurred. The Error message is:
Could not instantiate SMBIOS table.
ejvyas@ejvyas:~$

I am a fan of Ubuntu. The brightness was working earlier - I was trying out
a whole lot of changes for tuning and speeding up Ubuntu ....I am sure
something failed. Please help me fix this

Thanks,
Vs

On Sun, Mar 23, 2008 at 4:27 PM, Christian Schuerer <email address hidden> wrote:

> Vyas, do you have a BIOS password set?
>
> Does the command "dellLcdBrightness" give any error messages?
>
> --
> Dell Laptops don't talk to HAL about brightness correctly
> https://bugs.launchpad.net/bugs/43572
> You received this bug notification because you are a direct subscriber
> of the bug.
>
> Status in Hardware Abstraction Layer (HAL): Fix Released
> Status in Source Package "hal" in Ubuntu: Fix Released
> Status in Source Package "linux" in Ubuntu: Fix Released
> Status in Source Package "linux-source-2.6.22" in Ubuntu: Won't Fix
>
> Bug description:
> This was discovered in Bug #38531. It seems that Dell laptops are able to
> change the brightness settings in the Bios but this does not talk properly
> to ACPI, HAL or anything else.
>
> >From http://bugzilla.gnome.org/show_bug.cgi?id=337580 :
> "Some code needs to be written to do this - there's no ACPI method to do
> it, but
> it can be done via an SMBios call from userspace."
>
> It means that the system does not know, and cannot change, the brightness
> of the monitor.
>

--
Vyas Sanzgiri
573 202 0165
http://ejvyas.blogspot.com

Erik Andrén (erik-andren) wrote :

Vyas,
please make sure you have loaded the dcdbas kernel module.

Vyas (ejvyas-gmail) wrote :

I do not know how to check/ add dcdbas module. All references to it go to
yum and I have not been able to install/ start/ check it
Please help

Thanks,
Vs
On Mon, Mar 24, 2008 at 3:38 AM, Erik Andrén <email address hidden> wrote:

> Vyas,
> please make sure you have loaded the dcdbas kernel module.
>
> --
> Dell Laptops don't talk to HAL about brightness correctly
> https://bugs.launchpad.net/bugs/43572
> You received this bug notification because you are a direct subscriber
> of the bug.
>
> Status in Hardware Abstraction Layer (HAL): Fix Released
> Status in Source Package "hal" in Ubuntu: Fix Released
> Status in Source Package "linux" in Ubuntu: Fix Released
> Status in Source Package "linux-source-2.6.22" in Ubuntu: Won't Fix
>
> Bug description:
> This was discovered in Bug #38531. It seems that Dell laptops are able to
> change the brightness settings in the Bios but this does not talk properly
> to ACPI, HAL or anything else.
>
> >From http://bugzilla.gnome.org/show_bug.cgi?id=337580 :
> "Some code needs to be written to do this - there's no ACPI method to do
> it, but
> it can be done via an SMBios call from userspace."
>
> It means that the system does not know, and cannot change, the brightness
> of the monitor.
>

--
Vyas Sanzgiri
573 202 0165
http://ejvyas.blogspot.com

Erik Andrén (erik-andren) wrote :

Vyas,
you can check if you have the dcdbas kernel module loaded by issuing: 'sudo lsmod | grep dcdbas' in a terminal without the ticks.
To load the dcdbas kernel module, issue 'sudo modprobe dcdbas'
You might need to restart hal after loading the kernel module to get the backlight working.
This can be done by typing 'sudo /etc/init.d/hal restart'

With the currently used kernel, it's not possible to load this module automatically (I think this will be available in hardy+1). But it's easy to get your system load this module at boot time, but adding 'dcdbas' in one empty line of the file '/etc/modules'. You can do this by issuing the following command in a terminal:

sudo sh -c "echo 'dcdbas' >> /etc/modules"

Vyas (ejvyas-gmail) wrote :

This does not work even if the module is loaded and running. Please advise

On Tue, Mar 25, 2008 at 2:48 PM, Christian Schuerer <email address hidden> wrote:

> With the currently used kernel, it's not possible to load this module
> automatically (I think this will be available in hardy+1). But it's easy
> to get your system load this module at boot time, but adding 'dcdbas' in
> one empty line of the file '/etc/modules'. You can do this by issuing
> the following command in a terminal:
>
> sudo sh -c "echo 'dcdbas' >> /etc/modules"
>
> --
> Dell Laptops don't talk to HAL about brightness correctly
> https://bugs.launchpad.net/bugs/43572
> You received this bug notification because you are a direct subscriber
> of the bug.
>
> Status in Hardware Abstraction Layer (HAL): Fix Released
> Status in Source Package "hal" in Ubuntu: Fix Released
> Status in Source Package "linux" in Ubuntu: Fix Released
> Status in Source Package "linux-source-2.6.22" in Ubuntu: Won't Fix
>
> Bug description:
> This was discovered in Bug #38531. It seems that Dell laptops are able to
> change the brightness settings in the Bios but this does not talk properly
> to ACPI, HAL or anything else.
>
> >From http://bugzilla.gnome.org/show_bug.cgi?id=337580 :
> "Some code needs to be written to do this - there's no ACPI method to do
> it, but
> it can be done via an SMBios call from userspace."
>
> It means that the system does not know, and cannot change, the brightness
> of the monitor.
>

--
Vyas Sanzgiri
573 202 0165
http://ejvyas.blogspot.com

Vyas (ejvyas-gmail) wrote :

This also does not work even if the module is loaded and running. Please
advise

On Tue, Mar 25, 2008 at 7:50 AM, Erik Andrén <email address hidden> wrote:

> Vyas,
> you can check if you have the dcdbas kernel module loaded by issuing:
> 'sudo lsmod | grep dcdbas' in a terminal without the ticks.
> To load the dcdbas kernel module, issue 'sudo modprobe dcdbas'
> You might need to restart hal after loading the kernel module to get the
> backlight working.
> This can be done by typing 'sudo /etc/init.d/hal restart'
>
> --
> Dell Laptops don't talk to HAL about brightness correctly
> https://bugs.launchpad.net/bugs/43572
> You received this bug notification because you are a direct subscriber
> of the bug.
>
> Status in Hardware Abstraction Layer (HAL): Fix Released
> Status in Source Package "hal" in Ubuntu: Fix Released
> Status in Source Package "linux" in Ubuntu: Fix Released
> Status in Source Package "linux-source-2.6.22" in Ubuntu: Won't Fix
>
> Bug description:
> This was discovered in Bug #38531. It seems that Dell laptops are able to
> change the brightness settings in the Bios but this does not talk properly
> to ACPI, HAL or anything else.
>
> >From http://bugzilla.gnome.org/show_bug.cgi?id=337580 :
> "Some code needs to be written to do this - there's no ACPI method to do
> it, but
> it can be done via an SMBios call from userspace."
>
> It means that the system does not know, and cannot change, the brightness
> of the monitor.
>

--
Vyas Sanzgiri
573 202 0165
http://ejvyas.blogspot.com

Yousuf Khan (bbbl67) wrote :

Hi, I'm having this same problem on a Gateway MX6440 laptop too. The symptoms are similar, I am able to use keyboard functions to adjust the brightness, but not the applet. I've loaded the "dcdbas" kernel module as suggested by this thread, but it has not helped.

esoterikest (ffrnklnn) wrote :

I am the getting cannot get laptop panel brightness on my HP dv3510nr laptop with UBUNTU 9.04 jaunty Jackalope alpha 6. I can't adjust brightness with FN keys or with the slider on the brightness applet. Please help.

Patricio (patricio-stwing) wrote :

Applet says "Cannot get laptop panel brightness" on my HP Pavillion using
Ubuntu 10.04 LTS - the Lucid Lynx

Changed in hal:
importance: Unknown → Wishlist
Changed in hal:
importance: Wishlist → Unknown
Changed in hal:
importance: Unknown → Wishlist
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Bug attachments

Remote bug watches

Bug watches keep track of this bug in other bug trackers.