Вопрос или проблема
У меня есть Bluetooth гарнитура (Soundcore Q30), и когда она подключена к моему компьютеру, я все равно могу подключиться к ней через мой Android смартфон и воспроизводить звук.
Однако, если я хочу сделать наоборот и подключить свой компьютер к гарнитуре, когда она уже подключена к моему телефону (даже если не воспроизводит звук), bluez выдает ошибку:
SET_CONFIGURATION request rejected: Stream End Point in Use (19)
Ошибка имеет смысл, но меня удивляет, что мой компьютер не может сделать то, что может мой телефон. Есть ли способ это обойти?
Я на Ubuntu 20.04 с Linux 5.15 и Bluez 5.53.
То, что вам нужно или функция, называется Bluetooth мультипунктовое сопряжение.
Ваш Android телефон использует расширенную Bluetooth функцию, такую как поддержка мультипункта или SCO переключение, что позволяет ему игнорировать активные подключения.
Большинство современных гарнитур оснащены мультипунктовой технологией и совместимы с широким спектром устройств.
Bluetooth мультипункт часто зависит от производителя, поэтому полная функциональность на Linux может быть ограничена.
Расширенное мультипунктовое соединение: шаг вперед от однопунктового соединения
“Расширенное мультипунктовое соединение” почти идентично однопунктовому. Давайте подробно рассмотрим это небольшое различие: основная функция “Расширенного мультипунктового соединения” остается прежней — два устройства могут подключаться к одной гарнитуре, позволяя вам обрабатывать два входящих звонка.
Однако, в отличие от однопунктового соединения, первый звонок не отключается, когда вы принимаете второй входящий звонок. С “Расширенным мультипунктовым соединением” первый звонок ставится на ожидание, что позволяет вам вернуться к нему, как только вы завершите второй звонок. Вы даже можете переключаться между двумя звонками, ставя один на ожидание при необходимости.
Возвращаясь к предыдущему примеру: с “Расширенным мультипунктовым соединением” вы можете быстро завершить разговор с торговым представителем и, нажав одну кнопку, вернуться к разговору с другом.
По этой причине “Расширенное мультипунктовое соединение” теперь считается стандартом для большинства гарнитур.
Попробуйте обновить BlueZ, если это возможно.
Вот некоторые дополнительные источники:
- Есть ли способ создать устройство BLE с несколькими соединениями в BlueZ?
- Несколько соединений BLE с использованием Linux и Bluez 5.0
- Не удается подключить несколько устройств BLE
- Bluez множественные источники аудио
- Управление Bluetooth, о BlueZ
- Bluez работает плохо с мультипунктовыми аудиоустройствами
- Двойные параллельные SCO соединения
- Мультипунктовое сопряжение
Ответ или решение
Как подключиться к Bluetooth-устройству, уже соединенному со смартфоном
В данной статье мы обсудим, как подключиться к Bluetooth-гарнитуре Soundcore Q30, которая уже соединена с вашим Android-смартфоном, при этом используя компьютер на базе Ubuntu 20.04 с ядром Linux 5.15 и BlueZ 5.53. Мы рассмотрим технологию Bluetooth multipoint, которая позволяет нескольким устройствам одновременно подключаться к наушникам, и возможные пути её реализации в вашей среде.
Понимание технологии Bluetooth Multipoint
Bluetooth multipoint – это функция, позволяющая одновременно подключать одно Bluetooth-устройство к нескольким источникам, таких как компьютер и смартфон. Это дает возможность, например, принимать звонки на смартфоне, при этом музыка с компьютера продолжает воспроизводиться. Некоторые устройства поддерживают так называемую "Advanced Multipoint," которая обеспечивает еще более продвинутую функциональность, позволяя переключаться между источниками без отключения текущего соединения.
Ваши наушники Soundcore Q30, вероятно, поддерживают такую технологию, что объясняет, почему они могут одновременно взаимодействовать с вашим смартфоном. Однако на компьютере, работающем под управлением BlueZ, могут возникнуть проблемы с подключением к наушникам, которые уже заняты другим устройством. Вы можете получить сообщение об ошибке:
SET_CONFIGURATION request rejected: Stream End Point in Use (19)
Эта ошибка возникает, когда система пытается подключиться к наушникам, которые уже используют другой источник.
Устранение проблемы подключения
-
Проверьте поддержку multipoint: Убедитесь, что ваши наушники действительно поддерживают функцию multipoint. Это можно сделать, ознакомившись с документацией устройства или на сайте производителя.
-
Обновление BlueZ: Рекомендуется обновить вашу версию BlueZ до более новой. В последних версиях исправлены многие проблемы, связанные с поддержкой многоканального подключения. Таким образом, использование команд:
sudo apt-get update sudo apt-get install bluez
позволит вам установить последнюю стабильную версию BlueZ.
-
Настройки Bluetooth: Проверьте настройки Bluetooth на вашем компьютере. Запустите следующие команды в терминале:
bluetoothctl
В интерфейсе bluetoothctl попробуйте отключить и вновь подключить устройство. Вы можете использовать команды
disconnect
иconnect
после выбора вашего устройства. -
Использование альтернативных профилей аудио: Иногда может помочь переключение аудиопрофилей. Воспользуйтесь утилитами типа
pavucontrol
(PulseAudio Volume Control) для управления аудиопрофилями и выбора правильного профиля для ваших наушников. -
Проверка подключений: Убедитесь, что ваши наушники не в режиме полета, отключите и снова включите Bluetooth на смартфоне, а затем попробуйте подключиться к наушникам через компьютер.
Заключение
Несмотря на очевидные ограничения, возникающие при попытке подключить гарнитуру Bluetooth к нескольким устройствам, использование технологии multipoint, поддерживаемой некоторыми современными устройствами, позволяет облегчить этот процесс. Тем не менее, в случае использования Linux, включая Ubuntu и BlueZ, пользователи могут столкнуться с определенными трудностями. Следуя приведенным выше рекомендациям, вы повысите шансы на успешное соединение вашей гарнитуры, даже если она уже активно используется вашим смартфоном.
Для получения дополнительной информации о проблемах с подключением Bluetooth и последних обновлениях программного обеспечения, рекомендуем ознакомиться с дополнительными источниками и ресурсами, представленными в статье.