Bug 44690 - периодически пропадает звук
Summary: периодически пропадает звук
Status: CLOSED FIXED
Alias: None
Product: Branch p9
Classification: Distributions
Component: kernel-image-un-def (show other bugs)
Version: не указана
Hardware: x86_64 Linux
: P5 normal
Assignee: Vitaly Chikunov
QA Contact: qa-p9@altlinux.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-12-20 12:09 MSK by obidinog@basealt.ru
Modified: 2023-01-13 20:46 MSK (History)
4 users (show)

See Also:


Attachments
log (400.61 KB, text/x-log)
2022-12-20 12:09 MSK, obidinog@basealt.ru
no flags Details
dmesg (98.63 KB, text/x-log)
2022-12-20 12:09 MSK, obidinog@basealt.ru
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description obidinog@basealt.ru 2022-12-20 12:09:00 MSK
Created attachment 12123 [details]
log

Платформа:
kworkstation-9.2-x86-64

Пакеты:
kernel-image-un-def  5.10.159-alt1
kernel-image-un-def  5.10.158-alt1
kernel-image-un-def  5.10.157-alt1

Стенд:
Ноутбук Acer Swift 3 SF314-59-78UR 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz 

lspci
0000:00:1f.3 Multimedia audio controller: Intel Corporation Tiger Lake-LP Smart Sound Technology Audio Controller (rev 20)
        Subsystem: Acer Incorporated [ALI] Device 148c
        Flags: bus master, fast devsel, latency 32, IRQ 197, IOMMU group 12
        Memory at 601f270000 (64-bit, non-prefetchable) [size=16K]
        Memory at 601f000000 (64-bit, non-prefetchable) [size=1M]
        Capabilities: [50] Power Management version 3
        Capabilities: [80] Vendor Specific Information: Len=14 <?>
        Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit+
        Kernel driver in use: sof-audio-pci

Шаги:
1) Установить ядро, загрузиться
2) Включить например youtube.com
3) Подождать, поставить паузу, воспроизвести

Результат:
Пропадает звук на устройстве

Ожидаемый результат:
Звук не пропадает

Прикладываю логи.
Дополнительно:
На ядре kernel-image-un-def  5.10.156-alt1 не воспроизводится.
Воспроизводится не на всех стендах.
Comment 1 obidinog@basealt.ru 2022-12-20 12:09:15 MSK
Created attachment 12124 [details]
dmesg
Comment 2 Vitaly Chikunov 2022-12-20 19:23:24 MSK
shaba предложил поиграть с параметрами модуля!
Comment 3 Vitaly Chikunov 2022-12-20 19:46:58 MSK
@obidinog Приложите пожалуйста dmesg от рабочей системы, например kernel-image-un-def  5.10.156-alt1.

В приложенном dmesg у 5.10.159-un-def-alt1 есть подозрительные сообщения:

 [    7.345509] sof-audio-pci 0000:00:1f.3: warning: unknown sof_ext_man header type 6 size 0x20
 [    7.345511] sof-audio-pci 0000:00:1f.3: Firmware info: version 1:8:0-9e7a8
 [    7.345512] sof-audio-pci 0000:00:1f.3: Firmware: ABI 3:18:1 Kernel ABI 3:17:0
 [    7.345512] sof-audio-pci 0000:00:1f.3: warn: FW ABI is more recent than kernel
 [    7.345515] sof-audio-pci 0000:00:1f.3: warning: unknown sof_ext_man header type 3 size 0x30
 [    7.345516] sof-audio-pci 0000:00:1f.3: warning: unknown sof_ext_man header type 5 size 0x20
 ...
 [    7.453433] sof-audio-pci 0000:00:1f.3: warn: topology ABI is more recent than kernel

Протестируйте пожалуйста:

> пишут что snd_hda_intel.dmic_detect=0 решает проблему
> https://www.linux.org.ru/forum/linux-hardware/15587217
Comment 4 Vitaly Chikunov 2022-12-20 20:06:28 MSK
В ядре 5.10.157 я не заметил коммитов связанных со звуковой подсистемой.

