LINUX.ORG.RU

Cubietruck и его S/PDIF

 , ,


1

3

Заводил ли кто-нибудь на Cubietruck'е S/PDIF-выход? У меня выход в девайсах присутствует, aplay работает, /proc/asound/card1/pcm0p/sub0/* меняются, кабель светится — а внешний DAC молчит. Такое впечатление, что выставлена нулевая громкость или mute, но контролов у sunxi-sndspdif никаких нет.

$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: sunxicodec [sunxi-CODEC], device 0: M1 PCM [sunxi PCM]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: sunxisndspdif [sunxi-sndspdif], device 0: SUNXI-SPDIF sndspdif-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: sunxisndhdmi [sunxi-sndhdmi], device 0: SUNXI-HDMIAUDIO sndhdmi-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
$ grep spdif /boot/script.fex 
[spdif_para]
spdif_used = 1
spdif_mclk = port:PB03<4><1><default><default>
spdif_din = port:PB12<4><1><default><default>
spdif_dout = port:PB13<4><1><default><default>

Как видите, прописал на всякий случай spdif_mclk и spdif_din — никакой реакции; пробовал ставить spdif_dout output_level в 1, результат тот же.

$ cat /proc/asound/card1/pcm0p/sub0/hw_params 
access: RW_INTERLEAVED
format: S16_LE
subformat: STD
channels: 2
rate: 44100 (44100/1)
period_size: 5513
buffer_size: 22052

DAC рабочий, проверено. /etc/asound.conf пока пустой.


Такое впечатление, что выставлена нулевая громкость или mute

А amixer/alsamixer, что по этому поводу говорит?

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

А amixer/alsamixer, что по этому поводу говорит?

Говорят, что у sunxi-sndspdif контролов нет; у аналогового sunxi-codec напереключал всё, что можно было:

$ amixer -c0
Simple mixer control 'Master',0
  Capabilities: pvolume pvolume-joined
  Playback channels: Mono
  Limits: Playback 0 - 63
  Mono: Playback 44 [70%]
Simple mixer control 'LineL',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [off]
Simple mixer control 'LineR',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [off]
Simple mixer control 'Mic Input Mux',0
  Capabilities: volume volume-joined
  Playback channels: Mono
  Capture channels: Mono
  Limits: 0 - 15
  Mono: 0 [0%]
Simple mixer control 'Playback',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [off]
Simple mixer control 'Fm output',0
  Capabilities: volume volume-joined
  Playback channels: Mono
  Capture channels: Mono
  Limits: 0 - 7
  Mono: 0 [0%]
Simple mixer control 'FmL',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [off]
Simple mixer control 'FmR',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [off]
Simple mixer control 'Ldac Left Mixer',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [off]
Simple mixer control 'Ldac Right Mixer',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [off]
Simple mixer control 'MIC output volume',0
  Capabilities: volume volume-joined
  Playback channels: Mono
  Capture channels: Mono
  Limits: 0 - 7
  Mono: 0 [0%]
Simple mixer control 'Rdac Right Mixer',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [off]

Playback, Ldac/Rdac включал, громкости все в 100% выставлял — как мёртвому припарки.

ksa242 ()

Заработало. Не могу точно сказать, патч помог или перетыкание кабеля туда-сюда притёрло его — копеечно-пластмассового — к разъёму, но звук появился.

ksa242 ()

Кстати говоря, если у вас mpv, используя ALSA и S/PDIF-выход, вешает систему после снятия с паузы — найдите в audio/out/ao_alsa.c строку:

p->can_pause = snd_pcm_hw_params_can_pause(alsa_hwparams);

…и замените её на:

p->can_pause = 0;
ksa242 ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.