Dummy Output matebook d15

Вопросы, касающиеся Arch на ноутбуках
Morisson
Аватара пользователя
Сообщения: 34
Зарегистрирован: 23.08.2022

#

vasek: Правильно понимаю, что модуль первоначально не загружен? ... но после его принудительной загрузки звука всеравно не было?
Я его даже в mkinitcpio засунул для раннего запуска.
vasek
Сообщения: 455
Зарегистрирован: 31.08.2022

#

Практически с этим железом дела не имел, а потому на 100% и не уверен, должен ли он быть загружен, а если и должен, то в какой моменнт.

Ошибки не исчезают с опытом - они просто умнеют

Morisson
Аватара пользователя
Сообщения: 34
Зарегистрирован: 23.08.2022

#

--
Последний раз редактировалось Morisson 28.01.2023 09:01, всего редактировалось 1 раз.
Morisson
Аватара пользователя
Сообщения: 34
Зарегистрирован: 23.08.2022

#

https://github.com/codepayne/linux-sound-huawei/wiki
вот этот дядька с багзиллы собрал ядро с патчем.
Помогите собрать, а то я без понимания тыкаюсь. И как после сборки headers получить?
SND_SOC_AMD_ACP3x_ES8336_MACH
этого модуля и упоминания в нашем конфиге ядра нет.
Morisson
Аватара пользователя
Сообщения: 34
Зарегистрирован: 23.08.2022

#

Видимо этот модуль является решающим, т.к. после выполнения рекомендаций по вики из этого гита появилось несколько режимов hdmi, но звука из динамиков нет.
vasek
Сообщения: 455
Зарегистрирован: 31.08.2022

#

Morisson:Видимо этот модуль является решающим, т.к. после выполнения рекомендаций по вики из этого гита появилось несколько режимов hdmi, но звука из динамиков нет.
1. В части модуля snd-soc-acp3x-es8336-mach …. в нашем ядре после недавних изменений имеется модуль snd-soc-acp-es8336-mach - как это влияет и влияет ли вообще, сразу и не скажешь.
2. Согласно их рекомендаций необходимо:
- blacklist следующие модули: snd-acp3x-rn , snd-pci-acp5x, snd-rn-pci-acp3x
- загрузить следующие модули: snd-soc-es8316, snd-acp3x-rn, snd-acp3x-pcm-dma, snd-acp3x-i2s, snd-pci-acp3x, snd-soc-acp-es8336-mach
(с одним исключением, вместо snd-soc-acp3x-es8336-mach загружаем snd-soc-acp-es8336-mach)
Все эти модули в нашем ядре имеются имеются … правда с одним исключением, отмеченным выше.
Пробовал точно так же???

PS - забыл упомянуть следующее важное замечание, встреченное в одном из топиков:
During first load of sound card driver the settings of the card are wrong and no sound can be heard, you have to go in alsamixer, select the new sound card amd-acp3x-essx8336 and in the playback tab change to maximum value the following knobs: Master, Headphone Mixer, DAC

Enable the following knobs: Left Headphone Mixer Left DAC, Right Headphone Mixer Right DAC After doing these changes you should be hearing the sound.

If you want to have the headset microphone work, you have to change once the settings in alsamixer in the capture tab to maximum value: Headphone Mixer, ADC

Ошибки не исчезают с опытом - они просто умнеют

Morisson
Аватара пользователя
Сообщения: 34
Зарегистрирован: 23.08.2022

#

