Bluetooth-USB auf Android

Gibt es eine Möglichkeit, dem Android-Betriebssystem Bluetooth-USB-Dongle-Unterstützung hinzuzufügen? Meine Version, die ich für ein eingebettetes Gerät verwende, enthält meiner Meinung nach keine BT-Dongle-Unterstützung. Was muss getan werden, um diese Funktion hinzuzufügen?

Hinweis: Mein Gerät ist ATMEL SAM9x5 EV Board. Also Atmel, stellen Sie dafür ein Android BSP bereit. Aber ich denke, es ist so einfach, Anpassung für Board. Ich kann nicht einmal die Befehle "hciconfig" oder "hcitool" verwenden. Vor 2 Monaten habe ich sie kontaktiert, aber ich kann den richtigen Mann nicht erreichen. Außerdem habe ich ein Bluetooth-Uart-Modul von CC & C (RTL8723) gekauft und es auf mein Android BSP und meinen Kernel portiert, aber das gleiche Ergebnis. Nichts hat geklappt. USB oder UART sind für mein Projekt nicht wichtig. Ich bin also kein Kernel-Spezialist oder System. Meine Bewerbung ist fast in Ordnung. Außer Bluetooth-Seite. Ich habe bereits getan, I2C, GPIO und UART-Seite. Alle arbeiten. Außerdem kann ich einige Kernel- und Framework-spezifische Dinge ändern, aber nicht mehr. Nur LCD-Anpassung und UART, GPIO-Zeug. Und ich beschloss, eine dumme Frage zu stellen, um etwas zu verstehen.

Sie müssen den Kernel neu kompilieren und auf das Board flashen (oder auf andere Weise starten); Sie müssen auch die hciconfig/hcitool-Programme finden oder selbst kompilieren, sie sind wahrscheinlich nicht Teil des SDK-Kits.

Antworten (1)

Dies ist möglich, indem Sie den Kernel auf einen anderen mit Unterstützung der für Sie erforderlichen Funktionen umstellen.

Wahrscheinlich müssen Sie Ihren eigenen Kernel neu kompilieren. Da die Bluetooth-Karte mit dem USB-Subsystem verbunden ist, müssen Sie die USB-Unterstützung in Ihrem Kernel aktivieren. Das muss wahrscheinlich aktiviert werden:

Gerätetreiber → USB-Unterstützung → Unterstützung für Host-seitiges USB (CONFIG_USB)
Gerätetreiber → USB-Unterstützung → [*]USB-Gerätedateisystem (CONFIG_USB_DEVICEFS)
Wählen Sie einen geeigneten USB-Hosttreiber aus:
Gerätetreiber → USB-Unterstützung → EHCI HCD ( USB 2.0)-Unterstützung (CONFIG_USB_EHCI_HCD)
Gerätetreiber → USB-Unterstützung → UHCI HCD-Unterstützung (CONFIG_USB_UHCI)
Gerätetreiber → USB-Unterstützung → OHCI HCD-Unterstützung (CONFIG_USB_OHCI)
Bluetooth-Subsystem und Treiber aktivieren:
Netzwerk → <*>Bluetooth-Subsystem-Unterstützung (CONFIG_BT)
Netzwerk → Unterstützung von Bluetooth-Subsystemen → <*>Unterstützung des L2CAP-Protokolls (CONFIG_BT_L2CAP)
Netzwerk → Unterstützung von Bluetooth-Subsystemen → <*>Unterstützung von SCO-Links (CONFIG_BT_SCO)
Netzwerk → Bluetooth-Subsystem-Unterstützung → <*>RFCOMM-Protokollunterstützung (CONFIG_BT_RFCOMM)
Netzwerk → Bluetooth-Subsystem-Unterstützung → [*]RFCOMM TTY-Unterstützung (CONFIG_BT_RFCOMM_TTY)
Netzwerk → Bluetooth-Subsystem-Unterstützung → <*>BNEP-Protokoll-Unterstützung (CONFIG_BT_BNEP)
Netzwerk → Bluetooth-Subsystem-Unterstützung → <*>HID-Protokollunterstützung (CONFIG_BT_HID)
Netzwerk → Bluetooth-Subsystemunterstützung → Bluetooth-Gerätetreiber → HCI-USB-Treiber (CONFIG_BT_HCIUSB)
Netzwerk → Bluetooth-Subsystemunterstützung → Bluetooth-Gerätetreiber → [*]SCO (Sprache)-Unterstützung (CONFIG_BT_HCIUSB_SCO)

Es ist ein Standard-Linux-Verfahren , um es zu aktivieren. Sie müssen es jedoch selbst neu kompilieren, wenn diese Module fehlen.
Für viele Android-Geräte sind benutzerdefinierte vorkompilierte Kernel von Enthusiasten erhältlich. Leider hat der Autor der Frage nicht geschrieben, welches Gerät er verwendet.
Mit den neuesten Informationen, die Sie gegeben haben, ist das Ergebnis dasselbe. Ich habe bereits eine ähnliche Kernel-Konfiguration außer _USB_DEVICEFS. Jetzt habe ich ein bestimmtes Chipsatz-BT-Modul bestellt. Das kann in Ordnung sein. Oder mein Android hat viele Löcher. Danke.