Comment 62 for bug 189814

Revision history for this message
Aitor Pazos (aitorpazos) wrote : Re: [Bug 189814] Re: HAL lockups/crashes on Dell D-series Latitudes w/ BIOS password

Confirmed on my Latitude D420

El mié, 02-07-2008 a las 19:33 +0000, BackwardsDown escribió:
> I confirm on a Dell D830.
>
> --
> HAL lockups/crashes on Dell D-series Latitudes w/ BIOS password
> https://bugs.launchpad.net/bugs/189814
> You received this bug notification because you are a direct subscriber
> of the bug.
>
> Status in The Dell Project: New
> Status in The libsmbios project: Confirmed
> Status in “hal” source package in Ubuntu: Triaged
> Status in “libsmbios” source package in Ubuntu: Triaged
>
> Bug description:
> This description is totally rewritten by Andrea Ratto (LP andrearatto) to recap the situation. The root cause has been really hard to find as it seemed a kernel issue related to the touchpad at first.
> The problem reported here and its cause have already been confirmed by at least 5 users.
> This bug refers primarily to HAL, but also relates to libsmbios. It is triggered by gnome-power-manager, but it's not its fault.
>
> Symptoms:
> very frequent temporary lock-ups on input after some inactivity
> frequent hard lock-ups with CAPS lock and NUM lock flashing
> very frequent loss of synchronization with the touchpad, which then looses advanced functionalities; with this in dmesg
> [ 804.829840] psmouse.c: GlidePoint at isa0060/serio1/input0 lost synchronization, throwing 4 bytes away.
> [ 807.405427] psmouse.c: resync failed, issuing reconnect request
> [ 810.926845] input: PS/2 Mouse as /devices/virtual/input/input9
> [ 810.973805] input: AlpsPS/2 ALPS GlidePoint as /devices/platform/i8042/serio1/input/input10
>
> Affected hardware:
> Latitude D620, D420, D630 with a BIOS password set
>
> Releases affected
> Hardy & Intrepid
> Other Distros are affected too, e.g. Fedora 9.
>
> What is known so far:
> gnome-power-manager tries to dim the brightness of the screen after some inactivity and then reset it upon input.
> This is a default setting, so the user has no clue of what might be causing the issue.
> gnome-power-manager calls HAL to do the job. HAL on dell machines, since hardy, uses libsmbios for brightness setting.
>
> Libsmbios needs the BIOS password even to change the brightness and HAL has no way to tell it that password, as of now. Some users have also reported that libsmbios does not work even from the command line utility, specifying the pass.
>
> However, instead of just printing an error when it fails, it makes the computer lock for a few seconds, due to the direct interaction with the bios on a very low level. The kernel has then problems reading input events and might crash. These lock-ups should also be avoided in libsmbios, as that is really ugly. However it needs root privileges and it's HAL who is calling it again and again when it should not, so the lockups are more HAL's fault.
>
> Testing/repoducing:
> 1: of course using gnome and gnome-power-manager, setting "Dim display when idle" to enabled.
> Same effects can be achieved by:
> 2: using the command /usr/sbin/dellLcdBrightness from libsmbios-bin package.
> Here's a command that rapidly switch brightness 10 times:
> for x in `seq 1 10`; do sudo dellLcdBrightness -a -v 1;sleep 0.1; sudo dellLcdBrightness -a -v 5; done
> #Warning it may hang your machine
> 3: the brightness applet of the gnome-panel.
>
> A possible elegant solution:
> * Correct HAL's detection of brightness setting capability on dell, so that it only reports it when it can be set with no errors. It might require using some test method in libsmbios, which I don't know if it is present or has to be added.
> Maybe also add some way for HAL to read the bios password from config files if the user wishes so. (This is probably somewhat already planned)
> Solving the stalling in libsmbios might prevent crashes, but yet HAL would keep calling it and get errors, so a fix in HAL is needed.
> Less elegant:
> turn off HAL's usage of libsmbios in one of its config files and have users who want it to manually set it.
>
> possible temporary workarounds for users experiencing this:
> - unset the bios password
> - blacklist the dcdbas kernel module
> - disable dimming in gnome-power
> - I don't know how to disable this functionality from HAL, but that would be the best workaround.
>
> NOTE: if HAL is allowed to use libsmbios a local user could exploit it to induce a denial of service or crash.
>
> I hope this info proves clear and useful. For anything else just ask.
>