Baytrail аудиопорт: ASoC: нет включенных бэкенд DAIs для Baytrail аудиопорта

Вопрос или проблема

Я пытаюсь настроить звук на своем Baytrail – rt5640 на Ubuntu 16.04 последние несколько недель. Но звука нет даже с вашим патчем ядра 4.10-Rc5 +Ubuntu 16.04

Я пересобрал свое ядро, так как моя таблица DSDT не содержит информации о CHAN для устройства (RTEK). Я взял информацию о канале из Windows.

Пожалуйста, проверьте логи.

Какие-нибудь предложения??

Пожалуйста, посмотрите мой лог ядра

[ 6.427853] Audio Probbed BIOS Routing: AIF1 connected 
[ 6.427858] bytcr_rt5640 bytcr_rt5640: quirk IN1_MAP enabled
[ 6.427861] bytcr_rt5640 bytcr_rt5640: quirk DIFF_MIC enabled
[ 6.427863] bytcr_rt5640 bytcr_rt5640: quirk SSP0_AIF1 enabled
[ 6.427865] bytcr_rt5640 bytcr_rt5640: quirk MCLK_EN enabled
[ 6.427867] Audio Probbed byt_rt5640_cpu_dai_name ssp0-port 
[ 6.427875] bytcr_rt5640 bytcr_rt5640: Не удалось получить MCLK от pmc_plt_clk_3: -2
[ 6.431975] Audio Probbed Не удалось получить MCLK от pmc_plt_clk_3: -2
[ 6.439096] rt5640_probe snd_soc_codec_force_bias_level 
[ 6.442536] rt5640_probe sRT5640_ID_5640 
[ 6.442758] rt5640_probe вернул Успех 
[ 6.443609] bytcr_rt5640 bytcr_rt5640: snd-soc-dummy-dai <-> media-cpu-dai сопоставление ок
[ 6.443678] bytcr_rt5640 bytcr_rt5640: snd-soc-dummy-dai <-> deepbuffer-cpu-dai сопоставление ок
[ 6.443724] сжатие asoc: snd-soc-dummy-dai <-> compress-cpu-dai сопоставление ок
[ 6.444599] bytcr_rt5640 bytcr_rt5640: rt5640-aif1 <-> ssp0-port сопоставление ок
[ 6.447420] devm_snd_soc_register_card Успех вызова platform_set_drvdata 0
[ 6.447422] Audio Probbed snd_byt_rt5640_mc_probe возвращает 
[ 10.603446] ASoC: Baytrail Audio Port нет действительного маршрута захвата
[ 10.603455] soc_pcm_open вызван 
[ 10.603457] ASoC: cpu_dai->name media-cpu-dai
[ 10.654754] SST_IPC ***IPC_IA_FW_INIT_CMPLT_MRFLD: RX ***
[ 10.654757] SST_IPC *** Сообщение инициализации прошивки пришло***
[ 10.654765] intel_sst_acpi 80860F28:00: Версия прошивки 01.0c.00.01
[ 10.654766] Версия прошивки RX 01.0c.00.01
[ 10.654768] Дата сборки RX Mar 4 2015 Время 22:09:57
[ 10.654797] platform->component.name = sst-mfld-platform
[ 10.654800] ASoC: старт кодека cpu_dai->name media-cpu-dai
[ 10.655173] Baytrail Audio Port: ASoC: нет включенных DAIs для Baytrail Audio Port
[ 10.655711] Baytrail Audio Port: ASoC: нет включенных DAIs для Baytrail Audio Port
[ 10.655970] Baytrail Audio Port: ASoC: нет включенных DAIs для Baytrail Audio Port
----------------------------------------------------

Во время установки Gentoo на GPD Pocket у меня была такая же проблема, странным образом я обнаружил, что pulseaudio решает проблему… запустите его, и он завершится с ошибкой, но после этого вы сможете использовать aplay для воспроизведения wav-файла.

Вывод pulse audio, когда я его запускаю:

W: [pulseaudio] main.c: Эта программа не предназначена для запуска от имени root (если не указано --system).
Убито

Это вывод моего dmesg, если я пытаюсь использовать aplay до запуска pulseaudio, я использую ядро 4.14.0 (только что выпущено на момент написания):

[   98.209199] hci_uart_bcm serial0-0: BCM irq: 134
[   98.209250] usb 1-3: USB отключен, номер устройства 3
[   98.283103] Ошибка: Драйвер 'pcspkr' уже зарегистрирован, прерывание...
[   98.350269] rt5645 i2c-10EC5645:00: i2c-10EC5645:00 поставка avdd не найдена, используется дummies-регулятор
[   98.350316] rt5645 i2c-10EC5645:00: i2c-10EC5645:00 поставка cpvdd не найдена, используется дummies-регулятор
[   98.431735] Bluetooth: hci0: BCM: id чипа 101
[   98.432058] Bluetooth: hci0: BCM: особенности 0x2f
[   98.433075] Bluetooth: hci0: BCM4354A2
[   98.433080] Bluetooth: hci0: BCM4356A2 (001.003.015) сборка 0000
[   98.442394] bluetooth hci0: Прямое загрузка прошивки для brcm/BCM4356A2.hcd не удалось с ошибкой -2
[   98.442398] Bluetooth: hci0: BCM: Патч brcm/BCM4356A2.hcd не найден
[   98.547281] intel_sst_acpi 808622A8:00: LPE base: 0xa1600000 size:0x200000
[   98.547284] intel_sst_acpi 808622A8:00: IRAM base: 0xa16c0000
[   98.547346] intel_sst_acpi 808622A8:00: DRAM base: 0xa1700000
[   98.547359] intel_sst_acpi 808622A8:00: SHIM base: 0xa1740000
[   98.547366] intel_sst_acpi 808622A8:00: Mailbox base: 0xa1744000
[   98.547370] intel_sst_acpi 808622A8:00: DDR base: 0x20000000
[   98.547598] intel_sst_acpi 808622A8:00: Полученные данные drv max поток 25
[   98.612056] cht-bsw-rt5645 cht-bsw-rt5645: snd-soc-dummy-dai <-> media-cpu-dai сопоставление ок
[   98.612107] cht-bsw-rt5645 cht-bsw-rt5645: snd-soc-dummy-dai <-> deepbuffer-cpu-dai сопоставление ок
[   98.612131] сжатие asoc: snd-soc-dummy-dai <-> compress-cpu-dai сопоставление ок
[   98.612461] cht-bsw-rt5645 cht-bsw-rt5645: rt5645-aif1 <-> ssp2-port сопоставление ок
[   98.668833] input: chtrt5645 Headset как /devices/pci0000:00/808622A8:00/cht-bsw-rt5645/sound/card1/input14
[   99.043453] hpet1: потеряно 9601 прерываний rtc
[  190.221386] intel_sst_acpi 808622A8:00: Версия прошивки 01.0b.02.02
[  190.222291]  Audio Port: ASoC: нет включенных DAIs для Audio Port
[  230.054571]  Audio Port: ASoC: нет включенных DAIs для Audio Port

Если я пытаюсь воспроизвести обычный WAV-файл с помощью aplay -D hw:1,0 /file.wav, то получаю это сообщение об ошибке:

Воспроизведение WAVE '/file.wav' : Подписанный 16 битный Little Endian, Частота 44100 Гц, Стерео
Предупреждение: частота не точна (запрошенная = 44100 Гц, полученная = 48000 Гц)
     пожалуйста, попробуйте плагин plug
aplay: set_params:1361: Невозможно установить параметры hw:
ДОСТУП:  RW_INTERLEAVED
ФОРМАТ:  S16_LE
ПОДФОРМАТ:  STD
БИТЫ_СЕМПЛЯ: 16
БИТЫ_КАДРА: 32
КАНАЛЫ: 2
ЧАСТОТА: 48000
ВРЕМЯ_ПЕРИОДА: 125000
РАЗМЕР_ПЕРИОДА: 6000
БАЙТЫ_ПЕРИОДА: 24000
ПЕРИОДЫ: 4
ВРЕМЯ_БУФЕРИЗАЦИИ: 500000
РАЗМЕР_БУФЕРИЗАЦИИ: 24000
БАЙТЫ_БУФЕРИЗАЦИИ: 96000
ВРЕМЯ_ТИКА: 0

