Инициализация Bluetooth, что это такое

Обновлено: 21.11.2024

Текст был успешно обновлен, но возникли следующие ошибки:

Поэскас прокомментировал 21 сентября 2021 г.

Еще пару вещей, которые я должен добавить. Когда это происходит, загорается зеленый свет, соответствующий этому USB-порту (указывая на то, что ключ получает питание?). Значок Bluetooth просто не отображается в меню, и я не могу подключить какие-либо устройства Bluetooth, пока не внесу исправления, упомянутые выше. Также это происходит в каждом USB-разъеме.

aihooo444 прокомментировал 21 сентября 2021 г.

Да то же самое, что и выше.
CSR8510 — это чипсет

aihooo444 прокомментировал 21 сентября 2021 г.

Я только что использовал новую SD-карту и обновил ее до последней версии, но она по-прежнему не работает, если я обновлю ее до предыдущей 06.09.21, она снова заработает.

aihooo444 прокомментировал 22 сентября 2021 г.

кое-что, что может быть полезно

lsusb — Bus 001 Device 009: ID 0a12:0001 Bluetooth Dongle Cambridge Silicon Radio, Ltd (режим HCI)

dmesg | grep -i blue
[ 0.329544] Bluetooth: инициализирован уровень RFCOMM TTY
[ 0.329571] Bluetooth: инициализирован уровень сокета RFCOMM
[ 0.329599] Bluetooth: RFCOMM ver 1.11
[ 0.329614] Bluetooth : HIDP (эмуляция интерфейса пользователя) версия 1.2
[ 0.329628] Bluetooth: инициализирован уровень сокета HIDP
[ 3.563992] Bluetooth: hci0: CSR: обнаружен клон CSR без торговой марки; добавление обходных путей и принудительная приостановка один раз.
[ 8.674209] Bluetooth: hci0: CSR: не удалось приостановить работу устройства для обхода проблемы приема Barrot 8041a02
[ 13.792582] Bluetooth: hci0: сбой настройки интерфейса (110)
[ 13.792665] Bluetooth: hci0: urb fb4ddf9d не удалось повторно отправить (2)
[ 13.804284] Bluetooth: hci0: urb 717d76a3 не удалось повторно отправить (2)
[ 13.810357] Bluetooth: hci0: urb 68aa8caa не удалось повторно отправить (2)
[ 20.960474] Bluetooth: hci0: command 0x1001 tx timeout
[ 29.152406] Bluetooth: hci0: CSR: сбой локальной версии (-110)

sorgelig прокомментировал 22 сентября 2021 г. •

это плохо.
Существует так много поддельных клонов CSR. У меня есть по крайней мере один, но он работает нормально.
Я посмотрю, смогу ли я что-нибудь сделать, или, может быть, в ядре основной ветки есть еще какие-то обходные пути для этого.

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

aihooo444 прокомментировал 23 сентября 2021 г.

Спасибо, sorgelig,
Я вернулся к предыдущей сборке, и это то, что она показывает, на всякий случай, если это поможет вам что-то понять.
Я не тороплюсь, так как купил замену.
вот выходные данные предыдущей версии
[ 0.328787] Bluetooth: инициализирован уровень RFCOMM TTY
[ 0.328814] Bluetooth: инициализирован уровень сокета RFCOMM
[ 0.328842] Bluetooth: RFCOMM версии 1.11 < br />[ 0.328858] Bluetooth: HIDP (эмуляция интерфейса пользователя) версии 1.2
[ 0.328871] Bluetooth: уровень сокета HIDP инициализирован
[ 3.330517] Bluetooth: hci0: lmp_subver = 22BB, hci_ver = 9, bcdDevice = 2520 is_fake = 1
[ 3.349317] Bluetooth: hci0: CSR: Обнаружен клон CSR без торговой марки; добавление обходных путей.
[ 12.688592] Bluetooth: hci0: lmp_subver = 22BB, hci_ver = 9, bcdDevice = 2520 is_fake = 1
[ 12.696951] Bluetooth: hci0: CSR: обнаружен клон CSR без торговой марки; добавление обходных путей.

