Backlight control does not work and there are no entries in /sys/class/backlight

Bug #1667323 reported by André Desgualdo Pereira on 2017-02-23
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Medium
Joseph Salisbury
Xenial
Medium
Joseph Salisbury

Bug Description

It was working fine until today.
The folder /sys/class/backlight/ use to have "acpi_video0/brightness", but now is empty.
I am using Nvidia Proprietary driver 340.101 (proprietary, tested). The problem persists even with the 304 driver.

ProblemType: Bug
DistroRelease: Ubuntu 16.04
Package: linux-image-4.4.0-64-generic 4.4.0-64.85
ProcVersionSignature: Ubuntu 4.4.0-64.85-generic 4.4.44
Uname: Linux 4.4.0-64-generic x86_64
NonfreeKernelModules: nvidia_uvm nvidia
ApportVersion: 2.20.1-0ubuntu2.5
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC1: desgua 2028 F.... pulseaudio
 /dev/snd/controlC0: desgua 2028 F.... pulseaudio
CurrentDesktop: Unity
Date: Thu Feb 23 11:31:18 2017
HibernationDevice: RESUME=UUID=f23a6347-9483-460e-aa29-cbc47850f890
InstallationDate: Installed on 2014-05-01 (1028 days ago)
InstallationMedia: Ubuntu 14.04 LTS "Trusty Tahr" - Release amd64 (20140417)
Lsusb:
 Bus 002 Device 003: ID 064e:a127 Suyin Corp.
 Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
 Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
MachineType: Hewlett-Packard HP Pavilion dv6 Notebook PC
ProcFB:

ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-4.4.0-64-generic root=/dev/mapper/ubuntu--vg-root ro
RelatedPackageVersions:
 linux-restricted-modules-4.4.0-64-generic N/A
 linux-backports-modules-4.4.0-64-generic N/A
 linux-firmware 1.157.8
SourcePackage: linux
UpgradeStatus: Upgraded to xenial on 2016-08-17 (189 days ago)
dmi.bios.date: 12/03/2009
dmi.bios.vendor: Hewlett-Packard
dmi.bios.version: F.13
dmi.board.asset.tag: Base Board Asset Tag
dmi.board.name: 3659
dmi.board.vendor: Hewlett-Packard
dmi.board.version: 32.23
dmi.chassis.type: 10
dmi.chassis.vendor: Hewlett-Packard
dmi.chassis.version: N/A
dmi.modalias: dmi:bvnHewlett-Packard:bvrF.13:bd12/03/2009:svnHewlett-Packard:pnHPPaviliondv6NotebookPC:pvr049D210000241210000020000:rvnHewlett-Packard:rn3659:rvr32.23:cvnHewlett-Packard:ct10:cvrN/A:
dmi.product.name: HP Pavilion dv6 Notebook PC
dmi.product.version: 049D210000241210000020000
dmi.sys.vendor: Hewlett-Packard

Changing the grub line

GRUB_CMDLINE_LINUX_DEFAULT=""

to

GRUB_CMDLINE_LINUX_DEFAULT="acpi_backlight=vendor"

did not work.

Neither:

GRUB_CMDLINE_LINUX_DEFAULT="video.use_bios_initial_backlight=0"

This change was made by a bot.

Changed in linux (Ubuntu):
status: New → Confirmed

Neither:
GRUB_CMDLINE_LINUX_DEFAULT="acpi_osi="

I tried to boot to linux-image-4.4.0-62-generic but I could not get past the login screen. So I reinstalled the linux-image-4.4.0-62-generic and run update-grub. Then I could boot to it (linux-image-4.4.0-62-generic) and the brightness is working again. I think it is a kernel regression.

Joseph Salisbury (jsalisbury) wrote :

So the bug happens in -64 but not -62?

Would it be possible for you to test the latest upstream kernel? Refer to https://wiki.ubuntu.com/KernelMainlineBuilds . Please test the latest v4.10 kernel[0].

If this bug is fixed in the mainline kernel, please add the following tag 'kernel-fixed-upstream'.

If the mainline kernel does not fix this bug, please add the tag: 'kernel-bug-exists-upstream'.

Once testing of the upstream kernel is complete, please mark this bug as "Confirmed".

Thanks in advance.

[0] http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.10

Changed in linux (Ubuntu):
importance: Undecided → Medium
status: Confirmed → Incomplete
tags: added: kernel-da-key

