Bluetooth в Android x86 на Virtualbox

Я пытаюсь заставить работать Bluetooth на Android x86 в virtualbox. Я пробовал и Virtualbox на Linux и Windows, с последней версией Android x86 iso, но проблема та же: адаптер Bluetooth моего хоста ThinkPad-ноутбук (который полностью работает) не распознается.

Я нашел похожие обсуждения:

Как протестировать приложение на базе Bluetooth на Androidx86 поверх VirtualBox со встроенным ноутбуком Bluetooth

Как проверить приложение Bluetooth на эмуляторах в Android

К сожалению те же шаги не решают мою проблему.

Стоит ли попробовать другое программное обеспечение для виртуализации и / или другой Android x86 iso?

4 ответа

Я знаю, что это старый вопрос, но я нашел это очень полезным - https://forums.virtualbox.org/viewtopic.php?f=3&t=83325

Кроме того, обратите внимание, что USB-устройство Bluethooth может не иметь информативного имени (например, на моем компьютере это было "Intel Corp.").

Чтобы узнать, что это правильное устройство (в Windows), нужно перейти к диспетчеру устройств и сравнить идентификатор устройства Bluetooth-устройства с идентификатором в Virtualbox. Virtualbox Диспетчер устройств

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

Уловка, упомянутая во многих решениях "Я хочу протестировать свое приложение Bluetooth для Android", предполагает, что ваше устройство Bluetooth использует USB, но оно не будет работать, когда оно не работает.

У меня были проблемы с Android X-86 и BlissOS. Это то, что я нашел, чтобы исправить мою конкретную проблему после игры с разными командами. Вы можете автоматизировать этот процесс при загрузке, следуя процессу, аналогичному /questions/31950527/dva-mramora-i-100-etazhnoe-zdanie/31950550#31950550

Также обратите внимание, что я работаю на Mac и должен был получить USB-адаптер Bluetooth, поскольку MacOS не позволяет использовать встроенный Bluetooth.

Мне также пришлось заставить Mac не автоматически захватывать мой USB-ключ Bluetooth, а позволить VirtualBox взять его на себя. Команда была sudo nvram bluetoothHostControllerSwitchBehavior=never

Зачем это нужно, я не знаю, но надеюсь, что в будущих версиях Android X-86 Bluetooth станет более стабильным.

Цепочка команд (с задержками сна):

      hciconfig && gsudo hciconfig hci0 down && sleep 10 && gsudo pm disable com.android.bluetooth && sleep 10 && gsudo pm enable com.android.bluetooth && sleep 10 && gsudo service call bluetooth_manager 6 && sleep 10 && gsudo hciconfig hci0 up

Команды для входа и выхода из терминала:

Войдите в терминал: Alt + F1

Выйти из терминала: Alt + F7

Упорядоченные шаги Объяснение:

  • hciconfig
    • Показывает статус любых устройств Bluetooth
  • gsudo hciconfig hci0 down
    • Переводит bluetooth-приемник в режим «выключено».
    • Измените hci0 на идентификатор вашего Bluetooth-приемника, если он отличается
  • gsudo pm disable com.android.bluetooth
    • Останавливает пакет Bluetooth Android
  • gsudo pm enable com.android.bluetooth
    • Запускает Bluetooth-пакет для Android.
  • gsudo service call bluetooth_manager 6
    • Вызов терминала для включения bluetooth на устройстве. Возможно, это можно сделать и через пользовательский интерфейс Android.
  • gsudo hciconfig hci0 up
    • Приказывает приемнику Bluetooth включиться и начать передачу по мере необходимости.

Дополнительные команды:

  • gsudo service call bluetooth_manager 9
    • Отключает настройку Bluetooth через терминал. Это можно сделать и вручную, и эта команда может вообще не понадобиться.

Заметки:

  • gsudoэто команда sudo в BlissOS. То же самое может быть и в Android X-86. gsudo может и не понадобиться в приведенных выше командах, но я использовал его на всякий случай.

У меня была похожая проблема несколько месяцев назад - я обнаружил, что эти шаги необходимы, чтобы она работала:

  1. # выключение
  2. настройки -> USB -> Alt+Ins, это выскочило "Неизвестное устройство 0A12:0001[0134]", я щелкнул по нему, я мог видеть устройство, выбранное под USB-устройством Фильтры
  3. нажмите на ОК.
  4. Выберите гостевую ОС, то есть Ubuntu 10.04, нажмите "Пуск".
  5. поиграл с USB-ключом (вставьте - удалите - вставьте ключ Bluetooth).

Теперь он выдал сообщение "Не удалось установить питание Bluetooth. Сообщение об ошибке: истекло время ожидания соединения"

  1. # gedit /etc/bluetooth/main.conf
  2. Замените параметр RememberPowered с "true" на "false" (конечно, без кавычек).
  3. Сохрани и закрой.
  4. # перезагружать

После запуска системы... 10. Вывод # hciconfig -a показывает устройство
11. # Hictool Scan может видеть мобильные телефоны, которые активировали их Bluetooth

Более подробная информация здесь: https://forums.virtualbox.org/viewtopic.php?f=6&t=34867

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