저는 현재 Atmel SAMA5D2 xplained 평가 보드에 내장된 맞춤형 Linux와 함께 작동하도록 Sennheiser MM450-X 헤드폰을 얻으려고 노력하고 있습니다.
페어링해서 연결할 수 있는데 소리를 재생하려고 하면 헤드폰에서 아무 소리도 들리지 않습니다.
나는 blueZ v5와 pulseaudio v9를 사용합니다.
블루투스 데몬 시작 로그
Jan 1 05:48:53 buildroot bluetoothd[204]: Bluetooth daemon 5.46
Jan 1 05:48:53 buildroot bluetoothd[204]: Unknown key PageTimeout in main.conf
Jan 1 05:48:53 buildroot bluetoothd[204]: Unknown key InitiallyPowered in main.conf
Jan 1 05:48:53 buildroot bluetoothd[204]: Unknown key RememberPowered in main.conf
Jan 1 05:48:53 buildroot bluetoothd[204]: Unknown key EnableGatt in main.conf
Jan 1 05:48:53 buildroot bluetoothd[204]: Starting SDP server
Jan 1 05:48:53 buildroot bluetoothd[204]: Bluetooth management interface 1.14 initialized
Jan 1 05:48:53 buildroot bluetoothd[204]: Sap driver initialization failed.
Jan 1 05:48:53 buildroot bluetoothd[204]: sap-server: Operation not permitted (1)
Jan 1 05:48:53 buildroot pulseaudio[174]: [pulseaudio] bluez4-util.c: org.bluez.Manager.GetProperties() failed: org.freedesktop.DBus.Error.UnknownMethod: Method "GetProperties" with signature "" on interface "org.bluez.Manager" doesn't exist
Jan 1 05:48:53 buildroot bluetoothd[204]: Endpoint registered: sender=:1.0 path=/MediaEndpoint/A2DPSource
Jan 1 05:48:53 buildroot bluetoothd[204]: Endpoint registered: sender=:1.0 path=/MediaEndpoint/A2DPSink
헤드폰에 연결하면
Jan 1 05:51:51 buildroot bluetoothd[204]: Control: Refusing unexpected connect
Jan 1 05:51:52 buildroot kernel: input: 00:16:94:0B:90:02 as /devices/virtual/input/input1
모든 블루투스 모듈이 로드된 것으로 나타납니다.
# pactl list short | grep blue
11 module-bluetooth-discover
12 module-bluez5-discover
13 module-bluez4-discover
14 module-bluetooth-policy
16 module-bluez5-device path=/org/bluez/hci0/dev_00_16_94_0B_90_02
2 bluez_sink.00_16_94_0B_90_02 module-bluez5-device.c s16le 1ch 8000Hz SUSPENDED
3 bluez_sink.00_16_94_0B_90_02.monitor module-bluez5-device.c s16le 1ch 8000Hz SUSPENDED
4 bluez_source.00_16_94_0B_90_02 module-bluez5-device.c s16le 1ch 8000Hz SUSPENDED
2 bluez_card.00_16_94_0B_90_02 module-bluez5-device.c
헤드셋 수신기가 구성되었습니다.
# pactl list sinks
Sink #0
State: SUSPENDED
Name: alsa_output.platform-fc048000.classd.analog-stereo
Description: CLASSD Analog Stereo
Driver: module-alsa-card.c
Sample Specification: s16le 2ch 44100Hz
Channel Map: front-left,front-right
Owner Module: 1
Mute: no
Volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 / 100% / 0.00 dB
balance 0.00
Base Volume: 65536 / 100% / 0.00 dB
Monitor Source: alsa_output.platform-fc048000.classd.analog-stereo.monitor
Latency: 0 usec, configured 0 usec
Flags: HARDWARE DECIBEL_VOLUME LATENCY
Properties:
alsa.resolution_bits = "16"
device.api = "alsa"
device.class = "sound"
alsa.class = "generic"
alsa.subclass = "generic-mix"
alsa.name = ""
alsa.id = "CLASSD PCM atmel-classd-hifi-0"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.device = "0"
alsa.card = "0"
alsa.card_name = "CLASSD"
alsa.long_card_name = "CLASSD"
device.bus_path = "platform-fc048000.classd"
sysfs.path = "/devices/soc0/ahb/ahb:apb/fc048000.classd/sound/card0"
device.string = "hw:0"
device.buffering.buffer_size = "17632"
device.buffering.fragment_size = "4408"
device.access_mode = "mmap"
device.profile.name = "analog-stereo"
device.profile.description = "Analog Stereo"
device.description = "CLASSD Analog Stereo"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card"
Ports:
analog-output: Analog Output (priority: 9900)
Active Port: analog-output
Formats:
pcm
Sink #1
State: SUSPENDED
Name: bluez_sink.00_16_94_0B_90_02
Description: Sennheiser MM450-X
Driver: module-bluez5-device.c
Sample Specification: s16le 1ch 8000Hz
Channel Map: mono
Owner Module: 15
Mute: no
Volume: mono: 65536 / 100%
balance 0.00
Base Volume: 65536 / 100%
Monitor Source: bluez_sink.00_16_94_0B_90_02.monitor
Latency: 0 usec, configured 0 usec
Flags: HARDWARE HW_VOLUME_CTRL LATENCY
Properties:
bluetooth.protocol = "headset_head_unit"
device.intended_roles = "phone"
device.description = "Sennheiser MM450-X"
device.string = "00:16:94:0B:90:02"
device.api = "bluez"
device.class = "sound"
device.bus = "bluetooth"
device.form_factor = "headset"
bluez.path = "/org/bluez/hci0/dev_00_16_94_0B_90_02"
bluez.class = "0x240404"
bluez.alias = "Sennheiser MM450-X"
device.icon_name = "audio-headset-bluetooth"
Ports:
headset-output: Headset (priority: 0)
Active Port: headset-output
Formats:
pcm
헤드폰 수신기 구성을 설정한 후 헤드폰 출력에서 소리가 재생되지 않습니다.
# pactl set-default-sink 1
# pactl set-sink-volume 1 65535
# aplay ChillingMusic.wav
Playing WAVE 'ChillingMusic.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
#
Debian 9 시스템에서 똑같은 구성을 시도했는데 거의 동일한 로그 메시지가 사용되었습니다.
Oct 23 16:29:31 PC325 bluetoothd[31058]: Unable to connect Headset Voice gateway: connect: Device or resource busy (16)
Oct 23 16:29:31 PC325 bluetoothd[31058]: Connecting Headset Voice gateway failed: Input/output error
Oct 23 16:29:33 PC325 bluetoothd[31058]: Control: Refusing unexpected connect
Oct 23 16:29:35 PC325 bluetoothd[31058]: /org/bluez/hci0/dev_00_16_94_0B_90_02/fd3: fd(25) ready
더 이상 진행할 수 없으며 이미 동일한 질문을 추가한 사람이 있는지 궁금합니다.
추가 디버깅을 위한 몇 가지 제안을 받게 되어 기쁩니다.
답변1
aplay
나는 결국 문제가 사용법에 있다는 것을 깨달았습니다 paplay
.
Debian 호스트에서는 작동하지만 대상 Linux에서는 작동하지 않는 이유를 여전히 설명할 수 없지만 aplay
적어도 문제는 해결되었습니다.