Upstream kernel v4.10 works.

tags: added: kernel-fixed-upstream
Changed in linux (Ubuntu):
status: Incomplete → Confirmed

The bug is still present with the kernel linux-image-4.4.0-65-generic.

tags: added: needs-bisect

Can I help with the bisect?

The bug is still present with the kernel linux-image-4.4.0-66-generic.

Joseph Salisbury (jsalisbury) wrote :

Can you see if this bug happens with the latest 4.4 upstream stable kernel:
http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.4.53

The bug happens with the latest 4.4 upstream stable kernel.

How I tested:

I reach:
http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.4.53

and downloaded:
linux-headers-4.4.53-040453_4.4.53-040453.201703120131_all.deb
linux-image-4.4.53-040453-generic_4.4.53-040453.201703120131_amd64.deb
linux-headers-4.4.53-040453-generic_4.4.53-040453.201703120131_amd64.deb

Then I run: dpkg -i linux-*

From grub menu I choose the 4.4.53 kernel.

Joseph Salisbury (jsalisbury) wrote :

Thanks for testing. I can perform a bisect to identify the commit that introduced the regression. We first need to know the last good kernel and the first bad kernel version. We know the 4.4.0-62 is good and 4.4.0-64 is bad. Can you test the 4.4.0-63 kernel, which can be downloaded from:

https://launchpad.net/~canonical-kernel-team/+archive/ubuntu/ppa/+build/11016267

For this kernel, you need to install both the linux-image and linux-image-extra .deb packages.

Kernel 4.4.0-63 is bad.

Details:

I reach
https://launchpad.net/~canonical-kernel-team/+archive/ubuntu/ppa/+build/11016267

It does not contains kernel 4.4.0-63 but instead 4.4.0-43.63. Besides that, I proceed and installed:

linux-headers-4.4.0-43_4.4.0-43.63_all.deb
linux-headers-4.4.0-43-generic_4.4.0-43.63_amd64.deb
linux-image-4.4.0-43-generic_4.4.0-43.63_amd64.deb
linux-image-extra-4.4.0-43-generic_4.4.0-43.63_amd64.deb

So kernel 4.4.0-43 is good.

But I think you need me to test the 4.4.0-63 kernel, so I run "apt install linux-image-4.4.0-63. And then concluded that kernel 4.4.0-63 is bad.

Joseph Salisbury (jsalisbury) wrote :

Can you test the following kernels to see when this bug was introduced upstream:

4.4.41: http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.4.40/
4.4.41: http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.4.41/
4.4.42: http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.4.42/
4.4.43: http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.4.43/
4.4.44: http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.4.44/

You don't have to test every kernel, just up until the kernel that first has this bug.

Thanks in advance!

Changed in linux (Ubuntu Xenial):
status: New → Triaged
Changed in linux (Ubuntu):
status: Confirmed → Triaged
Changed in linux (Ubuntu Xenial):
importance: Undecided → Medium
tags: added: performing-bisect
removed: needs-bisect

The first kernel to has this bug is 4.4.41.

I ended up testing all of them, so:

4.4.40 good
4.4.41 bad
4.4.42 bad
4.4.43 bad
4.4.44 bad

Joseph Salisbury (jsalisbury) wrote :

It is probably best to perform a "Reverse" bisect instead of a standard bisect, since we know this bug is fixed in 4.10 final.

A "Reverse" bisect will identify the commit that fixes the bug instead of identifying the commit that introduced the bug. We just need to do the oppisite of a standard bisect. We need to know the last Bad kernel and the first Good one.

Like in comment #28, can you test the following kernels. We are looking for the last bad version and the first good one:

v4.5: http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.5-wily/
v4.7: http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.7/
v4.9: http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.9/

4.9 good
4.7 good
4.5 good
4.4.55 bad (from http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.4.55/)

Joseph Salisbury (jsalisbury) wrote :

4.5-rc1 good

Joseph Salisbury (jsalisbury) wrote :

And can you ensure 4.4 final is bad? It is available from:
http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.4-wily/

If 4.4 final is bad, I can reverse bisect between 4.4 and 4.5-rc1. However, if 4.4 final is good(Which it probably will be), we will have to go back to performing a standard bisect between upstream 4.4.40 and 4.4.41.

