Linux

Lenovo Thinkpad Mute LED 更新後停止工作

  • December 15, 2018

今天在我的聯想 Thinkpad X1 Carbon(第 6 代)上更新了我的包裹。我沒想到會發生任何事情,但它確實發生了。F1 和 F4 鍵上的靜音指示燈 LED 停止工作。

我實際上知道這將很快得到解決。我只是提出一個問題,以便我可以回答,以防其他人正在尋找解決方案。

情況

自 10 月 22 日以來,執行 Arch Linux 的聯想 Thinkpad X1 Carbon 於 12 月 15 日更新了其軟體包。重新啟動後,靜音麥克風和靜音揚聲器鍵的 LED 指示燈停止工作。

調查

我通過簡單地搜尋“靜音 LED 不工作”之類的片語開始了我的調查,但找不到最近的任何內容。我知道它必須是最近的,因為症狀恰好在更新後出現。

其他按鈕工作正常,Caps Lock、Fn Lock,但只有靜音按鈕不起作用。

尋找負責任的包裹

/var/log/pacman.log/我檢查了更新的包。這是一大堆,但除了對 PulseAudio、ALSA 和 Linux 核心的更新之外,沒有任何東西可以乾擾我的 Thinkpad 按鈕。

我決定先檢查核心。要將核心降級到我執行的先前版本

~ # pacman -U /var/cache/pacman/linux-4.18.16.arch1-1-x86_64.pkg.tar.xz

重新啟動後燈再次工作。我現在確定問題出在 Linux 核心的更新中。

查找負責的核心版本

我現在知道核心 4.18.16 正在工作,而我知道 4.19.8 不行!

我從 Arch Linux 軟體包存檔 ( https://archive.archlinux.org/ ) 下載了 4.19 到 4.19.8 版本,知道核心介於兩者之間。

因為我是4.18.16,所以升級到4.19.4。19.4 的工作方式與 18.16 一樣,因此該錯誤是在 19.4 之後但在 19.8 之前引入的

接下來是19.6。這個版本也可以正常工作,所以我現在知道這個錯誤是在 19.7 中引入的。在再次升級之後,果然,4.19.7 是第一個發生這種“回歸”(他們稱之為)的版本。

找到負責的送出

由於 linux 是開源的,您可以在https://kernel.org上查找每個 linux 版本的更新日誌

這是 4.19.7 版的變更日誌:https ://cdn.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.19.9

警告,它非常大!為了找到問題從哪裡開始的一些跡象,我決定 CTRL+F 一些關鍵字到文件中。首先我嘗試了“led”,但沒有看起來很有希望的送出。然後我搜尋“靜音”,但同樣沒有命中。

在使用了其他幾個關鍵字之後,我嘗試了“carbon”,我發現了一個名為:

dcd51305cd41e77bf775992e6d6cee52f83426b7
ALSA: hda/realtek - fix the pop noise on headphone for lenovo laptops

我的第一個想法是“哦,太好了,他們解決了這個問題!”,但由於這也是唯一提到聯想的送出,而且這是回歸核心的變更日誌,我最好的選擇是調查。

謝天謝地,這個送出包括一個到 launchpad.net 的 BugLink:https ://bugs.launchpad.net/ubuntu/+source/linux/+bug/1805079

我想在那裡我可以問開發人員他們的 LED 燈是否也有問題。但我什至不需要問,因為另一個使用者已經描述了我遇到的問題:(連結)

I'm on Lenovo ThinkPad X1 Carbon 6th, model 20KH006JGE. 
After upgrading to Linux 4.19.7, the audio mute and 
microphone mute LEDs (on F1 and F4 keys) stopped working.

送出的創建者已經做出了回應,甚至提供了解決方案!很棒的東西,但現在呢?我不想編譯我自己的核心……哎呀!我需要知道何時實施此修復程序。

查找修復送出

幸運的是,整個 linux 核心都在 GitHub 上!https://github.com/torvalds/linux

我深入研究了送出歷史,按 CTRL+F 選擇“LED”,果然,在第 4 頁我找到了修復送出!(關聯)

6ba189c5c1a4bda70dc1e4826c58b0246068bb8d
ALSA: hda/realtek - Fix the mute LED regresion on Lenovo X1 Carbon

太棒了,好像這個送出已經發布和審查了,那麼它現在在哪裡?修復程序什麼時候發布?

找出修復程序何時發布

所以 linux 的發行版由 Greg Kroah-Hartman 維護。您可能已經在我們之前查看的變更日誌頂部看到了他的名字。每隔幾天,他就會從儲存庫中收集有用的送出,並將它們捆綁到一個新的穩定中。

您可以在 kernel.org 的穩定郵件列表中跟踪發布週期的進度和討論。如果您不想訂閱,只是閱讀,您可以在此處找到存檔:https ://www.spinics.net/lists/stable/

在那裡,我再次拉出我可靠的 CTRL+F 並蒐索“LED”,地獄是的,果然:

$$ PATCH 4.19 140/142 $$是我正在尋找的送出。 Greg 已經包含了我們想要的送出,目前正在審查它的發布。幾天后我就結束了討論,隨後發布了 4.19.10。

最後:解決方案

要解決此問題,請將核心降級至最高版本 4.19.6。

你也可以等幾天,因為 4.19.10 版本會修復回歸,預計會在 12 月 16 日或 17 日發布。

我希望我的旅程讀起來有點有趣,並且可以幫助您將來解決問題。我了解了變更日誌、送出、回購、發布、郵件列表等等,所以我只需要分享。

親切的問候,玩得開心!

引用自:https://unix.stackexchange.com/questions/489208