ps. Я думаю в такой проблеме можно приблизиться к решению только бисектом ядра.
Было бы идеально, чтоб отдел тестирования как-то научился его делать, так как это железо только у вас, и обычно это часть качественного багрепорта (например, в syzkaller это вообще происходит автоматически). Для бисекта не нужно быть разработчиком ядра и понимать код, так как это тестирование разного набора коммитов (работа с git).
Comment 5 Mikhail Chernonog 2022-12-22 12:26:09 MSK
(Ответ для Vitaly Chikunov на комментарий #4)
> В ядре 5.10.157 я не заметил коммитов связанных со звуковой подсистемой.
> 
> ps. Я думаю в такой проблеме можно приблизиться к решению только бисектом
> ядра.
> Было бы идеально, чтоб отдел тестирования как-то научился его делать, так
> как это железо только у вас, и обычно это часть качественного багрепорта
> (например, в syzkaller это вообще происходит автоматически). Для бисекта не
> нужно быть разработчиком ядра и понимать код, так как это тестирование
> разного набора коммитов (работа с git).

Это хорошее предложение. Vitaly Chikunov, есть ли инструкция как правильно и быстро выполнять бисект ядра? нет ли у вас наработок по автоматизации данного процесса?
Comment 6 Николай Костригин 2022-12-27 11:25:18 MSK
(Ответ для Vitaly Chikunov на комментарий #4)
> В ядре 5.10.157 я не заметил коммитов связанных со звуковой подсистемой.
> [...]

... а он там есть ;)

$ git bisect bad
c34db0d6b88b1da95e7ab3353e674f4f574cccee is the first bad commit
commit c34db0d6b88b1da95e7ab3353e674f4f574cccee
Author: Richard Fitzgerald <rf@opensource.cirrus.com>
Date:   Fri Nov 4 13:22:13 2022 +0000

    ASoC: soc-pcm: Don't zero TDM masks in __soc_pcm_open()
    
    [ Upstream commit 39bd801d6908900e9ab0cdc2655150f95ddd4f1a ]
    
    The DAI tx_mask and rx_mask are set by snd_soc_dai_set_tdm_slot()
    and used by later code that depends on the TDM settings. So
    __soc_pcm_open() should not be obliterating those mask values.
    
    The code in __soc_pcm_hw_params() uses these masks to calculate the
    active channels so that only the AIF_IN/AIF_OUT widgets for the
    active TDM slots are enabled. The zeroing of the masks in
    __soc_pcm_open() disables this functionality so all AIF widgets
    were enabled even for channels that are not assigned to a TDM slot.
    
    Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
    Fixes: 2e5894d73789 ("ASoC: pcm: Add support for DAI multicodec")
    Link: https://lore.kernel.org/r/20221104132213.121847-1-rf@opensource.cirrus.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

 sound/soc/soc-pcm.c | 5 -----
 1 file changed, 5 deletions(-)

Проверим, помогает ли откат единственного коммита.
Comment 7 Vitaly Chikunov 2022-12-27 12:25:49 MSK
(In reply to Mikhail Chernonog from comment #5)
> Это хорошее предложение. Vitaly Chikunov, есть ли инструкция как правильно и
> быстро выполнять бисект ядра? нет ли у вас наработок по автоматизации
> данного процесса?

Нет, но можно подумать над этим!
Comment 8 Vitaly Chikunov 2022-12-28 06:44:13 MSK
(In reply to Николай Костригин from comment #6)
> $ git bisect bad
> c34db0d6b88b1da95e7ab3353e674f4f574cccee is the first bad commit
> ...
> Проверим, помогает ли откат единственного коммита.

Николай, большое спасибо аз бисект!
Comment 9 Николай Костригин 2022-12-28 09:35:37 MSK
(Ответ для Николай Костригин на комментарий #6)
> [...]
> 
> Проверим, помогает ли откат единственного коммита.

Забыл написать, - да помогает. Но, естественно, нужно еще провести полноценное тестирование модифицированного ядра.
Comment 12 Vitaly Chikunov 2022-12-30 15:28:20 MSK
Спасибо. А зачем был пост в баггзиллу ядра? Туда нет смысла постить если она не указана в MAINTAINERS для этой подсистемы.
Comment 13 Vitaly Chikunov 2022-12-30 16:46:36 MSK
> Could you verify whether the problem happens with 6.1.x kernel as well?

Там просят протестировать на 6.1.x и я собрал в задании 312705 kernel-image.git=kernel-image-un-def-6.1.1-alt1

Пакеты доступны https://git.altlinux.org/tasks/312705/build/100/x86_64/rpms/
Comment 14 Николай Костригин 2023-01-09 16:21:02 MSK
(Ответ для Vitaly Chikunov на комментарий #12)
> Спасибо. А зачем был пост в баггзиллу ядра? Туда нет смысла постить если она
> не указана в MAINTAINERS для этой подсистемы.

Я думаю, так или иначе, в этом есть смысл: туда "заглядывает" некий regression-bot, который делает перепост. В этот раз именно он привлек внимание мэнтэйнеров.

Плюс не всем еще привычен интерфейс списков рассылки.

Конечно, финальный вариант рабочего процесса "чтобы и апстрим быстро узнал, и на русском можно было почитать" еще требует обсуждения.
Comment 15 Vitaly Chikunov 2023-01-10 01:24:22 MSK
(In reply to Николай Костригин from comment #14)
> Я думаю, так или иначе, в этом есть смысл: туда "заглядывает" некий
> regression-bot, который делает перепост. В этот раз именно он привлек
> внимание мэнтэйнеров.

Думаю это был Thorsten Leemhuis лично, сегодня он заметил, а в другой день не заметит. Неправильно постить в заведомо неправильное место, в надежде что кто-то исправит. Почти все списки рассылки ядра не требуют подписки, так что это просто письмо на правильный список адресатов.
Comment 16 obidinog@basealt.ru 2023-01-13 17:46:26 MSK
(Ответ для Vitaly Chikunov на комментарий #13)
> > Could you verify whether the problem happens with 6.1.x kernel as well?
> 
> Там просят протестировать на 6.1.x и я собрал в задании 312705
> kernel-image.git=kernel-image-un-def-6.1.1-alt1
> 
> Пакеты доступны https://git.altlinux.org/tasks/312705/build/100/x86_64/rpms/


Платформа:kworkstation-9.2-x86-64

Стенд:Ноутбук Acer Swift 3 SF314-59-78UR 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz 

Проверил ядро 6.1.1-alt1 на p9. 

Баг не воспроизводится. Звук работает корректно, не пропадает
Comment 17 Repository Robot 2023-01-13 20:46:03 MSK
kernel-image-un-def-1:5.15.87-alt1 -> p10:

 Fri Jan 13 2023 Kernel Bot <kernelbot@altlinux> 1:5.15.87-alt1
 - v5.15.87 (2023-01-12).
 - config-armh: Enable ROCKCHIP_IODOMAIN=m, CROS_EC_SPI=m (ALT#44813).
 Sat Dec 31 2022 Kernel Bot <kernelbot@altlinux> 1:5.15.86-alt1
 - v5.15.86 (2022-12-31).
 - Revert "ASoC: soc-pcm: Don't zero TDM masks in __soc_pcm_open()" (ALT#44690).
 Thu Dec 22 2022 Kernel Bot <kernelbot@altlinux> 1:5.15.85-alt1
 - v5.15.85 (2022-12-21).
 - Backport improved ES8336 codec driver from 6.0 to 5.15.
 Mon Dec 19 2022 Kernel Bot <kernelbot@altlinux> 1:5.15.84-alt1
 - v5.15.84 (2022-12-19).
 Thu Dec 15 2022 Kernel Bot <kernelbot@altlinux> 1:5.15.83-alt1
 - v5.15.83 (2022-12-14).
 Thu Dec 08 2022 Kernel Bot <kernelbot@altlinux> 1:5.15.82-alt1
 - v5.15.82 (2022-12-08).
 Sat Dec 03 2022 Kernel Bot <kernelbot@altlinux> 1:5.15.81-alt1
 - v5.15.81 (2022-12-02).
 - config: Enable pvpanic modules.
 - config: Enable CONFIG_CRASH_DUMP.