Files
Radxa_MIXER/TROUBLESHOOTING.md
jsahnandClaude Opus 5.5 767b1c8963 Mix inputs at 0 dB instead of -3 dB
The common attenuation made playback too quiet. Inputs are now summed
without attenuation; docs note that loud simultaneous inputs can clip.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 18:27:32 +09:00

7.0 KiB

문제 해결

Bluetooth 이름이 안 보임

보드는 평소 검색 숨김 상태입니다. 새 휴대폰을 입력으로 등록하려면 웹 믹서의 Bluetooth 입력 등록 → 검색 허용 켜기를 누르거나 sudo radxa-audio discoverable on --seconds 300을 실행합니다. 정한 시간이 지나면 다시 숨겨집니다. 켜졌는데도 안 보이면 bluetoothctl show의 Discoverable: yes와 journalctl -u radxa-bt-pairing을 확인하세요. 이미 신뢰 등록한 장비는 검색 모드를 계속 켜 두지 않아도 다시 연결할 수 있습니다.

헤드폰을 출력으로 연결하려면 헤드폰 자체의 페어링 모드를 켠 뒤 sudo radxa-audio scan을 실행합니다. 헤드폰의 BLE 주소가 아니라 Bose QC Headphones처럼 음악 장비로 표시되는 주소를 사용합니다.

휴대폰에 ‘연결됨’이지만 출력 선택에 없음

페어링만 됐고 A2DP 오디오 승인/연결이 안 된 경우가 있습니다:

sudo radxa-audio devices
sudo radxa-audio pair 휴대폰MAC주소
sudo bluealsa-aplay -l

List of CAPTURE Bluetooth Devices에 휴대폰과 A2DP (SBC)가 있으면 Radxa가 휴대폰 소리를 받을 경로가 잡힌 상태입니다. 아이폰에서 출력 목록을 닫았다가 다시 열어 선택합니다.

List of PLAYBACK Bluetooth Devices는 Radxa가 소리를 보내는 헤드폰/스피커입니다. 이 두 목록은 입력과 출력을 구별하는 중요한 확인 지점입니다.

헤드폰에서 소리가 안 남

sudo radxa-audio status
sudo journalctl -u radxa-bt-output -u bluealsa -u bluealsa-aplay -n 60 --no-pager
  • 출력 설정이 bluetooth인지 확인합니다.
  • 헤드폰이 켜져 있고 PLAYBACK 목록에 나타나는지 확인합니다.
  • 휴대폰은 헤드폰에 직접 보내는 대신 Radxa Bluetooth를 선택합니다.
  • MacBook은 Radxa AirPlay를 다시 선택합니다.
  • 블루투스 출력은 헤드폰 버튼으로도 볼륨을 조절합니다.
  • 문제를 분리하려면 sudo radxa-audio output dac으로 돌아가 같은 입력이 들리는지 확인합니다.

AirPlay 무음/끊김

sudo journalctl -u shairport-sync -u nqptp -n 60 --no-pager
ping -c 20 공유기IP
aplay -l

기준 Zero 3W에서는 AIC 드라이버의 Wi-Fi 6(HE)을 끄고 전원 절약을 끈 뒤 끊김이 해결됐습니다. Wi-Fi 6 표준 자체가 원인이라고 단정한 것은 아닙니다. 드라이버/공유기 조합의 호환 문제로 보고 동일 드라이버에만 옵션을 적용합니다.

--wifi5로 설치했다면 재부팅 후 다음 값이 N인지 확인합니다:

cat /sys/module/aic8800_fdrv/parameters/he_on
cat /sys/module/aic8800_fdrv/parameters/ps_on

다른 무선 드라이버에는 이 경로/옵션이 없습니다.

같은 소리를 헤드폰과 스피커에서 듣는데 시차가 남

블루투스 인코딩/무선 전송에는 지연이 추가됩니다. 이 자료는 DAC 또는 블루투스 중 하나를 출력으로 선택하며, 두 출력의 동기 재생은 지원하지 않습니다.

여러 입력을 더하면 찢어짐

입력은 감쇠 없이(0 dB) 섞으므로 두 입력이 동시에 크게 재생되면 합이 최대치를 넘을 수 있습니다. 입력 수가 늘어나면 각 기기의 볼륨을 더 낮춰 합산 클리핑을 피해야 합니다. 최대 안정적인 블루투스 동시 입력 수는 보드 컨트롤러/드라이버와 실제 재생으로 검증해야 합니다.