sorgelig прокомментировал 23 сентября 2021 г.

  1. убедитесь, что вы используете последнюю версию linux.img и zImage_dtb
  2. распаковать zip выше и поместить файл в систему Linux по пути в zip с заменой существующего файла.

подождите не менее 5 секунд, а затем перезапустите MiSTer.

Дайте мне знать, решит ли это проблему

aihooo444 прокомментировал 23 сентября 2021 г.

да, сработало, большое спасибо

sorgelig прокомментировал 23 сентября 2021 г.

Я по-прежнему не рекомендую использовать поддельные ключи CSR, особенно если вы планируете использовать устройства BLE.

aihooo444 прокомментировал 23 сентября 2021 г.

Да, я заказал новый, но пока он не прибудет, он будет работать нормально, спасибо

Поэскас прокомментировал 23 сентября 2021 г.

Я по-прежнему не рекомендую использовать поддельные ключи CSR, особенно если вы планируете использовать устройства BLE.

Можете ли вы порекомендовать что-нибудь, что будет работать лучше?

sorgelig прокомментировал 24 сентября 2021 г.

ASUS BT500, Edimax BT-8500.
Комбо-модули Realtek 802.11ac/BT также хорошо работают, если вам нужен Wi-Fi.

Прокомментировал Poeskas 13 октября 2021 г. •

Просто обновление. Я купил ASUS BT500 в магазине Best Buy и начал с новой SD-карты, используя самый последний образ SD-карты Mr Fusion + запустив скрипт обновления, и, к сожалению, я должен сообщить, что проблема все еще присутствует. Я все еще могу исправить это, вернувшись к моему старому образу SD-карты за июль

У меня проблема, похожая на предыдущий вопрос (здесь). Я использую 64-разрядную версию Windows 7 Home Premium на HP HDX 16 со встроенной беспроводной связью Broadcom.Я подключил свой Pioneer AS-BT200 к VSX-921k. Это устройство было сопряжено раньше (оно может использовать 3 кода сопряжения — 0000, 1234, 8888 — и я первоначально использовал код сопряжения 0000), но теперь оно не подключалось. У меня возникла другая проблема с сопряжением моих наушников Rocketfish BT, и я обнаружил, что они не подключаются автоматически, поэтому мне нужно открыть свои устройства Bluetooth, щелкнуть правой кнопкой мыши устройство и выбрать «Управление». В панели управления нажмите «Подключиться» и оставьте ее открытой, чтобы сохранить соединение (действительно, почему в контекстном меню нет пункта «Подключиться». Извините, Rant off)). Я думал, что это может быть проблема и с этим устройством, но когда я пытаюсь открыть элемент управления, я получаю сообщение об ошибке:

"Не удалось инициализировать эту операцию. Повторите попытку, выключив и снова включив устройство Bluetooth. Если операция снова не инициализируется, повторите попытку после перезагрузки компьютера."

Короче говоря, я несколько раз пытался перезагрузить ресивер и компьютер, пытался удалить устройство и выполнить его сопряжение по всем трем кодам сопряжения (сопряжение выполняется, устанавливаются драйверы и все показывает хорошо, но не подключается), Я проверил, что у меня установлены последние версии Broadcom Dirvers, я проверил, что BT моего компьютера подключается к другим устройствам (Creative D100 — без проблем, наушники Rocketfish с обручами, описанными выше), а также проверил, что компьютер не был подключен к какому-либо другому устройству. Я убедился, что AS-BT200 будет подключаться к другим устройствам (подключается к моему I-Touch).

Есть идеи, почему это одно устройство выходит из строя или как его подключить?

Эта тема заблокирована. Вы можете подписаться на вопрос или проголосовать за него как полезный, но вы не можете отвечать в этой теме.

Сообщить о нарушении

