제가 사랑하는 Ubuntu 18.04와 함께 Sony WH-1000MX3 Bluetooth 헤드폰을 사용하는 데 문제가 있습니다. Ubuntu는 헤드폰을 핸즈프리 장치로 사용할 수 없는 것 같습니다(진행 중인 모든 화상 통화에 유용함). 블루투스 프로필을 A2DP로 변경하여 오디오 출력에 헤드폰을 사용할 수 있게 되면서 문제가 부분적으로 해결되었습니다.블루 맨. 그러나 오디오 입력에 헤드폰을 사용하는 방법에 대한 솔루션을 아직 찾지 못했습니다(HSP/HFP 프로필이 필요한 것 같나요?).
처음에는 노트북의 Bluetooth가 호환되지 않을 수도 있다고 생각했지만 Windows 듀얼 부팅에서는 헤드셋이 제대로 작동했습니다. 그렇다면 문제는 하드웨어에 있어서는 안 될 것 같은데요?
게다가 Ubuntu 설정과 Pulseaudio는 헤드폰을 오디오 입력으로 인식하는 것 같지만 헤드폰에서 오디오가 수신되지 않습니다.
문제를 조사하는 동안 다음 줄을 발견했습니다 cat /var/log/syslog
.
Apr 23 09:46:31 mande-Lenovo-Y50-70 /usr/lib/gdm3/gdm-x-session[2754]: (II) event19 - CC:98:8B:80:DC:C3: is tagged by udev as: Keyboard
Apr 23 09:46:31 mande-Lenovo-Y50-70 /usr/lib/gdm3/gdm-x-session[2754]: (II) event19 - CC:98:8B:80:DC:C3: device is a keyboard
그 중 CC:98:8B:80:DC:C3은 헤드셋의 Mac 주소에 해당합니다.
내 친구가 udev 출력을 살펴보라고 제안했지만 의심스러운 점을 찾을 수 없었습니다. 헤드폰 연결을 위한 udevadm 출력은 다음과 같습니다.
mande@mande-Lenovo-Y50-70:~$ udevadm monitor -e
monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
KERNEL - the kernel uevent
KERNEL[1830.957404] add /devices/pci0000:00/0000:00:14.0/usb3/3-7/3-7:1.0/bluetooth/hci0/hci0:4 (bluetooth)
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:14.0/usb3/3-7/3-7:1.0/bluetooth/hci0/hci0:4
DEVTYPE=link
SEQNUM=6495
SUBSYSTEM=bluetooth
UDEV [1830.960384] add /devices/pci0000:00/0000:00:14.0/usb3/3-7/3-7:1.0/bluetooth/hci0/hci0:4 (bluetooth)
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:14.0/usb3/3-7/3-7:1.0/bluetooth/hci0/hci0:4
DEVTYPE=link
SEQNUM=6495
SUBSYSTEM=bluetooth
SYSTEMD_ALIAS=/sys/subsystem/bluetooth/devices/hci0:4
SYSTEMD_WANTS=bluetooth.target
TAGS=:systemd:
USEC_INITIALIZED=1830960145
KERNEL[1831.825857] add /devices/virtual/input/input23 (input)
ACTION=add
DEVPATH=/devices/virtual/input/input23
EV=100007
KEY=2fc800 145200000000 0 10300 49e800000c00 e16800000000f f810000010000ffc
MODALIAS=input:b0005v0000p0000e0000-e0,1,2,14,k71,72,73,8A,8B,A3,A5,A6,A7,A8,AB,AE,C8,C9,D0,161,164,166,16A,16C,18B,18E,18F,190,191,192,193,195,ramlsfw
NAME="CC:98:8B:80:DC:C3"
PRODUCT=5/0/0/0
PROP=0
REL=0
SEQNUM=6496
SUBSYSTEM=input
KERNEL[1831.825980] add /devices/virtual/input/input23/event19 (input)
ACTION=add
DEVNAME=/dev/input/event19
DEVPATH=/devices/virtual/input/input23/event19
MAJOR=13
MINOR=83
SEQNUM=6497
SUBSYSTEM=input
UDEV [1831.828331] add /devices/virtual/input/input23 (input)
ACTION=add
DEVPATH=/devices/virtual/input/input23
EV=100007
ID_BUS=bluetooth
ID_INPUT=1
ID_INPUT_KEY=1
KEY=2fc800 145200000000 0 10300 49e800000c00 e16800000000f f810000010000ffc
MODALIAS=input:b0005v0000p0000e0000-e0,1,2,14,k71,72,73,8A,8B,A3,A5,A6,A7,A8,AB,AE,C8,C9,D0,161,164,166,16A,16C,18B,18E,18F,190,191,192,193,195,ramlsfw
NAME="CC:98:8B:80:DC:C3"
PRODUCT=5/0/0/0
PROP=0
REL=0
SEQNUM=6496
SUBSYSTEM=input
TAGS=
답변1
오디오 입력에 HSP/HFP를 요구하는 것이 맞습니다. Bluetooth는 매우 까다로울 수 있으므로 항상 헤드폰을 잊어버리고 문제를 해결하도록 노력하십시오.
/usr/bin/pacmd list-sources
문제 해결을 돕기 위해 HSP/HSF 모드의 파란색 헤드폰 출력은 다음과 같습니다.
* index: 23
name: <bluez_source.00_16_94_1E_CC_05.headset_head_unit>
driver: <module-bluez5-device.c>
flags: HARDWARE HW_VOLUME_CTRL LATENCY
state: RUNNING
suspend cause: (none)
priority: 9050
volume: mono: 61166 / 93%
balance 0.00
base volume: 65536 / 100%
volume steps: 16
muted: no
current latency: 34.37 ms
max rewind: 0 KiB
sample spec: s16le 1ch 8000Hz
channel map: mono
Mono
used by: 1
linked by: 1
fixed latency: 28.00 ms
card: 9 <bluez_card.00_16_94_1E_CC_05>
module: 34
properties:
bluetooth.protocol = "headset_head_unit"
device.intended_roles = "phone"
device.description = "HD 4.40BT"
device.string = "00:16:94:1E:CC:05"
device.api = "bluez"
device.class = "sound"
device.bus = "bluetooth"
device.form_factor = "headset"
bluez.path = "/org/bluez/hci0/dev_00_16_94_1E_CC_05"
bluez.class = "0x240404"
bluez.alias = "HD 4.40BT"
device.icon_name = "audio-headset-bluetooth"
ports:
headset-input: Headset (priority 0, latency offset 0 usec, available: yes)
properties:
active port: <headset-input>
suspend cause: (none)
나는 나와 당신을 모두 볼 수 있지만 suspend cause:
그것이 내가 알 수 있는 유일한 차이점입니다.
참고로, 블루투스를 사용하다 보면 블루투스 서비스를 다시 시작하는 것만으로는 충분하지 않을 때가 있습니다. 나는 이것이 더 잘 작동한다고 생각합니다.
sudo rfkill block bluetooth && sleep 0.1 && sudo rfkill unblock bluetooth;