Проблема с Pulseaudio :Аудиовыход случайно останавливается при использовании Focusrite Scarlett Solo

Ты не хочешь rootfstype=ramfs. Я уверен. Хотя AFAICT это не настоящая проблема.

Монтаж ramfsигнорирует блочное устройство(root=/dev/ram0в этом случае ). ramfsне поддерживается никаким файлом устройства. Он изначально пустой.

Следовательно, если rootfstype=ramfsвступит в силу, он просто смонтирует пустую fs. Следовательно, не будет initзапускаемой программы. (Это также будет генерировать ошибку 2 = ENOENT = «Нет такого файла или каталога», когда ядро ​​​​пытается смонтировать devtmpfs на /dev, как вы видите в своем журнале ).


Вы показываете, что используете новый -стиль initramfs, то есть архив cpio вместо образа файловой системы. Это хорошо. Но тогда вы должны получить сообщение типа "Распаковка initramfs...", когда ядро ​​обнаружит новый формат стиля -и распаковывает его.

В оригинальном документе говорится, что initramfs должен быть cpio, сжатым с помощью gzip. Однако я думаю, что текущий код также доволен несжатым cpio.

Как вы сказали, у вас, похоже, проблема в том, что ядро ​​не распознает initramfs.

По крайней мере, initrd_startвыглядит как 0при вводе populate_rootfs(). Если бы это было не -нулевое значение, вы бы увидели по крайней мере одно сообщение или ошибку, связанную с initrd -или initramfs -.

https://elixir.bootlin.com/linux/v4.1/source/init/initramfs.c#L608

ИЛИ, initramfs.cдаже не включается в ядро, потому что вы не включили CONFIG _BLK _DEV _INITRD. Вот что говорит мне init/Makefile .

initrd:https://www.kernel.org/doc/html/v4.18/admin-guide/initrd.html

initramfs:https://www.kernel.org/doc/Documentation/filesystems/ramfs-rootfs-initramfs.txt

0
28.01.2021, 15:22
2 ответа

Корень вашей проблемы может заключаться в функции автоматической приостановки USB в TLP (управлении питанием ), если она поставляется с вашим дистрибутивом.

Попробуйте отключить его, запустив systemctl disable tlp.serviceи перезагрузившись.

Если вы хотите, чтобы он работал, вы также можете добавить свой аудиоинтерфейс в черный список, как описано в документации:https://linrunner.de/tlp/settings/usb.html

Существует также пользовательский интерфейс для настройки конфигурации под названием tlpui.

Подробнее здесь :https://wiki.archlinux.org/index.php/TLP#USB_autosuspend

0
18.03.2021, 22:45

Присоедините GDB к работающему демону PulseAudio и дайте ему продолжить работу:

$ gdb -p $(pgrep pulseaudio) -ex continue /usr/bin/pulseaudio

Когда сигнал доставлен, GDB поймает его и позволит вам изучить его . Например:

(gdb) ptype $_siginfo
[...]
(gdb) print $_siginfo._sifields._kill
$2 = {si_pid = 19569, si_uid = 1234}

человеческая сигнатура дает некоторую предысторию.

0
18.03.2021, 22:45

Теги

Похожие вопросы