LINUX.ORG.RU

Не могу захватить аудио устройство через arecord

 ,


0

1

Добрый день!

Команда arecord -l выдает:

**** List of CAPTURE Hardware Devices ****
card 0: wm8960audio [wm8960-audio], device 0: HiFi wm8960-hifi-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: amixaudiosai [amix-audio-sai], device 0: HiFi-AMIX-FE (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: My-audio [My-audio], device 0: 59810000.esai-dmic-hifi dmic-hifi-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Пытаюсь произвести захват:

arecord -D hw:2 -c8 -r48000 -fS32_LE -Vstereo  -twav test.wav
arecord: main:828: audio open error: No such device or address

В чем может быть проблема? Спасибо!

Ответ на: комментарий от Radjah

Запустил через strace:

openat(AT_FDCWD, "/dev/snd/pcmC2D0c", O_RDWR|O_NONBLOCK|O_CLOEXEC) = -1 ENXIO (No such device or address)

а в файловой системе этот файл есть

ziegfried
() автор топика
Ответ на: комментарий от ziegfried
$ arecord -L
...
hw:CARD=PCH,DEV=0
    HDA Intel PCH, ALC887-VD Analog
    Direct hardware device without any conversions
...

hw:CARD=PCH,DEV=0 - это «NAME» для ключа -D.

Radjah ★★★★★
()
Ответ на: комментарий от Radjah

У меня почему-то DEV не выводится

#arecord -L
null
    Discard all samples (playback) or generate zero samples (capture)
pulse
    PulseAudio Sound Server
sysdefault:CARD=wm8960audio
    wm8960-audio, 
    Default Audio Device
sysdefault:CARD=amixaudiosai
    amix-audio-sai, 
    Default Audio Device
sysdefault:CARD=myaudio
    my-audio, 
    Default Audio Device
ziegfried
() автор топика
Ответ на: комментарий от Radjah

Так если у меня выхлоп другой, может конфиги какие надо поправить или это в драйвер надо лезть по любому?

ziegfried
() автор топика
Ответ на: комментарий от ziegfried

Так если у меня выхлоп другой

Под дурачка косим? С «дурачками» общаться здесь не будут, только нахуй пошлют. Думай…

anonymous
()
Ответ на: комментарий от ziegfried

ENXIO

это не ENOENT, это значит, что само устройство не отвечает или отсутствует.

-c8 -Vstereo

The stereo VU-meter is available only for 2-channel stereo samples

а у тебя 8 каналов. попробуй -c2.

anonymous
()
Ответ на: комментарий от ziegfried

а попробуй -D plughw:2

в dmesg никаких интересных сообщений насчёт карточки нету?

anonymous
()
Ответ на: комментарий от ziegfried

тоже самое

А что rec (sox) по этому поводу говорит?

anonymous
()

arecord: main:828: audio open error: No such device or address

попробуйте прописать микрофон на esai0 вместо кодека sound-cs42888, возможно по умолчанию в BSP NXP esai1 сконфигурирован не для основного CPU а для вспомогательного ядра - там есть еще ядра cortex-m4 и DSP. Для этого надо убрать из DTS cs42888

https://source.codeaurora.org/external/imx/linux-imx/tree/arch/arm64/boot/dts...

тут поменять на

	sound-cs42888 {
....
		status = "disabled";

тут поменять на esai0

Добаление звуковой карты на интерфейсе ESAI на imx (комментарий)

		sound2_esai: simple-audio-card,cpu {
			sound-dai = <&esai0>;
		};

и добавить для esai0 #sound-dai-cells = <0>;

https://source.codeaurora.org/external/imx/linux-imx/tree/arch/arm64/boot/dts...

&esai0 {
        #sound-dai-cells = <0>;
	pinctrl-names = "default";
....

если arecord запустится (работать естественно не будет потому реально микрофон подключен не на esai0) то дальше искать что не так с esai1.

spbob
()
Ответ на: комментарий от spbob

Спасибо за совет, после замены на esai0,при захвате происходит др. ошибка:

ioctl(4, SNDRV_PCM_IOCTL_HW_REFINE, 0xffffe86257b0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HW_PARAMS, 0xffffe86257b0) = -1 EINVAL (Invalid argument)


root@imx8qmmek:~#  arecord -D hw:2 -c2  -fS24_LE   --max-file-time 30 -t wav test.wav
Recording WAVE 'test.wav' : Signed 24 bit Little Endian, Rate 8000 Hz, Stereo
arecord: set_params:1403: Unable to install hw params:
ACCESS:  RW_INTERLEAVED
FORMAT:  S24_LE
SUBFORMAT:  STD
SAMPLE_BITS: 32
FRAME_BITS: 64
CHANNELS: 2
RATE: 8000
PERIOD_TIME: 126000
PERIOD_SIZE: 1008
PERIOD_BYTES: 8064
PERIODS: 4
BUFFER_TIME: 504000
BUFFER_SIZE: 4032
BUFFER_BYTES: 32256
TICK_TIME: 0

Те получается надо забираться во вн настройку ядер типа SCFW, хотя судя по блок-схеме процессора ESAI0 от ESAI1 не отличаются(не смог загрузить на форум изображение, не нашел кнопку)))

ziegfried
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.