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>
141 lines
7.0 KiB
Markdown
141 lines
7.0 KiB
Markdown
# 문제 해결
|
|
|
|
## 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 오디오 승인/연결이 안 된 경우가 있습니다:
|
|
|
|
```bash
|
|
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가 소리를 보내는 헤드폰/스피커입니다.
|
|
이 두 목록은 입력과 출력을 구별하는 중요한 확인 지점입니다.
|
|
|
|
## 헤드폰에서 소리가 안 남
|
|
|
|
```bash
|
|
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 무음/끊김
|
|
|
|
```bash
|
|
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`인지 확인합니다:
|
|
|
|
```bash
|
|
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
|
|
bash scripts/check-build.sh
|
|
```
|
|
|
|
## 웹 화면에 접속되지 않음
|
|
|
|
```bash
|
|
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`로 갱신하세요.
|