Домогательство – это любое поведение, направленное на то, чтобы побеспокоить или расстроить человека или группу людей. К угрозам относятся любые угрозы самоубийства, насилия или причинения вреда другому человеку. Любой контент на тему для взрослых или неуместный для веб-сайта сообщества. Любое изображение, ссылка или обсуждение наготы. Любое поведение, которое является оскорбительным, грубым, вульгарным, оскверняет или демонстрирует неуважение. Любое поведение, которое может нарушать лицензионные соглашения с конечными пользователями, включая предоставление ключей продукта или ссылок на пиратское программное обеспечение. Незапрашиваемая массовая рассылка или массовая реклама. Любые ссылки на вирусы, шпионское ПО, вредоносное ПО или фишинговые сайты или их пропаганда. Любой другой неприемлемый контент или поведение, как это определено Условиями использования или Кодексом поведения. Любое изображение, ссылка или обсуждение, связанные с детской порнографией, детской наготой или другим жестоким обращением с детьми или их эксплуатацией.

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

На этой странице можно найти дополнительную информацию, относящуюся только к приложениям Bluetooth.

Настройка оборудования¶

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

Существует 4 возможных варианта настройки оборудования для использования с Zephyr и Bluetooth:

QEMU с внешним контроллером

Собственный POSIX с внешним контроллером

Моделирование nRF52 с помощью BabbleSim

Встроенный¶

Эта установка зависит от всего программного обеспечения, работающего непосредственно на встроенных платформах, на которые нацелено приложение. Поддерживаются все конфигурации и типы сборки, но вам может потребоваться собрать Zephyr более одного раза, если вы используете двухчиповую конфигурацию или если у вас есть несколько ядер в вашей SoC, каждое из которых работает с другим типом сборки (например, одно работает на хосте, другой контроллер).

Чтобы начать разработку с использованием этой настройки, следуйте Руководству по началу работы , выберите одну (или несколько, если вы используете двухчиповое решение) платы, поддерживающие Bluetooth, а затем запустите приложение).

Встроенная трассировка гиперконвергентной инфраструктуры¶

При запуске и хоста, и контроллера в реальных интегральных схемах вы по умолчанию будете видеть только обычные сообщения журнала на консоли, без какого-либо доступа к трафику гиперконвергентной инфраструктуры между хостом и контроллером. Однако существует специальный режим ведения журнала Bluetooth, который преобразует консоль для использования двоичного протокола, который чередует как обычные сообщения журнала, так и трафик HCI. Установите следующие параметры Kconfig, чтобы включить этот протокол перед сборкой приложения:

Установка CONFIG_BT_DEBUG_MONITOR_UART на y заменяет параметр CONFIG_BT_DEBUG_LOG, а установка CONFIG_UART_CONSOLE на n отключает обработчики printk / printf по умолчанию.

Для декодирования бинарного протокола, который теперь будет отправлен на консольный UART, вам нужно использовать инструмент btmon от BlueZ:

Хост на Linux с внешним контроллером¶

В настоящее время это доступно только в GNU/Linux

Эта установка основана на конфигурации с двумя чипами, состоящей из следующих устройств:

Приложение только для хоста, работающее в эмуляторе QEMU или собственном порте Zephyr native_posix

Контроллер, который может быть одного из двух типов:

Имеющийся в продаже контроллер

Сборка Zephyr только для контроллера

Некоторые внешние контроллеры либо не могут принять параметры управления потоком от хоста к контроллеру, которые Zephyr устанавливает по умолчанию (Qualcomm), либо не передают данные от контроллера к хосту (Realtek). Если вы видите сообщение, похожее на:

при загрузке выбранного примера (убедитесь, что вы включили CONFIG_BT_DEBUG_LOG в вашем prj.conf перед запуском примера) или если данные не передаются от контроллера к хосту, вам необходимо отключить поток от хоста к контроллеру. контроль. Для этого установите CONFIG_BT_HCI_ACL_FLOW_CONTROL=n в вашем prj.conf .

Вы можете запустить Zephyr Host на эмуляторе QEMU и заставить его взаимодействовать с физическим внешним контроллером Bluetooth. Подробные инструкции по сборке и запуску приложения в этой настройке см. в разделе Запуск в QEMU и Native POSIX.