Так не работает(
vasek
Сообщения: 455
Зарегистрирован: 31.08.2022

#

Morisson:дядька с багзиллы собрал ядро с патчем
Что то не вижу этого патча .... а в исходниках linux-sound-huawei не нашел правил по сборке snd-soc-acp3x-es8336-mach

Ошибки не исчезают с опытом - они просто умнеют

Morisson
Аватара пользователя
Сообщения: 34
Зарегистрирован: 23.08.2022

#

https://bugzilla.kernel.org/show_bug.cgi?id=215119
В самом низу он пишет.
vasek
Сообщения: 455
Зарегистрирован: 31.08.2022

#

Запустил утилиту и нашел в файле linux-sound-huawei/sound/soc/amd/Makefile строчку
obj-$(CONFIG_SND_SOC_AMD_ACP3x_ES8336_MACH) += snd-soc-acp3x-es8336-mach.o
Вижу следующий путь
1. Пересобрать наше ядро linux, сделав следующие изменения
- в config, например, после строчки CONFIG_SND_SOC_AMD_ACP3x=m добавить строчку CONFIG_SND_SOC_AMD_ACP3x_ES8336_MACH=m
- в PKGBUILD заменить строку pkgbase=linux на строку pkgbase=linux-huawei
2. Собрать модуль snd_soc_acp3x_es8336_mach ... и вставить его ручками в ядро linux-huawei
PS - модуль нужно собирать из нового загруженного ядра. Из обычного ядра он не соберется, так как нет CONFIG_SND_SOC_AMD_ACP3x_ES8336_MACH
3. Выполнить что пологается для загрузки нового ядра linux-huawei ... и не обновлять его ... до тех пор пока не исправят ...
В системе будет 2 ядра: основное, обычное, linux ... и linux-huawei, музыкальное (если, конечно, получиться).
Самое муторное в этом - пересборка ядра, сборка модуля займет максимум минут 5.

Конечно, 100% гарантии нет ... нужно пробовать. Может кто то предложит другой путь.

EDIT - обычно модуль собирается легко и просто, если имеется порядок сборки (файл) ... в данном случае у меня собрались все другие указанные в Wiki модули, за исключением главного ... никогда с таким не сталкивался, чтобы пересобирать модуль в такой ситуации.

И все-таки большие сомнения - ну не понимаю как соберется модуль, если нет порядка его сборки ....
Наличие в config строки CONFIG_SND_SOC_AMD_ACP3x_ES8336_MACH=m ни о чем не говорит ... все таки должен быть патч либо где то прописано это не явно.
Плюс к этому, а если возникнет необходимость что то подправить в модуле? - в каком файле править? То есть порядок сборки быть должен.
Либо я не все знаю в этой части или что то опускаю ... а может появилось что то новое, о чем я не знаю.

Ошибки не исчезают с опытом - они просто умнеют

Morisson
Аватара пользователя
Сообщения: 34
Зарегистрирован: 23.08.2022

#

Короче, подкинул конфиг, по вики собрал, звук работает. Только в его основной ветке где-то косяк. В bom-wxx9-mclk ветке рабочее.
lsmod | grep snd
...
snd_soc_core          393216  5 snd_acp3x_pcm_dma,snd_acp3x_i2s,snd_sof,snd_soc_es8316,snd_soc_acp3x_es8336_mach
..
Конфиг своего zen-ядра подкинул, дописал туда конфиг с mach-драйвером
vasek
Сообщения: 455
Зарегистрирован: 31.08.2022

#

Morisson:подкинул конфиг, по вики собрал, звук работает. Только в его основной ветке где-то косяк.
Правильно понял, что проделал как описал в зачеркнутом??? ... будет время опиши немного подробнее .... пригодиться на будущее.
Хотел пересобрать, но преврал - слабый ноут (старый, около 12 лет) и много качать (несколько Gb) ... остановил .... поэтому и итересно, как делал.

EDIT - никогда не сталкивался с этим типом модулей (.mach) - насколько понял отдельного файла, описывающих данный тип модулей нет, но если в config прописано о нем, то инфа собирается из нескольких файлов и этот модуль собирается на основе этой инфы/файлов.
По идее нужно лезти в DOC и почитать о них, но … уже старый и эти новинки не для меня.

В части
Morisson:Только в его основной ветке где-то косяк.
В общем то исходники скорее всего полностю не совпадают (в нашем ядре и в linux-sound-huawei) - поэтому и предложил, сначала пересобрать ядро с изменным конфигом и уже из него пересобрать все требуемые модули. Пересборка довольно простая и потребует около 5 минут.

Кстати, используя этот linux-sound-huawei можно пробовать лечить и Intel media ... и с Intel это похоже проще, потребуется только пересборка нужных модулей - это все конечно нужно пробовать, было бы желание.

Ошибки не исчезают с опытом - они просто умнеют

Morisson
Аватара пользователя
Сообщения: 34
Зарегистрирован: 23.08.2022

#

vasek: Правильно понял, что проделал как описал в зачеркнутом??? ... будет время опиши немного подробнее ....
Склонировал, перешел в каталог, подкинул туда конфиг, изменил версию ядра. Собрал, собрал модули. Ядро кинул в boot, сгенерировал initramfs, подсунул загрузчику.
В командной строке ядра заблеклистил модули из вики, в mkinitcpio.conf воткнул рекомендуемые модули.
После перезагрузки карта появляется, в alsamixer куча ползунков с непонятными названиями. По вики тамошней выставил, вроде как работает.
Не работает микрофон, и звук прищелкивает при регулировке громкости.
Morisson
Аватара пользователя
Сообщения: 34
Зарегистрирован: 23.08.2022

#

Morisson:собрал модули
make modules && sudo make modules_install
Morisson
Аватара пользователя
Сообщения: 34
Зарегистрирован: 23.08.2022

#

vasek:и много качать (несколько Gb)
Там 200 Мб, около того.
vasek: В общем то исходники скорее всего полностю не совпадают (в нашем ядре и в linux-sound-huawei)
Он специальный бранч сделал для ноутбуков matebook D15 Ryzen 5500U
Morisson
Аватара пользователя
Сообщения: 34
Зарегистрирован: 23.08.2022

#

Особо не вникал, там что-то с частотой дескритизации по-другому, и с основной ветки собранное ядро просто шумит динамиками, а музыку не вопроизводит.
vasek
Сообщения: 455
Зарегистрирован: 31.08.2022

#

Morisson:make modules && sudo make modules_install
Там 200 Мб, около того.
Все-таки не понял, как пересобирал ядро ... способов несколько, разница имеется - потому и интересно, пригодится, думаю и другим.
Не поленись, дай или ссылку или опиши в кратце ... (спешки нет, будет время, напишешь)

И еще, запутался - ты что собирал оба ядра? ... и основное и специальное (huawei) ...... или же только собрал модули??? .. без сборки ядра?

Ошибки не исчезают с опытом - они просто умнеют

Morisson
Аватара пользователя
Сообщения: 34
Зарегистрирован: 23.08.2022

#

https://wiki.archlinux.org/title/Kernel ... figuration
отсюда начиная. Клонировал, зашел к каталог и далее по вики.
vasek:И еще, запутался - ты что собирал оба ядра?
Нет, там значит, основной branch решает проблему звука, но не работает с ноутбуками с номером BOM-WXX9.
https://github.com/codepayne/linux-soun ... i/issues/5
vasek
Сообщения: 455
Зарегистрирован: 31.08.2022

#

Morisson:https://wiki.archlinux.org/title/Kernel ... figuration
отсюда начиная. Клонировал, зашел к каталог и далее по вики.
Поятно, так и думал, переспросил на всякий случай, вдруг что изменилось.

Ошибки не исчезают с опытом - они просто умнеют

Morisson
Аватара пользователя
Сообщения: 34
Зарегистрирован: 23.08.2022

#

Как PKGBUILD сделать, чтобы не корячиться постоянно. Чтобы собирало headers и ядро?
Киньте простеньким мануалом.
Ответить