Bug 219807
Summary: | [REGRESSION, BISECTED] Silent microphone, Linux 6.6.78, Realtek ALC256 | ||
---|---|---|---|
Product: | Drivers | Reporter: | hipcatkiss (hipcatkiss) |
Component: | Sound(ALSA) | Assignee: | Jaroslav Kysela (perex) |
Status: | RESOLVED CODE_FIX | ||
Severity: | normal | CC: | tiwai |
Priority: | P3 | ||
Hardware: | Intel | ||
OS: | Linux | ||
Kernel Version: | 6.6.78 | Subsystem: | |
Regression: | Yes | Bisected commit-id: | 3cef733e15cd8357bef2d713890a8d4884a990cc |
Attachments: |
alsa-info on the good kernel
alsa-info on the bad kernel Fix patch stable/linux-6.6.y patch |
Description
hipcatkiss
2025-02-23 16:59:49 UTC
Did it ever work? If it did, could you bisect? https://docs.kernel.org/admin-guide/bug-bisect.html (In reply to Artem S. Tashkinov from comment #1) > Did it ever work? > > If it did, could you bisect? > > https://docs.kernel.org/admin-guide/bug-bisect.html The bug(?) was introduced in 6.6.78, is not present before and persists after. Bisecting: 136 revisions left to test after this (roughly 7 steps) It will take a while. I have limited free time and build time is around 2 hours. I tried to speed it up as described in https://docs.kernel.org/admin-guide/verify-bugs-and-bisect-regressions.html by doing yes '' | make localmodconfig but unfortunately that makes the build fail with the error ERROR: modpost: "sof_ipc3_do_rx_work" [sound/soc/sof/snd-sof.ko] undefined! I am not a programmer and my knowledge is too limited to do anything about it, so I build with the config I linked to in the OP. English is not my first language, I apologize for mistakes I might make. Turned out to take much less time than I thought. Bisection log is below git bisect start # status: waiting for both good and bad commits # good: [c719455843a8bc3e969ba58ec92335ed7510e9fc] Linux 6.6.77 git bisect good c719455843a8bc3e969ba58ec92335ed7510e9fc # status: waiting for bad commit, 1 good commit known # bad: [4407146cf3fcfe8883f6123b89f861a11cc4e4df] Linux 6.6.78 git bisect bad 4407146cf3fcfe8883f6123b89f861a11cc4e4df # good: [8fb062178e1ce180e2cfdc9abc83a1b9fea381ca] usbnet: ipheth: use static NDP16 location in URB git bisect good 8fb062178e1ce180e2cfdc9abc83a1b9fea381ca # bad: [25abffee5ceb6691ecd4f089be2bb28842e2d2fd] media: imx296: Add standby delay during probe git bisect bad 25abffee5ceb6691ecd4f089be2bb28842e2d2fd # bad: [5538b1b2eeb786327d5ef035ea249941640a795d] ARM: dts: ti/omap: gta04: fix pm issues caused by spi module git bisect bad 5538b1b2eeb786327d5ef035ea249941640a795d # good: [a80f82d31ca67f064693d776d86dc60524ca2cee] Revert "media: uvcvideo: Require entities to have a non-zero unique ID" git bisect good a80f82d31ca67f064693d776d86dc60524ca2cee # bad: [7bfa83ee25a68214903dc3a6b431eb8ab0a81850] scsi: st: Don't set pos_unknown just after device recognition git bisect bad 7bfa83ee25a68214903dc3a6b431eb8ab0a81850 # bad: [8852e056e297df1d8635ee7504e780d3184e45d0] PCI: Avoid putting some root ports into D3 on TUXEDO Sirius Gen1 git bisect bad 8852e056e297df1d8635ee7504e780d3184e45d0 # bad: [3cef733e15cd8357bef2d713890a8d4884a990cc] ALSA: hda: Fix headset detection failure due to unstable sort git bisect bad 3cef733e15cd8357bef2d713890a8d4884a990cc # good: [125c6cb709344ed7dfb858253b513f3a4a624109] ALSA: hda/realtek: Enable headset mic on Positivo C6400 git bisect good 125c6cb709344ed7dfb858253b513f3a4a624109 # first bad commit: [3cef733e15cd8357bef2d713890a8d4884a990cc] ALSA: hda: Fix headset detection failure due to unstable sort Then, git switch --detach --discard-changes stable/linux-6.6.y git revert --no-edit 3cef733e15cd8357bef2d713890a8d4884a990cc solves the issue. Could you give alsa-info.sh outputs from both working and non-working cases? Run the script with --no-upload option and use attachments on Bugzilla. Created attachment 307710 [details]
alsa-info on the good kernel
Created attachment 307711 [details]
alsa-info on the bad kernel
Thanks. Please try to pass model=1043:1271 option to snd-hda-intel module, e.g. boot with snd_hda_intel.model=1043:1271 boot option. The problem is that a wrong quirk was used for your model and this leaded to two built-in mics. In the earlier kernels, it casually worked because the right one was picked up the first device, but after the fix commit for another bug, a wrong one was surfaced as the primary mic. The option above applies a different quirk for another ASUS model, and it should fit better. If this is confirmed to work, I'll make a proper patch. (In reply to Takashi Iwai from comment #7) > If this is confirmed to work, I'll make a proper patch. Your solution works for me. Thank you for the work. Good to hear! Below is the fix patch. Created attachment 307712 [details]
Fix patch
The patch cannot be applied to the stable/linux-6.6.y branch. Manual application resulted in the patch below diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index abe3d5b9b84b..222e109c10eb 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -10084,6 +10084,7 @@ static const struct hda_quirk alc269_fixup_tbl[] = { SND_PCI_QUIRK(0x1043, 0x13b0, "ASUS Z550SA", ALC256_FIXUP_ASUS_MIC), SND_PCI_QUIRK(0x1043, 0x1427, "Asus Zenbook UX31E", ALC269VB_FIXUP_ASUS_ZENBOOK), SND_PCI_QUIRK(0x1043, 0x1433, "ASUS GX650P", ALC285_FIXUP_ASUS_I2C_HEADSET_MIC), + SND_PCI_QUIRK(0x1043, 0x1460, "Asus VivoBook 15", ALC256_FIXUP_ASUS_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1043, 0x1463, "Asus GA402X", ALC285_FIXUP_ASUS_I2C_HEADSET_MIC), SND_PCI_QUIRK(0x1043, 0x1473, "ASUS GU604V", ALC285_FIXUP_ASUS_HEADSET_MIC), SND_PCI_QUIRK(0x1043, 0x1483, "ASUS GU603V", ALC285_FIXUP_ASUS_HEADSET_MIC), The patch works for me. Created attachment 307713 [details]
stable/linux-6.6.y patch
Pasting the patch as a comment turned out to be a bad idea due to line wrapping.
|