Родной POSIX¶

В настоящее время это доступно только в GNU/Linux

Собственная цель POSIX создает ваше приложение Zephyr с ядром Zephyr и некоторой минимальной эмуляцией аппаратного обеспечения в виде собственного исполняемого файла Linux. Этот исполняемый файл представляет собой обычную программу Linux, которую можно отлаживать и настраивать так же, как и любую другую, и она взаимодействует с физическим внешним контроллером.

См. Запуск в QEMU и Native POSIX для получения полных инструкций о том, как создать и запустить приложение в этой настройке.

Моделирование nRF52 с помощью BabbleSim¶

В настоящее время это доступно только в GNU/Linux

Плата nrf52_bsim представляет собой смоделированную целевую плату, которая эмулирует необходимые периферийные устройства SOC nrf52 для разработки и тестирования приложений BLE. На этой доске используются:

  • BabbleSim для моделирования модема nrf52 и радиосреды.

  • Арка POSIX для эмуляции процессора.

  • Модели nrf52 HW

Как и в случае с целевым объектом native_posix, результатом сборки является обычный исполняемый файл Linux. Дополнительную информацию о том, как запускать симуляции с одним или несколькими устройствами, можно найти в документации к этой плате

В настоящее время возможны только комбинированные сборки, так как на этой плате еще нет моделей UART или USB, которые можно было бы использовать для HCI-интерфейса к другому реальному или смоделированному устройству.

Инициализация¶

Подсистема Bluetooth инициализируется с помощью функции bt_enable(). Вызывающий должен убедиться, что функция выполнена успешно, проверив код возврата на наличие ошибок. Если указатель на функцию передается в bt_enable() , инициализация происходит асинхронно, а о завершении сообщается через данную функцию.

Пример приложения Bluetooth¶

Ниже показано простое приложение Bluetooth-маяка. Приложение инициализирует подсистему Bluetooth и включает неподключаемую рекламу, эффективно действуя как транслятор Bluetooth с низким энергопотреблением.

Ключевыми API, используемыми в образце маяка, являются bt_enable(), который используется для инициализации Bluetooth, а затем bt_le_adv_start(), который используется для запуска рекламы определенной комбинации данных рекламы и сканирования.

© Copyright 2015-2022 Участники проекта Zephyr и отдельные участники. Последнее обновление: 22 марта 2022 г.

Параметры инициализации драйвера Bluetooth настраивают способ инициализации драйвера устройства Magic Utilities при (повторном) установлении соединения Bluetooth с компьютером при запуске или пробуждении.

Прямая инициализация Bluetooth

Для клавиатур этот параметр не должен действовать, но используется немного другой метод инициализации.

Выбор по умолчанию не выбран.

Эти параметры были добавлены, поскольку Windows не всегда включает функцию плавной прокрутки Magic Mouse и Magic Trackpad.

Функция плавной прокрутки

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

Если в Windows не включена функция «Плавная прокрутка», отображается диалоговое окно с параметром «Перезагрузить устройство». Обычно проблема решается перезапуском устройства.

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

Однако, если у вас есть постоянные проблемы с "Плавной прокруткой", ее можно полностью отключить, и Windows будет считать устройство обычной мышью (и, следовательно, диалоговое окно с предупреждением никогда больше не появится).

Прямая инициализация Bluetooth

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

Если включена функция "Плавная прокрутка", этот параметр не должен иметь никакого эффекта, но использует немного другой метод инициализации.

Поддерживать соединение Bluetooth

Этот параметр исправляет ошибку в «Windows 10 версии 2004, обновление за май 2020 г.», из-за которой ваше устройство Bluetooth зависало, если вы не использовали его в течение 5–10 секунд. Пока что это касается только некоторых моделей Apple MacBook, подробнее здесь.

При включении этого параметра мышь каждые две секунды отправляет сигнал "ping", чтобы соединение Bluetooth оставалось активным.

Авторское право © 2022 Magic Utilities Pty Ltd. Все права защищены. Этот сайт является независимым и не связан с Apple Inc.

Читайте также: