Здравствуйте!
Умею обращаться с alsa-utils, такими как arecord и aplay, могу выбирать устройства для записи. На компьютере запись с микрофона и воспроизведение работают. Возникла необходимость создать устройство портативной записи. Судорожно перебираю все имеющиеся отладочные платы с аудиовходом. BeagleBoard и PandaBoard показали полную неработоспособность устройств захвата аудио, хоть они и определяются в системе, но по факту не работает.
Тут я обратил внимание на SK-AT91SAM9G45-XC6SLX. При включении в наушниках слышу характерный щелчек, но aplay /dev/urandom не слышно в наушниках, хотя alsamixer все каналы выкручены на середину громкости.
При загрузке:
Как я указал выше, полное молчание при aplay /dev/urandom, хотя alsamixer всё выставлено на средние уровни. Устройство захвата (записи с микрофона) программой arecord тоже видится.
Вопрос:
Работает ли функция воспроизведения аудио вообще? Может это фантомно осталась поддержка в ядре, но не проверялась разработчиком платы?
Заработало после этих команд! А вызываю alsamixer - опять всё замолкает. Значит буду через amixer действовать.
Ладно, с наушниками понятно, а вот теперь буду биться с микрофоном! update
Вот так заработал микрофон. Правда тихо, потом разберусь как усилить, главное что заработало всё.
Позволю себе добавить сюда, что бы не плодить темы.
У меня похожая проблема плата SK-LCD800x480-MB и модуль SK-iMX6S-SODIMM.
При загрузке
ALSA device list:
#0: imx-tlv320
#1: imx-spdif
#2: imx-hdmi-soc
# aplay -L
null
Discard all samples (playback) or generate zero samples (capture)
sysdefault:CARD=imxtlv320
imx-tlv320,
Default Audio Device
sysdefault:CARD=imxspdif
imx-spdif,
Default Audio Device
sysdefault:CARD=imxhdmisoc
imx-hdmi-soc,
Default Audio Device
Команда aplay /dev/urandom никакого эффекта не вызывает, смотрел осциллографом выходы I2C_TXFS, I2C_TXD, I2C_TXC - постоянный уровень. Пользовательская программа на QT запускается и работает, кроме звука. Есть аналогичный проект на плате SK-iMX6S-OEM там звук есть (и осциллогафом видны пачки импульсов). Заметил что на рабочей плате есть /dev/mixer а у меня он отсутствует может чего включить надо. Подскажите пжлста.
У меня есть, специально изготовленная плата на которой распаян аудиокодек tlv320aic23 и УНЧ. Она заведомо исправна, т.к. прекрасно работает с платой SK-iMX6S-OEM. Осциллографом смотрю сигналы на входе микросхемы-кодека, которые соединены в выходами платы I2C_TXFS, I2C_TXD, I2C_TXC... и на них при aplay /dev/urandom видны прямоугольные импульсы.
В нашем случае на SK-LCD800x480-MB выходы I2C_TXFS, I2C_TXD, I2C_TXC это разъем Х6(контакты 78,80,82,84,86) или разъем Х10 (контакты 31,30,29,28,27) именно там я пытаюсь увидеть такие же прямоугольные импульсы, но ничего нет.
потому что DTS для нее написан. В принципе подключить можно куда угодно но для этого надо иправить DTS под вашу плату. Потом проверьте что есть тактируюший сигнал на выходе x10 - 27 (I2S_MCLK) - там должно появиться 12 МГц.
Возможно я путанно объясняю... проблема врядли в неправильном подключении кодека. Я беру вашу МВ (штатную SK-LCD800x480-MB) на ней установлен ваш же модуль SK-iMX6S-SODIMM. Согласно схеме SK-LCD800x480-MB разъемХ6(контакты 78,80,82,84,86) разведены на разъем Х10 (контакты 31,30,29,28,27) этой же МВ. Так вот подаю +5В в терминале вижу загрузку, на экране работает программа пользователя, а на Х10:27 частоты 12МГц нет. Файл imx6qdl-sodimm.dtsi я конечно менял, чтобы приспособить матричную клавиатуру, но в разделы связанные со звуком и и2с вроде не лез. На всякий случай вот ссылка на него https://yadi.sk/d/rKSWJxou3Xfb6Q
возможно вы не поняли...подключите I2C как на штатной MB - без него ничего работать не будет. Вы подключили только интерфейсную часть по которой происходит обмен данными - I2S, настройка кодека осуществляется по I2C.