AlmaLinux / raspberry-pi

AlmaLinux Raspberry Pi
122 stars 17 forks source link

RPi4 Bluetooth module not recognized #15

Closed SolidState214 closed 6 months ago

SolidState214 commented 2 years ago

The RPi 4's Bluetooth module is not recognized by the stock kernel currently shipping with AlmaLinux.

[root@pi ~]# rfkill list 0: phy0: Wireless LAN Soft blocked: no Hard blocked: no

[root@pi ~]#uname -a Linux localhost 5.15.45-v8.1.el8 #1 SMP PREEMPT Mon Jun 6 19:47:28 UTC 2022 aarch64 aarch64 aarch64 GNU/Linux

guzongzi commented 1 year ago

Have bluez installed Put this bluetooth driver https://raw.githubusercontent.com/RPi-Distro/bluez-firmware/master/broadcom/BCM4345C0.hcd in /usr/lib/firmware/brcm dir RUN ln -s /usr/lib/firmware /etc/firmware reboot Then use hciattch command to set up bluez

srbala commented 1 year ago

@SolidState214 is the steps given by @guzongzi helped to resolve your issue. An update would be greatly appreciated

GrigoryPrutskov commented 1 year ago

I faced with the same issue on AL9 with 3b+. There is my way to solve it:

  1. Install bluez and dtc compiler dnf install bluez dtc
  2. Get .dts file for bcm bluetooth wget https://raw.githubusercontent.com/RoEdAl/alarm-bluetooth-raspberrypi/master/bcmbt-overlay.dts
  3. Convert it to .dtbo dtc -I dts -O dtb bcmbt-overlay.dts -o /boot/overlays/bcmbt.dtbo
  4. Remove console=ttyAMA0,115200 from /boot/cmdline.txt, cause it conflicts with uart0 which is used to communicate with bluetooth
  5. Add these 2 lines to your /boot/config.txt
    dtoverlay=bcmbt
    dtparam=krnbt=on
  6. Enable bluetooth service: systemctl enable bluetooth
  7. Reboot

Now you can see loaded btbcm module, btmon and bluetoothctl shows bt controller.

lightdot commented 6 months ago

This seems to be resolved.

[root@raspberry-pi ~]# uname -a
Linux raspberry-pi 6.1.31-v8.1.el9 #1 SMP PREEMPT Wed Jun 14 12:18:16 UTC 2023 aarch64 aarch64 aarch64 GNU/Linux

[root@raspberry-pi ~]# rfkill list
0: hci0: Bluetooth
        Soft blocked: no
        Hard blocked: no
1: phy0: Wireless LAN
        Soft blocked: no
        Hard blocked: no

[root@raspberry-pi ~]# bluetoothctl list
Controller AA:AA:AA:AA:AA:AA raspberry-pi [default]

[root@raspberry-pi ~]# bluetoothctl show
Controller AA:AA:AA:AA:AA:AA (public)
        Name: raspberry-pi
        Alias: raspberry-pi
        Class: 0x00000000
        Powered: yes
        Discoverable: no
        DiscoverableTimeout: 0x000000b4
        Pairable: no
        UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb)
        UUID: Generic Access Profile    (00001800-0000-1000-8000-00805f9b34fb)
        UUID: PnP Information           (00001200-0000-1000-8000-00805f9b34fb)
        UUID: A/V Remote Control Target (0000110c-0000-1000-8000-00805f9b34fb)
        UUID: A/V Remote Control        (0000110e-0000-1000-8000-00805f9b34fb)
        UUID: Device Information        (0000180a-0000-1000-8000-00805f9b34fb)
        Modalias: usb:v1D6Bp0246d0540
        Discovering: no
        Roles: central
        Roles: peripheral
Advertising Features:
        ActiveInstances: 0x00 (0)
        SupportedInstances: 0x05 (5)
        SupportedIncludes: tx-power
        SupportedIncludes: appearance
        SupportedIncludes: local-name

[root@raspberry-pi ~]# systemctl status bluetooth
● bluetooth.service - Bluetooth service
     Loaded: loaded (/usr/lib/systemd/system/bluetooth.service; enabled; preset: enabled)
     Active: active (running) since ...
metalefty commented 6 months ago

Yes, I worked on this. I have tested with RPi4 and RPi400. It will be resolved in upcoing 9.3 image.

metalefty commented 6 months ago

9.3 image has been released.