Подсистема Bluetooth в Linux и BlueZ
Я пытаюсь выяснить, как библиотека пользовательского пространства BlueZ взаимодействует с подсистемой Bluetooth в Linux. В частности, кто-нибудь знает ответы на следующие вопросы:
- Версия подсистемы Bluetooth в ядре 4.9 - 2.22. Существует ли журнал изменений, специфичный для подсистемы Bluetooth?
- Существуют ли требования для минимальной версии подсистемы Bluetooth для данной версии библиотеки BlueZ? Например, какова минимальная версия подсистемы Bluetooth для последней библиотеки BlueZ (v5.43)?
ПРИМЕЧАНИЕ. Основная причина, по которой я спрашиваю, - это мой интерес к "экспериментальным" функциям BLE и тому, что происходит в BlueZ с 5-го выпуска. Я уже смотрел этот замечательный доклад: https://www.youtube.com/watch?v=tclS9arLFzk и пытался понять, какая скудная информация доступна на веб-сайте bluez.org.
2 ответа
По сути, ответ на мой собственный вопрос является этот документ:
https://git.kernel.org/cgit/bluetooth/bluez.git/tree/doc/mgmt-api.txt
У меня был очень полезный чат на канале #bluez freenode, который, возможно, является более подходящим местом для подобных вопросов.
Версия 5 и более поздняя версия bluetoothd (то есть часть пользовательского пространства BlueZ) должна работать против любой версии ядра 3.4 и выше. Однако есть некоторые функции, которые отсутствуют, если вы не используете более новое ядро. Эти функции перечислены в документе, указанном выше.
В ссылке, которую я разместил ниже, говорится, что утилиты BlueZ взаимодействуют с ядром через интерфейс сокетов Berkley. Это означает, что утилиты BlueZ используют системные вызовы сокетов для взаимодействия с ядром. Также есть информация, что
BlueZ - официальный Linux Bluetooth стек
Таким образом, Linux-подсистема Bluetooth - это сама BlueZ.
О совместимости LE вы можете найти это полезным.
Здесь вы можете найти полезную информацию о BlueZ.