I think this issue is cause by some bug  in the BIOS of HP laptop.
The OS control the hardware by running some  AML(ACPI machine language) code in 
the BIOS, but some bug prevent the lid switch from working properly.
To solve this issue we have 3 choice:
1. Block the video.ko by adding a line in the /etc/modprobe.d/blacklist as 
below:
    blacklist video
   The drawback of this method is that you will lose some function provide by 
the acpi/video, such like the notification of display switch, brightness change 
etc.
2. modify the kernel code and re-compile it:
    find the video.c in the  drivers/acpi directory in the kernel source tree, 
open it. Find the code as below:
                static int acpi_video_bus_start_devices(struct acpi_video_bus 
*video)
               {
                         return acpi_video_bus_DOS(video, 0, 0);
                }
   change it to :
            static int acpi_video_bus_start_devices(struct acpi_video_bus 
*video)
            {
                         return acpi_video_bus_DOS(video, 1, 0);
             }
    Then re-compile and install the modified kernel and modules, after 
rebooting you will find that the lid switch works.
3. Export the DSDT of the laptop, modify it and override it in the kernell:
     I don't think this is a good method. The DSDT is different from computer 
to computer, so maybe my hack to the DSDT is not suitble for you.

-- 
Lid switch don't work on hp NC6000 laptop
https://bugs.launchpad.net/bugs/321153
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to