Bluetooth-гарнитура Звук HSP / HFP не работает, но микрофон работает

Как и многие другие, меня беспокоили проблемы с bluetooth-гарнитурой (SONY WH-H900N). Я прекрасно могу подключиться, используя A2DP, и даже LDAC работает благодаря pulseaudio-modules-bt . Однако в тот момент, когда я возвращаюсь к качеству, чтобы использовать свою гарнитуру в качестве приемника и источника, я начинаю слышать некоторый шум (который, я думаю, ожидается при этом кодеке низкого качества), но звука не слышно.

Мои проблемы отличались от некоторых других проблем с гарнитурой по двум причинам:

  1. Раньше она работала (последнее тестирование около 6 месяцев назад).
  2. Микрофон работает, просто вывода звука нет.

Информация о системе:

bram@bram-Zbook:~$ inxi -Fxz
System:    Kernel: 5.8.0-48-generic x86_64 bits: 64 compiler: N/A Desktop: Gnome 3.36.7 
           Distro: Ubuntu 20.04.2 LTS (Focal Fossa) 
Machine:   Type: Laptop System: HP product: HP ZBook Studio G3 v: N/A serial: <filter> 
           Mobo: HP model: 80D4 v: KBC Version 11.75 serial: <filter> UEFI: HP v: N82 Ver. 01.52 date: 10/28/2020 
Battery:   ID-1: BAT0 charge: 47.8 Wh condition: 49.1/64.0 Wh (77%) model: Hewlett-Packard Primary status: Unknown 
CPU:       Topology: Quad Core model: Intel Core i7-6700HQ bits: 64 type: MT MCP arch: Skylake-S rev: 3 L2 cache: 6144 KiB 
           flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 41599 
           Speed: 3262 MHz min/max: 800/3500 MHz Core speeds (MHz): 1: 3188 2: 3251 3: 3291 4: 3447 5: 3277 6: 3151 7: 3251 
           8: 3242 
Graphics:  Device-1: Intel HD Graphics 530 vendor: Hewlett-Packard driver: i915 v: kernel bus ID: 00:02.0 
           Device-2: NVIDIA GM107GLM [Quadro M1000M] vendor: Hewlett-Packard driver: nvidia v: 450.102.04 bus ID: 01:00.0 
           Display: x11 server: X.Org 1.20.9 driver: modesetting,nvidia unloaded: fbdev,nouveau,vesa 
           resolution: 1920x1080~60Hz, 2560x1440~60Hz 
           OpenGL: renderer: Mesa Intel HD Graphics 530 (SKL GT2) v: 4.6 Mesa 20.2.6 direct render: Yes 
Audio:     Device-1: Intel 100 Series/C230 Series Family HD Audio vendor: Hewlett-Packard driver: snd_hda_intel v: kernel 
           bus ID: 00:1f.3 
           Device-2: NVIDIA GM107 High Definition Audio [GeForce 940MX] vendor: Hewlett-Packard driver: snd_hda_intel 
           v: kernel bus ID: 01:00.1 
           Device-3: Conexant Systems (Rockwell) HP Dock Audio type: USB driver: hid-generic,snd-usb-audio,usbhid 
           bus ID: 3-2:3 
           Sound Server: ALSA v: k5.8.0-48-generic 
Network:   Device-1: Intel Ethernet I219-LM vendor: Hewlett-Packard driver: e1000e v: 3.2.6-k port: efa0 bus ID: 00:1f.6 
           IF: enp0s31f6 state: down mac: <filter> 
           Device-2: Intel Wireless 8260 driver: iwlwifi v: kernel port: 4000 bus ID: 03:00.0 
           IF: wlp3s0 state: up mac: <filter> 
           Device-3: Broadcom and subsidiaries NetXtreme BCM57762 Gigabit Ethernet PCIe driver: tg3 v: kernel port: 4000 
           bus ID: 3f:00.0 
           IF: enp63s0 state: up speed: 1000 Mbps duplex: full mac: <filter> 
Drives:    Local Storage: total: 2.29 TiB used: 284.32 GiB (12.2%) 
           ID-1: /dev/nvme0n1 vendor: Samsung model: MZVPV256HDGL-00000 size: 238.47 GiB 
           ID-2: /dev/sda vendor: SanDisk model: SD7TN3Q-256G-1006 size: 238.47 GiB 
           ID-3: /dev/sdb type: USB vendor: Western Digital model: WD My Passport 2626 size: 1.82 TiB 
Partition: ID-1: / size: 226.34 GiB used: 85.37 GiB (37.7%) fs: ext4 dev: /dev/nvme0n1p3 
           ID-2: /home size: 233.73 GiB used: 197.74 GiB (84.6%) fs: ext4 dev: /dev/sda1 
           ID-3: swap-1 size: 7.45 GiB used: 6.2 MiB (0.1%) fs: swap dev: /dev/nvme0n1p2 
Sensors:   System Temperatures: cpu: 60.0 C mobo: 52.0 C 
           Fan Speeds (RPM): N/A 
Info:      Processes: 365 Uptime: 19m Memory: 7.56 GiB used: 3.51 GiB (46.4%) Init: systemd runlevel: 5 Compilers: gcc: 9.3.0 

Адаптер Bluetooth - это сетевое устройство 2: Intel Wireless 8260, для драйверов с именем iwlwifi.При работе inxi -Fxz и pacmd list -ocks гарнитура была подключена через A2DP.

bram@bram-Zbook:~$ pacmd list-cards
4 card(s) available.

     ------ Removed Devices 0 till 2 ------ 
    
    index: 3
    name: <bluez_card.04_5D_4B_66_7E_42>
    driver: <module-bluez5-device.c>
    owner module: 29
    properties:
        device.description = "LE_WH-H900N"
        device.string = "04:5D:4B:66:7E:42"
        device.api = "bluez"
        device.class = "sound"
        device.bus = "bluetooth"
        device.form_factor = "headset"
        bluez.path = "/org/bluez/hci0/dev_04_5D_4B_66_7E_42"
        bluez.class = "0x240404"
        bluez.alias = "LE_WH-H900N"
        device.icon_name = "audio-headset-bluetooth"
        device.intended_roles = "phone"
    profiles:
        headset_head_unit: Headset Head Unit (HSP/HFP) (priority 30, available: unknown)
        a2dp_sink_sbc: High Fidelity Playback (A2DP Sink: SBC) (priority 40, available: unknown)
        a2dp_sink_aac: High Fidelity Playback (A2DP Sink: AAC) (priority 40, available: unknown)
        a2dp_sink_aptx: High Fidelity Playback (A2DP Sink: aptX) (priority 40, available: unknown)
        a2dp_sink_aptx_hd: High Fidelity Playback (A2DP Sink: aptX HD) (priority 40, available: unknown)
        a2dp_sink_ldac: High Fidelity Playback (A2DP Sink: LDAC) (priority 40, available: yes)
        off: Off (priority 0, available: yes)
    active profile: <a2dp_sink_ldac>
    sinks:
        bluez_sink.04_5D_4B_66_7E_42.a2dp_sink/#11: LE_WH-H900N
    sources:
        bluez_sink.04_5D_4B_66_7E_42.a2dp_sink.monitor/#16: Monitor of LE_WH-H900N
    ports:
        headset-output: Headset (priority 0, latency offset 0 usec, available: yes)
            properties:
                
        headset-input: Headset (priority 0, latency offset 0 usec, available: unknown)
            properties:

bram@bram-Zbook:~$ pacmd list-sinks

   ------ Removed Index 1 to 4 (then it jumps to 17)  ------ 

 * index: 17
    name: <bluez_sink.04_5D_4B_66_7E_42.a2dp_sink>
    driver: <module-bluez5-device.c>
    flags: HARDWARE DECIBEL_VOLUME LATENCY 
    state: RUNNING
    suspend cause: (none)
    priority: 9050
    volume: front-left: 35863 /  55% / -15,71 dB,   front-right: 35863 /  55% / -15,71 dB
            balance 0,00
    base volume: 65536 / 100% / 0,00 dB
    volume steps: 65537
    muted: no
    current latency: 33,13 ms
    max request: 2 KiB
    max rewind: 0 KiB
    monitor source: 25
    sample spec: float32le 2ch 44100Hz
    channel map: front-left,front-right
                 Stereo
    used by: 1
    linked by: 1
    fixed latency: 30,80 ms
    card: 4 <bluez_card.04_5D_4B_66_7E_42>
    module: 31
    properties:
        bluetooth.protocol = "a2dp_sink"
        bluetooth.a2dp_codec = "LDAC"
        device.description = "LE_WH-H900N"
        device.string = "04:5D:4B:66:7E:42"
        device.api = "bluez"
        device.class = "sound"
        device.bus = "bluetooth"
        device.form_factor = "headset"
        bluez.path = "/org/bluez/hci0/dev_04_5D_4B_66_7E_42"
        bluez.class = "0x240404"
        bluez.alias = "LE_WH-H900N"
        device.icon_name = "audio-headset-bluetooth"
        device.intended_roles = "phone"
    ports:
        headset-output: Headset (priority 0, latency offset 0 usec, available: yes)
            properties:
                
    active port: <headset-output>

Теперь после переключения на HSP / HFP:

(base) bram@bram-Zbook:~$ pacmd list-cards
4 card(s) available.

     ------ Removed Devices 0, 1 and 2 ------ 

    index: 3
    name: <bluez_card.04_5D_4B_66_7E_42>
    driver: <module-bluez5-device.c>
    owner module: 29
    properties:
        device.description = "LE_WH-H900N"
        device.string = "04:5D:4B:66:7E:42"
        device.api = "bluez"
        device.class = "sound"
        device.bus = "bluetooth"
        device.form_factor = "headset"
        bluez.path = "/org/bluez/hci0/dev_04_5D_4B_66_7E_42"
        bluez.class = "0x240404"
        bluez.alias = "LE_WH-H900N"
        device.icon_name = "audio-headset-bluetooth"
        device.intended_roles = "phone"
    profiles:
        headset_head_unit: Headset Head Unit (HSP/HFP) (priority 30, available: yes)
        a2dp_sink_sbc: High Fidelity Playback (A2DP Sink: SBC) (priority 40, available: unknown)
        a2dp_sink_aac: High Fidelity Playback (A2DP Sink: AAC) (priority 40, available: unknown)
        a2dp_sink_aptx: High Fidelity Playback (A2DP Sink: aptX) (priority 40, available: unknown)
        a2dp_sink_aptx_hd: High Fidelity Playback (A2DP Sink: aptX HD) (priority 40, available: unknown)
        a2dp_sink_ldac: High Fidelity Playback (A2DP Sink: LDAC) (priority 40, available: unknown)
        off: Off (priority 0, available: yes)
    active profile: <headset_head_unit>
    sinks:
        bluez_sink.04_5D_4B_66_7E_42.headset_head_unit/#14: LE_WH-H900N
    sources:
        bluez_sink.04_5D_4B_66_7E_42.headset_head_unit.monitor/#21: Monitor of LE_WH-H900N
        bluez_source.04_5D_4B_66_7E_42.headset_head_unit/#22: LE_WH-H900N
    ports:
        headset-output: Headset (priority 0, latency offset 0 usec, available: yes)
            properties:
                
        headset-input: Headset (priority 0, latency offset 0 usec, available: yes)
            properties:

bram@bram-Zbook:~$ pacmd list-sinks

   ------ Removed Index 1 to 4 (then it jumps to 14)  ------ 

  * index: 14
    name: <bluez_sink.04_5D_4B_66_7E_42.headset_head_unit>
    driver: <module-bluez5-device.c>
    flags: HARDWARE HW_VOLUME_CTRL LATENCY 
    state: RUNNING
    suspend cause: (none)
    priority: 9050
    volume: mono: 65136 /  99%
            balance 0,00
    base volume: 65536 / 100%
    volume steps: 16
    muted: no
    current latency: 36,49 ms
    max request: 0 KiB
    max rewind: 0 KiB
    monitor source: 21
    sample spec: s16le 1ch 8000Hz
    channel map: mono
                 Mono
    used by: 1
    linked by: 1
    fixed latency: 31,00 ms
    card: 3 <bluez_card.04_5D_4B_66_7E_42>
    module: 29
    properties:
        bluetooth.protocol = "headset_head_unit"
        device.intended_roles = "phone"
        device.description = "LE_WH-H900N"
        device.string = "04:5D:4B:66:7E:42"
        device.api = "bluez"
        device.class = "sound"
        device.bus = "bluetooth"
        device.form_factor = "headset"
        bluez.path = "/org/bluez/hci0/dev_04_5D_4B_66_7E_42"
        bluez.class = "0x240404"
        bluez.alias = "LE_WH-H900N"
        device.icon_name = "audio-headset-bluetooth"
    ports:
        headset-output: Headset (priority 0, latency offset 0 usec, available: yes)
            properties:
                
    active port: <headset-output>

После того, как я увидел, что микрофон улавливает какой-то звук в панели управления Gnome, я позвонил другу, который мог подтвердить, что микрофон работает правильно. В этой панели управления звуком, к моему удивлению, цвет мощности устройства вывода стал синим и перестал двигаться.

Gnome Sound Control Panel

До сих пор я безуспешно пытался поиграть с blueman и pavucontrol .

Редактировать 1: Journalctl

Я отслеживал действие переключения между профилями в journalctl. Вот результаты:

bram@bram-Zbook:~$ journalctl -f
-- Logs begin at Mon 2021-03-08 02:01:23 +03. --
mrt 31 22:23:02 bram-Zbook /usr/lib/gdm3/gdm-x-session[1985]: (--) NVIDIA(GPU-0): DFP-1: 165.0 MHz maximum pixel clock
mrt 31 22:23:02 bram-Zbook /usr/lib/gdm3/gdm-x-session[1985]: (--) NVIDIA(GPU-0):
mrt 31 22:23:02 bram-Zbook /usr/lib/gdm3/gdm-x-session[1985]: (--) NVIDIA(GPU-0): DFP-2: disconnected
mrt 31 22:23:02 bram-Zbook /usr/lib/gdm3/gdm-x-session[1985]: (--) NVIDIA(GPU-0): DFP-2: Internal DisplayPort
mrt 31 22:23:02 bram-Zbook /usr/lib/gdm3/gdm-x-session[1985]: (--) NVIDIA(GPU-0): DFP-2: 960.0 MHz maximum pixel clock
mrt 31 22:23:02 bram-Zbook /usr/lib/gdm3/gdm-x-session[1985]: (--) NVIDIA(GPU-0):
mrt 31 22:23:02 bram-Zbook /usr/lib/gdm3/gdm-x-session[1985]: (--) NVIDIA(GPU-0): DFP-3: disconnected
mrt 31 22:23:02 bram-Zbook /usr/lib/gdm3/gdm-x-session[1985]: (--) NVIDIA(GPU-0): DFP-3: Internal DisplayPort
mrt 31 22:23:02 bram-Zbook /usr/lib/gdm3/gdm-x-session[1985]: (--) NVIDIA(GPU-0): DFP-3: 960.0 MHz maximum pixel clock
mrt 31 22:23:02 bram-Zbook /usr/lib/gdm3/gdm-x-session[1985]: (--) NVIDIA(GPU-0):
mrt 31 22:23:13 bram-Zbook rtkit-daemon[1192]: Supervising 7 threads of 3 processes of 2 users.
mrt 31 22:23:13 bram-Zbook rtkit-daemon[1192]: Successfully made thread 13653 of process 1900 owned by '1000' RT at priority 5.
mrt 31 22:23:13 bram-Zbook rtkit-daemon[1192]: Supervising 8 threads of 3 processes of 2 users.
mrt 31 22:23:13 bram-Zbook gsd-media-keys[2356]: Unable to get default sink
mrt 31 22:23:13 bram-Zbook gsd-media-keys[2356]: Unable to get default source
mrt 31 22:23:13 bram-Zbook kernel: Bluetooth: hci0: SCO packet for unknown connection handle 0
mrt 31 22:23:13 bram-Zbook kernel: Bluetooth: hci0: SCO packet for unknown connection handle 0
mrt 31 22:23:13 bram-Zbook kernel: Bluetooth: hci0: SCO packet for unknown connection handle 0
mrt 31 22:23:13 bram-Zbook kernel: Bluetooth: hci0: SCO packet for unknown connection handle 0
mrt 31 22:23:20 bram-Zbook rtkit-daemon[1192]: Supervising 7 threads of 3 processes of 2 users.
mrt 31 22:23:20 bram-Zbook kernel: Bluetooth: hci0: SCO packet for unknown connection handle 257
mrt 31 22:23:20 bram-Zbook rtkit-daemon[1192]: Successfully made thread 13656 of process 1900 owned by '1000' RT at priority 5.
mrt 31 22:23:20 bram-Zbook rtkit-daemon[1192]: Supervising 8 threads of 3 processes of 2 users.
mrt 31 22:23:20 bram-Zbook gsd-media-keys[2356]: Unable to get default sink
mrt 31 22:23:20 bram-Zbook gsd-media-keys[2356]: Unable to get default source
  • mrt 31 22:23:13 -> Переход с A2DP на HSP / HFP (нет звука, но звук нормальный)
  • mrt 31 22:23:20 -> Переход обратно с HSP / HFP на A2DP (все снова работает)

Ясно, что есть ошибка: Bluetooth: hci0: SCO-пакет для неизвестного дескриптора соединения 0 Что, похоже, обсуждается здесь . Но я не совсем понимаю, что это значит. Кроме того, аналогичная ошибка возникает при возврате к работающему A2DP, Bluetooth: hci0: пакет SCO для неизвестного дескриптора соединения 257 . Но это появляется только один раз.

Правка 2: Звуковой тест

Вдохновленный этой проблемой , я выполнил следующий тест, который автоматически переключил гарнитуру в режим HSP / HFP, и снова нет звука. Пользователь там обнаружил, что у него проблема с драйвером bluetooth, к сожалению, он не объясняет, как он это выяснил. На самом деле он также не показывает результат теста arecord.

bram@bram-Zbook:~$ arecord --channels=1 --format=S16_LE --rate=8000 --duration=6 --verbose --dump-hw-params --device=default voice.wav
Opname WAVE 'voice.wav' : Signed 16 bit Little Endian, Frequentie 8000 Hz, Mono
HW Params of device "default":
:--------------------
ACCESS:  RW_INTERLEAVED
FORMAT:  U8 S16_LE S16_BE S24_LE S24_BE S32_LE S32_BE FLOAT_LE FLOAT_BE MU_LAW A_LAW S24_3LE S24_3BE
SUBFORMAT:  STD
SAMPLE_BITS: [8 32]
FRAME_BITS: [8 1024]
CHANNELS: [1 32]
RATE: [1 384000]
PERIOD_TIME: (2 4294967295)
PERIOD_SIZE: [1 1398102)
PERIOD_BYTES: [128 1398102)
PERIODS: [3 1024]
BUFFER_TIME: (7 4294967295]
BUFFER_SIZE: [3 4194304]
BUFFER_BYTES: [384 4194304]
TICK_TIME: ALL
:--------------------
ALSA <-> PulseAudio PCM I/O Plugin
Its setup is:
  stream       : CAPTURE
  access       : RW_INTERLEAVED
  format       : S16_LE
  subformat    : STD
  channels     : 1
  rate         : 8000
  exact rate   : 8000 (8000/1)
  msbits       : 16
  buffer_size  : 4000
  period_size  : 1000
  period_time  : 125000
  tstamp_mode  : NONE
  tstamp_type  : GETTIMEOFDAY
  period_step  : 1
  avail_min    : 1000
  period_event : 0
  start_threshold  : 1
  stop_threshold   : 4000
  silence_threshold: 0
  silence_size : 0
  boundary     : 9007199254740992000
2
задан 31 March 2021 в 23:15

1 ответ

Да, я исправил. Я пошел и очистил все свои аудио и Bluetooth пакеты. Я, наверное, забыл один из этих пакетов в последний раз, когда пробовал это. Я выполнил следующие команды.

sudo apt-get update
sudo apt-get purge bluez libldac pulseaudio-modules-bt  # Remove packages
sudo apt-get autoremove  # Cleanup
sudo apt-get reinstall -y libfdk-aac-dev libavcodec-dev libpulse-dev libdbus-1-dev libsbc-dev libltdl-dev libbluetooth-dev  # Renistall as some of these cannot be purged
sudo apt-get install bluez libldac pulseaudio-modules-bt
sudo reboot  # Might not be nessecary

Я ожидал, что это сбросит мои файлы конфигурации аудио, но этого не произошло. В моем файле конфигурации пульса я все же нашел правки, которые я сделал в прошлом. Я удалил их вручную:

sudo gedit /etc/pulse/default.pa
pulseaudio -k

Здесь я выполнил шаги настройки pulseaudio-modules-bt , доступные здесь .

Потом, к моему удивлению, все заработало. Моей целью было сбросить все мои настройки до значений по умолчанию. И предыдущие команды не достигли этого, хотя моя проблема теперь исправлена.

Чтобы удалить ваши личные настройки pulseaudio , основываясь на ответах на вопрос здесь , можно запустить:

sudo apt-cache pkgnames pulse |xargs -n 1 sudo apt-get -o Dpkg::Options::="--force-confmiss" install --reinstall

Но я не уверен и не тестировал это, так как я не хотел изменять свою теперь рабочую конфигурацию.Может ли кто-нибудь подтвердить, будет ли это правильным способом сбросить конфигурацию импульса? И какая команда сделает это для всех пакетов, связанных с настройкой Bluetooth / аудио?

0
ответ дан 23 April 2021 в 23:28

Другие вопросы по тегам:

Похожие вопросы: