iec958 S/PDIF 입력 소리가 ​​들리지 않음 - 사운드 카드 USB CM106

iec958 S/PDIF 입력 소리가 ​​들리지 않음 - 사운드 카드 USB CM106

질문: 디지털 입력 S/PDIF / IEC958 소리가 나지 않습니다.

장비/소프트웨어: USB 외부 사운드 카드: CM106 - Ubuntu 20.04 LTS - GUI: Gnome-FlashBack

오디오 구성: FreeBox Player(프랑스 인터넷 TV 제공업체) - 디지털 출력 S/PDIF ==[TosLink]=> 사운드 카드 - 디지털 입력 S/PDIF

FreeBox 플레이어 구성: 패스스루 유무에 관계없이 기본 사운드 출력 S/PDIF


그래픽 pavucontrol 또는 펄스 명령줄 응답에 숫자 입력 iec958이 표시됩니다. 하지만 사운드 미터(vumeter)는 여전히 비어 있고 소리도 없고 신호도 없습니다.

FreeBox Player S/PDIF 출력을 확인할 수 있는 다른 사운드 장치가 없습니다.

디지털 신호/데이터가 있는지 확인할 수 있는 파일이 /sys, /proc 또는 /dev에 있습니까?

iec958 입력은 표시되지만 소리/신호는 표시되지 않습니까? 왜?

이를 작동시키기 위해 수행해야 할 특정 작업이 있습니까?

이 문제를 어떻게 해결하나요? 어디서 시작하나요? 어떤 단계를 거치나요?

나는 그것을 고치려고 많은 주말을 보냈고, 포럼을 읽었습니다. 내가 시도한 모든 것과 여기에서 자세히 설명하는 것을 기억할 수 없습니다. 이 문제 해결에 대한 귀하의 질문에 답변해 드리겠습니다.

당신의 도움을 주셔서 감사합니다.

답변1

pavucontrol에 입력 레벨이 표시되면 카드가 출력을 수신하고 있으며 이를 기록할 수 있어야 합니다.

내 경험상 연속 녹음/재생을 설정하는 것 외에는 펄스 오디오를 사용하여 카드를 라인 출력으로 전달하도록 카드를 구성할 수 있는 방법이 없습니다.

amixer를 사용하여 이를 변경할 수 있지만 이것은 카드에 따라 다르며 카드가 이 작업을 전혀 수행하지 못할 수 있으므로 지속적인(CPU를 소비하는) 루프백 솔루션이 있을 수 있습니다.

문제가 입력에 아무것도 표시되지 않는 것이라면 카드를 구성해야 합니다. pavucontrol에서 "디지털 스테레오(IEC958) 입력"과 같은 항목을 포함하도록 구성 아래의 프로필을 변경합니다.

고쳐 쓰다:

내 CM106 장치를 실험했는데 Linux 드라이버가 출력에 spdif 혼합을 지원하지 않는 것 같습니다.

그러나 데이터시트에 따르면(http://www.steila.com/usb4io/CMedia/CM106--L_F-Datasheet-1.3.pdf), 카드는 이를 지원합니다. 사실 몇 가지 실험을 통해 SPDIFMIX를 활성화하기 위해 레지스터 1에 값을 작성하여 이를 활성화했습니다(hidraw1은 USB 사운드 카드에 해당하는 hidraw 장치입니다. 연결되면 dmesg를 확인하세요).

perl -e 'print pack "H*", "002001b001"' >/dev/hidraw1

이는 레지스터를 전원 켜기 기본값(00b0) + SPDIFMIX 활성화(01b0)(리틀 엔디안)로 설정합니다.

다음 쉘 스크립트 해킹은 모든 "USB 사운드 장치"에 이 비트를 설정합니다. 이는 잘못된 카드와 함께 사용하면 위험할 수 있습니다.

#!/bin/sh

cd /sys/class/hidraw || exit
for dev in *; do
   set "$dev"/device/input/*/name
   read name <"$1"
   if [ "$name" = "USB Sound Device" ]; then
      echo "enabling SPDIFMIX on $dev"
      printf "\000\040\001\260\001" >/dev/"$dev"
   fi
done

관련 정보