linux-firmware 1.157.5 causes sound issues after initramfs update

Bug #1645911 reported by David Jordan
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
Undecided
Unassigned
Xenial
Invalid
Undecided
Timo Aaltonen
linux-firmware (Ubuntu)
Invalid
Medium
Seth Forshee
Xenial
Fix Released
High
Seth Forshee

Bug Description

On laptops with Kaby Lake processors and Sunrise point chipsets (System76 Lemu7), updating to the current (1.157.5) version of the linux-firmware package and then updating initramfs causes sound issues. This can manifest in two ways:

1: Volume hotkeys and controls appear to work, but actual playback volume remains the same.
   Three HDMI devices appear in the sound-settings gui, despite no HDMI device connected (and only 1 HDMI port)
2: 'Dummy Output' is the only device in the sound-settings gui, and there is no sound output at all.

In both cases dmesg shows error output relating to snd_hda_codec_hdmi.

This bug only affects Xenial, not Yakkety. Xenial still exhibits the above symptoms after installing the current Yakkety linux-firmware package.

I believe the issue is related to the Kaby Lake firmware. In testing, I was able to remove '/lib/firmware/i915/kbl_dmc_ver1_01.bin', run 'sudo update-initramfs -u', and reboot to get sound working correctly again.

Perhaps this firmware is needed for the upcoming Union Point chipsets, but causes problems with the for Kaby Lake processor laptops running the 4.4.0 kernel and Sunrise Point chipsets. There is either a bug in the new Kaby Lake firmware or it is being erroneously applied to inappropriate hardware.

I have received a number of reports of users running into this bug, presumably anyone who updated to the latest kernel and linux-firmware packages at the same time. Based on testing, next kernel update could trigger the bug for many more users.

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in linux-firmware (Ubuntu):
status: New → Confirmed
Seth Forshee (sforshee)
Changed in linux-firmware (Ubuntu):
assignee: nobody → Seth Forshee (sforshee)
importance: Undecided → Medium
Revision history for this message
Seth Forshee (sforshee) wrote :

Judging by the commits to the i915 driver between 4.4 and 4.8, the situation is kind of messy. Ultimately it seems like they've moved away from using symlinks for the firmware because of coupling between the driver and specific firmware versions. I think we can exploit that and carry both versions of the firmware. Then 4.8 will load kbl_dmc_ver1_01.bin and 4.4 will load kbl_dmc_ver1.bin, and hopefully everyone will be happy.

I'll prepare a test build with this for you to test.

Revision history for this message
Seth Forshee (sforshee) wrote :

No, that won't work. There wasn't a previous version of that firmware. And I forgot that xenial is carrying a backported version of i915, which is what you must be using since the one in 4.4 doesn't support Kabylake at all.

Let me look into this some more.

Seth Forshee (sforshee)
Changed in linux (Ubuntu):
status: New → Fix Released
Changed in linux-firmware (Ubuntu):
status: Confirmed → Invalid
Changed in linux (Ubuntu Xenial):
status: New → Confirmed
Changed in linux-firmware (Ubuntu Xenial):
assignee: nobody → Seth Forshee (sforshee)
importance: Undecided → High
status: New → Confirmed
Revision history for this message
Seth Forshee (sforshee) wrote :

My plan for now is to release a new linux-firmware with that firmware removed, then restore it after we get a fix in the kernel. Will provide a test package shortly.

Revision history for this message
Seth Forshee (sforshee) wrote :

Please test the package below and confirm that it fixes the issue. Thanks!

http://people.canonical.com/~sforshee/lp1645911/linux-firmware_1.157.5+lp1645911v201611301015_all.deb

Revision history for this message
David Jordan (dmj726) wrote :

The test package fixes the issue (after running 'sudo update-initramfs -u' and doing a shutdown and cold boot.

Perhaps we could have the linux-firmware package update the initramfs as part of the post install process. In my testing simply installing a new linux-firmware package didn't immediately manifest different behavior, which made tracking this issue down more difficult. This would make it so the updated package automatically heals the affected systems on the next cold boot.

Seth Forshee (sforshee)
summary: - linux-firmware package causes sound issues with after initramfs update
+ linux-firmware 1.157.5 causes sound issues after initramfs update
Seth Forshee (sforshee)
Changed in linux-firmware (Ubuntu Xenial):
status: Confirmed → Fix Committed
Revision history for this message
Seth Forshee (sforshee) wrote :

I opened bug 1646197 for adding a postinst script to run update-initramfs. Both of these will be included in linux-firmware 1.157.6, which I just uploaded.

Revision history for this message
Adam Conrad (adconrad) wrote : Please test proposed package

Hello David, or anyone else affected,

Accepted linux-firmware into xenial-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/linux-firmware/1.157.6 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed.Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Revision history for this message
David Jordan (dmj726) wrote :

Just tested on the affected hardware, and can confirm the new package fixes this bug. After enabling -proposed, running updates, and doing a full shutdown, sound begins working correctly again.

Revision history for this message
David Jordan (dmj726) wrote :

Verified linux-firmware 1.157.6 from xenial-proposed.

tags: added: verification-done
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux-firmware - 1.157.6

---------------
linux-firmware (1.157.6) xenial; urgency=medium

  * linux-firmware 1.157.5 causes sound issues after initramfs update
    (LP: #1645911)
    - Revert "linux-firmware: First DMC image for Kabylake."

  * Trigger update-initramfs following linux-firmware install (LP: #1646197)
    - UBUNTU: Add postinst script to update initrds

 -- Seth Forshee <email address hidden> Wed, 30 Nov 2016 15:05:05 -0600

Changed in linux-firmware (Ubuntu Xenial):
status: Fix Committed → Fix Released
Revision history for this message
Chris J Arges (arges) wrote : Update Released

The verification of the Stable Release Update for linux-firmware has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Revision history for this message
Timo Aaltonen (tjaalton) wrote :

This needs to be fixed so that kbl firmware can be added back.

Changed in linux (Ubuntu Xenial):
assignee: nobody → Timo Aaltonen (tjaalton)
Revision history for this message
Timo Aaltonen (tjaalton) wrote :

hmm, looks like xenial kernel didn't need any update, so closing this task as invalid

Changed in linux (Ubuntu Xenial):
status: Confirmed → Invalid
Brad Figg (brad-figg)
tags: added: cscc
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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