The regression came via a 4.4.41 stable update from mainline. However, the bug is not happening in any of the other 4.5-rc1 or greater kernels that you tested. It might take a lot of testing from the results posted in comment #31 to find the commit that fixes the bug. It might be the regression was introduced in one of the 4.5, 4.7 or 4.9 release candidates and fixed right away. Although it should have came down in newer 4.4 stable updates but 4.4.55 still has the bug also per comment #31.

Unfortunately you are right. 4.4 final is good.

Joseph Salisbury (jsalisbury) wrote :

Thanks for the update. Before I start the bisect between 4.4.40 and 4.4.41, can you test the 4.4.57 kernel? It is available from:

http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.4.57

Of course!

4.4.57 is bad

Joseph Salisbury (jsalisbury) wrote :

I started a bisect between 4.4.40 an 4.4.41. This will require testing about 7 - 10 test kernels. I built the first test kernel up to the commit:

1cc0f9488b913a798a53eb7e4a73211c4d64a24c

This test kernel can be downloaded from:
http://kernel.ubuntu.com/~jsalisbury/lp1667323/

Can you test that kernel and report back if it has the bug or not? I will build the next test kernel based on your test results.

Thanks in advance

Thank you for taking the time to help with this bug Joseph!

This build (/~jsalisbury/lp1667323) is bad.

Changed in linux (Ubuntu):
assignee: nobody → Joseph Salisbury (jsalisbury)
Changed in linux (Ubuntu Xenial):
assignee: nobody → Joseph Salisbury (jsalisbury)
status: Triaged → In Progress
Changed in linux (Ubuntu):
status: Triaged → In Progress
Joseph Salisbury (jsalisbury) wrote :

I built the next test kernel up to the commit:
a163451c80b028d97b5224c74517dbf67ac45f2c

This test kernel can be downloaded from:
http://kernel.ubuntu.com/~jsalisbury/lp1667323/

Can you test that kernel and report back if it has the bug or not? I will build the next test kernel based on your test results.

Thanks in advance

This kernel is bad too.

Joseph Salisbury (jsalisbury) wrote :

I built the next test kernel up to the commit:
e01b04be3eb00456d65278cfa56cfd8103872bfbq

This test kernel can be downloaded from:
http://kernel.ubuntu.com/~jsalisbury/lp1667323/

Can you test that kernel and report back if it has the bug or not? I will build the next test kernel based on your test results.

Thanks in advance

This kernel is good!

Joseph Salisbury (jsalisbury) wrote :

I built the next test kernel up to the commit:
5283a7bedbcbdfa654c8a4d7fb314d734a56e544

This test kernel can be downloaded from:
http://kernel.ubuntu.com/~jsalisbury/lp1667323/

Can you test that kernel and report back if it has the bug or not? I will build the next test kernel based on your test results.

Thanks in advance

This kernel is good.

Joseph Salisbury (jsalisbury) wrote :

I built the next test kernel up to the commit:
2c2375e40d28b3d0fd961448fd12963f66b4b452

This test kernel can be downloaded from:
http://kernel.ubuntu.com/~jsalisbury/lp1667323/

Can you test that kernel and report back if it has the bug or not? I will build the next test kernel based on your test results.

Thanks in advance

This kernel is good.

Joseph Salisbury (jsalisbury) wrote :

I built the next test kernel up to the commit:
69e236e70ead32e8cc2b84ce075dbe1319ca166b

This test kernel can be downloaded from:
http://kernel.ubuntu.com/~jsalisbury/lp1667323/

Can you test that kernel and report back if it has the bug or not? I will build the next test kernel based on your test results.

Thanks in advance

This build is bad.

Joseph Salisbury (jsalisbury) wrote :

The bisect reported the following commit as the first bad commit:

commit 69e236e70ead32e8cc2b84ce075dbe1319ca166b(Mainline commit 6276e53fa8c0)
Author: Hans de Goede <email address hidden>
Date: Tue Nov 29 15:32:16 2016 +0100

    ACPI / video: Add force_native quirk for HP Pavilion dv6

This commit was already reverted in mainline in v4.10-rc6 by commit fd25ea2909.

However, commit 69e236e70e(Mainline commit 6276e53fa8c0) has not yet been reverted in upstream stable 4.4.y or in Ubuntu.

I built Xenial test kernel with this commit reverted. The test kernel can be downloaded from:
http://kernel.ubuntu.com/~jsalisbury/lp1667323/