Замена hw на plughw не делает большой разницы.

Я постараюсь выяснить, какая часть pulseaudio решила проблему… это должно быть довольно просто, так как после устранения проблемы он завершился с ошибкой.

Ответ или решение

Решение проблемы с аудио на Baytrail: "ASoC: no backend DAIs enabled for Baytrail Audio Port"

Введение

В данной статье мы внимательно проанализируем проблему с отсутствием звука на платформе Baytrail при использовании кодека RT5640 на Ubuntu 16.04. Мы рассмотрим логи ядра, возможные источники проблем и шаги для их исправления. Если вы столкнулись с сообщениями об ошибках, подобными "ASoC: no backend DAIs enabled for Baytrail Audio Port", это руководство поможет вам определить и устранить причину данной неисправности.

Контекст проблемы

Пользователь, испытывающий трудности с настройкой аудио, подробно описал свои действия: он сконструировал ядро 4.10-Rc5 с учетом своего DSDT, который не содержал нужной информации о каналах (CHAN) для устройства (RTEK). Это привело к неоднократным попыткам включения аудио безуспешно. Кроме того, в одном из тестов использование pulseaudio частично решило проблему, однако само приложение выдало сообщение об ошибке.

Анализ логов ядра

Ниже приведены важные строки из логов, которые указывают на ключевые проблемы:

[ 6.427865] Audio Probbed byt_rt5640_cpu_dai_name ssp0-port 
[ 6.427875] bytcr_rt5640 bytcr_rt5640: Failed to get MCLK from pmc_plt_clk_3: -2
[10.603446] ASoC: Baytrail Audio Port no valid capture route
[10.655970] Baytrail Audio Port: ASoC: no backend DAIs enabled for Baytrail Audio Port
  1. Неудача в получении MCLK: Ошибка Failed to get MCLK from pmc_plt_clk_3: -2 указывает на проблемы с тактовыми сигналами (clocking). Возможно, аппаратные компоненты не корректно инициализированы, и это мешает правильной работе аудиочипа.

  2. Недоступные бэкенды DAI: Сообщение no backend DAIs enabled for Baytrail Audio Port говорит о том, что не установлены необходимые интерфейсы (DAI) для передачи аудиосигнала. Это может указывать на неправильные конфигурации или отсутствие драйверов.

Рекомендации по устранению

  1. Проверка конфигурации DSDT: Убедитесь, что ваша таблица DSDT содержит все необходимые записи об аудиоустройствах. Не стесняйтесь обращаться к документации для извлечения нужной информации из Windows.

  2. Параметры ядра: Попробуйте следующие параметры загрузки ядра:

    snd_soc_rt5640.force_private=1

    Это может помочь в активации дополнительных функций аудиодрайвера в случае его неправильной конфигурации.

  3. Обновление ядра: Первоначально использованное ядро 4.10 является устаревшим для вашего устройства. Рекомендуем обновить ядро до 4.14 или более поздней версии, так как в них могут быть исправлены многие ошибки, связанные с поддержкой новых технологий и чипов.

  4. Pulseaudio: Использование pulseaudio может временно улучшить состояние. Проверьте его конфигурации и убедитесь, что он запущен с правильными правами. Возможно, существует проблема с запуском как root, которая может блокировать функции.

  5. Использование APlay: Если aplay не работает корректно, попробуйте задать параметры устройства:

    aplay -D plughw:1,0 /file.wav

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

  6. Обращение к сообществу: Если проблемы продолжаются, рассмотрите возможность обращения к специализированным форумам или группам поддержки Linux, таким как ALSA или соответсвующие группы на GitHub.

Заключение

Проблема с отсутствием звука на устройствах Baytrail может быть вызвана многими факторами, начиная от неправильных конфигураций до физических ошибок оборудования. Ключ к успеху – это системный подход и анализ логов. Надеемся, что предложенные рекомендации помогут вам восстановить работу аудиоустройства. Будьте внимательны и терпеливы в процессе поиска решения!

Оцените материал
Добавить комментарий

Капча загружается...