설치 실패

오류 메시지와 설치 전 백업 경로를 확인합니다. apt-get update의 저장소 버전 확인 요청이나 네트워크 오류부터 해결한 뒤 재실행합니다.

modinfo snd-aloop 실패는 해당 Armbian 커널에 ALSA Loopback 모듈이 없는 경우입니다. 커널에 모듈이 준비되기 전에는 블루투스 믹스 출력 설치를 진행하지 않습니다.

소스/서비스를 바꾸지 않고 빌드만 확인하려면, 필요한 개발 패키지가 설치된 보드에서 다음을 실행합니다:

bash scripts/check-build.sh

웹 화면에 접속되지 않음

sudo systemctl status radxa-mixer-web --no-pager
sudo journalctl -u radxa-mixer-web -n 40 --no-pager

주소는 http://radxa-mixer.local(80번 포트)입니다. 출력 장비가 꺼져 있어도 화면은 접속 가능해야 합니다. .local만 안 열리면 systemctl status avahi-daemon과 hostname을 확인하고, 게스트 Wi-Fi처럼 기기 간 멀티캐스트가 막힌 네트워크에서는 IP 주소로 접속하세요. 브라우저를 새로고침하면 재시작 후 바뀐 요청 토큰이 갱신됩니다.

AirPlay 입력이 ‘제어 준비 중’으로 표시됨

shairport-sync -V에 dbus가 있는지 확인합니다. D-Bus 기능과 이 패키지의 네이티브 볼륨 패치가 없는 기존 바이너리는 웹 볼륨 제어를 지원하지 않습니다.

Bluetooth 입력을 헤드폰으로 다시 보낼 때 끊김

journalctl -u bluealsa -u bluealsa-aplay -u radxa-bt-output --since "5 min ago" 에서 Missing RTP packets는 입력 수신 패킷 손실, underrun/overrun은 오디오 버퍼 오류를 뜻합니다. 수신 손실은 버퍼만 늘려 복구되지 않습니다. 같은 입력을 DAC로 보낼 때와 Bluetooth 출력으로 보낼 때를 비교하세요. 기준 보드에서는 버퍼만 500 ms로 늘려서는 끊김이 남았고, 송신 SBC 품질을 high에서 medium으로 낮춘 뒤(bluealsa --sbc-quality=medium) 해결됐습니다. 같은 컨트롤러로 수신과 송신을 동시에 하므로 송신 전송량이 수신 손실에 영향을 줍니다. SBC medium 적용 후에는 500 ms 버퍼가 필요 없어 믹서(dmix), Bluetooth 입력 (bluealsa-aplay), 헤드폰 송신(alsaloop) 버퍼를 각각 200 ms로 줄였습니다. 버퍼를 다시 늘리면 지연이 그만큼 늘어나므로, 끊김이 생기면 먼저 로그로 수신 손실인지 버퍼 오류인지 구분하세요.

청취 확인 시에는 bluealsa-aplay -l의 PLAYBACK 목록에 헤드폰이 있는지 먼저 봅니다. 없으면 헤드폰이 휴대폰에 직접 연결돼 Radxa를 거치지 않은 소리일 수 있습니다.

Bluetooth 컨트롤러 점검

기준 AIC 보드에서 데몬/하드웨어 초기화 중 UART 컨트롤러가 오류 상태에 들어가 /sys/class/bluetooth/hci0는 있어도 bluetoothctl list가 비는 경우를 확인했습니다. hciconfig -a, btmgmt info, dmesg로 확인하고, Bluetooth 초기화 서비스로 풀리지 않으면 재부팅 후 다시 확인합니다. 페어링 기록을 먼저 삭제하지 마세요.

웹의 출력 목록·검색 결과가 비어 있음

/api/state의 issues에 Failed to create new json object가 보이면 BlueZ 기기 속성을 JSON으로 변환하지 못한 것입니다. Apple 기기의 광고 데이터(ManufacturerData)가 원인이었으며, 현재 버전은 필요한 속성만 읽어 이 문제를 피합니다. 오래된 웹 파일이 설치돼 있다면 sudo bash scripts/install-web.sh로 갱신하세요.