🛠 Réveiller le Bluetooth de l'AP6212 : hci_uart et firmware BCM

Banana Pi BPI-M2 Zero (Allwinner H2+ / H3) · avance · Schéma : IMG-bananapi-m2-zero-avance-3-bluetooth-ap6212-m2-zero.svg — BPI-M2 Zero avec la puce AP6212 surlignée, lignes UART1 (PG11-PG13, RTS/CTS) reliant le SoC au section Bluetooth ; terminal bluetoothctl affichant un scan d'appareils BLE.

Objetivos

En la BPI-M2 Zero, el Bluetooth del combo AP6212 no es un controlador USB: es una interfaz HCI serie sobre UART1 (nodo brcm,bcm43438-bt en el device tree, 1 500 000 baudios, RTS/CTS en PG11-PG13). Según las versiones del kernel, la carga del firmware y el adjunto del disciplina hci_uart no se realizan automáticamente — los comentarios de los usuarios documentan un « no BT controller found » que requiere cargar hci_uart y adjuntar el puerto serie manualmente. Vas a llevar el controlador hasta bluetoothctl y un escaneo BLE.

Hardware

Código completo

sudo apt update && sudo apt install -y bluez

# 1) Le noyau a-t-il déjà créé le contrôleur ?
bluetoothctl list
dmesg | grep -i -e bluetooth -e hci -e 4343

# 2) Sinon, apport manuel : firmware + discipline hci_uart + attach UART1
sudo apt install -y psmisc
sudo rfkill unblock bluetooth 2>/dev/null
sudo modprobe hci_uart
# Attacher le port série de l'UART1 au discipline HCI (BCM)
sudo sh -c 'echo "bcm43xxx 0" > /sys/bus/serial/device_add' 2>/dev/null || \
sudo btattach -n -B -s 1500000 /dev/ttyS1
sleep 3
hciconfig -a          # hci0 doit être apparu

# 3) Scanner
bluetoothctl
#   power on
#   agent on
#   scan on        # les périphériques BLE défilent
#   quit

# 4) Rendre le réveil permanent si nécessaire
echo hci_uart | sudo tee /etc/modules-load.d/bt.conf

Verificación esperada

Tras el adjunto, hciconfig -a muestra hci0 con una dirección MAC; bluetoothctl scan on hace desfilar dispositivos (relojes, teléfonos, sensores) a unos pocos metros; el enlace permanece estable tras power on/off. El Wi-Fi y el BT coexisten en la misma antena.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales