Рейтинг:0

BlueZ выдает ошибку «Отсутствует разрешение CAP_NET_ADMIN»

флаг tn

Мне нужно определить источник проблемы. Сообщение об ошибке:

qt.bluetooth.bluez: отсутствует разрешение CAP_NET_ADMIN. Невозможно определить, является ли найденный адрес случайным или общедоступным.
qt.bluetooth.bluez: ошибка сканирования SDP QProcess::NormalExit 3

Мой код C/C++, основанный на QT, сканирует «службу Bluetooth» и не завершается. Он просто истекает, как и должно быть, когда сканирование завершено.

В противном случае мой код работает так, как ожидалось, поэтому проблем с ОС нет...
Эту ошибку публикует "bluez" - так почему бы сначала не посмотреть туда? 
Я надеялся, что кто-нибудь знает ответ...

Я буду чешский блюз.  

vidarlo avatar
флаг om
Пожалуйста, добавьте более важную информацию, такую ​​как версия Ubuntu, которую вы используете, и что вы пытаетесь сделать, когда появляется сообщение об ошибке на вопрос. Нажмите [Редактировать], чтобы обновить t и добавить детали.
cocomac avatar
флаг cn
Да, Bluez здесь в тему, если вы используете Ubuntu или официальную производную, например Kubuntu. Но этой ошибки в одной строке недостаточно для выявления или устранения проблемы. Пожалуйста, [отредактируйте] свой вопрос, указав, что вызвало эту ошибку и какая у вас ОС.
Nmath avatar
флаг ng
Вопросы по Ask Ubuntu можно задать на странице https://meta.askubuntu.com/. Если у вас есть вопрос об Ubuntu, опубликуйте его на основном сайте и включите четкие воспроизводимые сведения о проблеме, с которой вы столкнулись. Добавьте контекст, объясняющий, что вы пытаетесь сделать, и все шаги, необходимые для воспроизведения проблемы.
mchid avatar
флаг bo
Вопросы о Bluez здесь по теме, но вопросы о том, как задавать вопросы о Bluez, не по теме.
Рейтинг:0
флаг tn

Вот частичное объяснение, почему это происходит.

https://unix.stackexchange.com/questions/96106/bluetooth-le-scan-as-non-root

Вот мой взгляд на это: Фактическая иерархия вызовов Bluetooth выглядит следующим образом:

Реализация QT (библиотека) Bluetooth называется "Bluetooth (модуль).
Обратите внимание, что этот модуль НЕ одинаков во всех версиях QT, а в некоторых он отсутствует.

Модуль QT "библиотека" является копией/модификацией QT "bluez".

"bluez" основан на "hci".

Примечание. Я использовал «hci» напрямую, минуя «bluez», и не обнаружил никаких проблем с его использованием напрямую. На самом деле реализация QT отсутствует, физически сбросить «устройства Bluetooth, найденные с последним успешным вызовом для них». Поэтому я использую «hci» для сброса неизвестной базы данных устройств Bluetooth, найденных в прошлый раз.

Теперь есть примеры QT C/C++ пример btscanner работает как положено - возвращает близлежащие устройства и их "сервис" btchat в основном делает то же самое, но терпит неудачу с вышеуказанной ошибкой.

Оба этих примера реализуют только три СИГНАЛА. Начало найденное устройство законченный

** НЕТ СИГНАЛОВ "найдено устройство" ** в btchat, есть там в btscanner !!

Поэтому «проблема» связана с реализацией btchat «bluez», а btchat использует РАЗНЫЕ функции QT — добавляет ДРУГОЙ слой для вызова/использования «bluez»...

Поскольку использование функций QT происходит в режиме реального времени, сложно найти последовательность вызовов и места, где они застревают.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.