Как отладить проблему аудиовхода Linux I2S

Я безуспешно пытаюсь подключить микрофон I2S (Invensense ICS43432) к моему Raspberry Pi (B+) под управлением Arch Linux. Я обратился за конкретным советом на соответствующий форум Arch Linux ARM, но мой вопрос на самом деле более общий: как отлаживать проблемы ввода звука в Linux?

Я проверил с помощью логического анализатора, что микрофон I2S отправляет разумные данные по правильному каналу (слева) и правильному контакту Raspberry Pi. Микрофон I2S отображается в ALSA как «звуковая карта». arecord вполне доволен записью с этого устройства, и я увеличил усиление этого устройства с помощью alsamixer на 30 дБ. Тем не менее, все байты данных записанного файла равны нулю.

Как проверить поток аудиоданных, работу DMA в Linux?


person Rob    schedule 30.01.2018    source источник
comment
Stack Overflow — это сайт для вопросов по программированию и разработке. Этот вопрос кажется не по теме, потому что он не о программировании или разработке. См. раздел О каких темах я могу задать здесь в Справочном центре. Возможно, обмен стеками Raspberry Pi, обмен стеками Интернета вещей или Unix & Linux Stack Exchange.   -  person jww    schedule 30.01.2018
comment
Не уверен, что понимаю: процесс отладки не является частью программирования и разработки? Само название StackOverflow предполагает, что это так. Это вопрос методологии, а не отладки для меня.   -  person Rob    schedule 30.01.2018


Ответы (1)


У меня была та же проблема, когда я пытался записать в стереорежиме, используя 2 прорывных микрофона Adafruit I2S MEMS: arecord работал нормально, но при использовании ALSA для записи в bin-файл были нулевые значения. Выбор 32-битного формата слова (32 бита Little Endian, Signed) заставил его работать. Только я получаю 64-битные стереофреймы.

person Willem    schedule 27.02.2019