Can you test that kernel and report back if it has the bug or not?

This build is good!

Stefan Bader (smb) on 2017-04-13
Changed in linux (Ubuntu Xenial):
status: In Progress → Fix Committed

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-xenial' to 'verification-done-xenial'. If the problem still exists, change the tag 'verification-needed-xenial' to 'verification-failed-xenial'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-xenial

The kernel in -proposed (4.4.0.78) works.

tags: added: verification-done-xenial
removed: verification-needed-xenial

Please don't drop the fix from the source code!

Launchpad Janitor (janitor) wrote :
Download full text (6.9 KiB)

This bug was fixed in the package linux - 4.4.0-78.99

---------------
linux (4.4.0-78.99) xenial; urgency=low

  * linux: 4.4.0-78.99 -proposed tracker (LP: #1686645)

  * Please backport fix to reference leak in cgroup blkio throttle
    (LP: #1683976)
    - block: fix module reference leak on put_disk() call for cgroups throttle

  * UbuntuKVM guest crashed while running I/O stress test with Ubuntu kernel
    4.4.0-47-generic (LP: #1659111)
    - block: Unhash block device inodes on gendisk destruction
    - block: Use pointer to backing_dev_info from request_queue
    - block: Dynamically allocate and refcount backing_dev_info
    - block: Make blk_get_backing_dev_info() safe without open bdev
    - block: Get rid of blk_get_backing_dev_info()
    - block: Move bdev_unhash_inode() after invalidate_partition()
    - block: Unhash also block device inode for the whole device
    - block: Revalidate i_bdev reference in bd_aquire()
    - block: Initialize bd_bdi on inode initialization
    - block: Move bdi_unregister() to del_gendisk()
    - block: Allow bdi re-registration
    - bdi: Fix use-after-free in wb_congested_put()
    - block: Make del_gendisk() safer for disks without queues
    - block: Fix bdi assignment to bdev inode when racing with disk delete
    - bdi: Mark congested->bdi as internal
    - bdi: Make wb->bdi a proper reference
    - bdi: Unify bdi->wb_list handling for root wb_writeback
    - bdi: Shutdown writeback on all cgwbs in cgwb_bdi_destroy()
    - bdi: Do not wait for cgwbs release in bdi_unregister()
    - bdi: Rename cgwb_bdi_destroy() to cgwb_bdi_unregister()
    - block: Fix oops in locked_inode_to_wb_and_lock_list()
    - kobject: Export kobject_get_unless_zero()
    - block: Fix oops scsi_disk_get()

  * Touchpad not working correctly after kernel upgrade (LP: #1662589)
    - Input: ALPS - fix V8+ protocol handling (73 03 28)

  * Xenial update to v4.4.62 stable release (LP: #1683728)
    - drm/i915: Avoid tweaking evaluation thresholds on Baytrail v3
    - drm/i915: Stop using RP_DOWN_EI on Baytrail
    - usb: dwc3: gadget: delay unmap of bounced requests
    - mtd: bcm47xxpart: fix parsing first block after aligned TRX
    - MIPS: Introduce irq_stack
    - MIPS: Stack unwinding while on IRQ stack
    - MIPS: Only change $28 to thread_info if coming from user mode
    - MIPS: Switch to the irq_stack in interrupts
    - MIPS: Select HAVE_IRQ_EXIT_ON_IRQ_STACK
    - MIPS: IRQ Stack: Fix erroneous jal to plat_irq_dispatch
    - crypto: caam - fix RNG deinstantiation error checking
    - Linux 4.4.62

  * ifup service of network device stay active after driver stop (LP: #1672144)
    - net: use net->count to check whether a netns is alive or not

  * [Hyper-V] mkfs regression in kernel 4.4+ (LP: #1682215)
    - block: relax check on sg gap

  * [Feature] KBL: intel_powerclamp driver support (LP: #1591641)
    - thermal/powerclamp: remove cpu whitelist
    - thermal/powerclamp: correct cpu support check
    - thermal/powerclamp: add back module device table

  * sysfs channel reads of lps22hb pressure sensor are stale (LP: #1682103)
    - iio: st_pressure: initialize lps22hb bootime

  * Backlight control does no...

Read more...

Changed in linux (Ubuntu Xenial):
status: Fix Committed → Fix Released
Changed in linux (Ubuntu):
status: In Progress → Fix Released
To post a comment you must log in.