질문: 디지털 입력 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