2

Hi I want to use the BLE on my raspberry pi 3 Jessie. But I'm not able to get it working.

Bluetooth is loaded, active and running

$sudo su
$apt-get update
$apt-get install bluetooth bluez blueman
$service bluetooth start
$systemctl status bluetooth

bluetooth.service - Bluetooth service
   Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled)
   Active: active (running) since Tue 2017-09-12 15:38:58 UTC; 1h 51min ago
     Docs: man:bluetoothd(8)
 Main PID: 1419 (bluetoothd)
   Status: "Running"
   CGroup: /system.slice/bluetooth.service
           └─1419 /usr/lib/bluetooth/bluetoothd

Sep 12 15:38:58 grassberry systemd[1]: Starting Bluetooth service...
Sep 12 15:38:58 grassberry bluetoothd[1419]: Bluetooth daemon 5.23
Sep 12 15:38:58 grassberry systemd[1]: Started Bluetooth service.
Sep 12 15:38:58 grassberry bluetoothd[1419]: Starting SDP server
Sep 12 15:38:58 grassberry bluetoothd[1419]: Bluetooth management interface 1.14 initialized
Sep 12 16:39:06 grassberry systemd[1]: Started Bluetooth service.

Using bluetooth

$bluetoothctl
$list => no result
$scan on => no default controller 

Modprobe:

$modprobe bcm203x
modprobe: ERROR: ../libkmod/libkmod.c:557 kmod_search_moddep() could not open moddep file '/lib/modules/4.9.24-v7+/modules.dep.bin'

$modprobe btbcm
modprobe: ERROR: ../libkmod/libkmod.c:557 kmod_search_moddep() could not open moddep file '/lib/modules/4.9.24-v7+/modules.dep.bin'

Other solutions I found and tried

Hcitool

$hcitool scan
Device is not available: No such device

I tried diff. things and rebooted inbetween: Installing raspberrypi-sys-mods: Raspberry Pi 3 Bluetooth "No default controller available"

Upgrading everything:

$sudo apt-get update
$sudo apt-get upgrade -y
$sudo apt-get dist-upgrade -y
$sudo rpi-update

With hci

$sudo hciconfig hci0 up
Can't get device info: No such device
$hciconfig -a => nothing
$sudo systemctl start hciuart.service
Job for hciuart.service failed. See 'systemctl status hciuart.service' and 'journalctl -xn' for details.

$systemctl status hciuart.service
● hciuart.service - Configure Bluetooth Modems connected by UART
   Loaded: loaded (/lib/systemd/system/hciuart.service; enabled)
   Active: failed (Result: exit-code) since Tue 2017-09-12 18:05:05 UTC; 37s ago
  Process: 1762 ExecStart=/usr/bin/btuart (code=exited, status=1/FAILURE)
Sep 12 18:05:05 grassberry btuart[1762]: Initialization timed out.
Sep 12 18:05:05 grassberry btuart[1762]: bcm43xx_init
Sep 12 18:05:05 grassberry systemd[1]: hciuart.service: control process exited, code=exited status=1
Sep 12 18:05:05 grassberry systemd[1]: Failed to start Configure Bluetooth Modems connected by UART.
Sep 12 18:05:05 grassberry systemd[1]: Unit hciuart.service entered failed state.

Installing pi-bluetooth

$apt-get install pi-bluetooth

I got I2C and wifi running.

Mike Poole
  • 222
  • 1
  • 2
  • 7
Andi Giga
  • 513
  • 1
  • 7
  • 17

1 Answers1

1

What UART devices are you using? On board bluetooth requires the full UART device (UART0) which, if enabled, will cause the serial console to be mapped to /dev/ttyAMA0. You can check your /dev directory with the following command:

ls -l /dev | grep ttyAMA0

You should get something like the following:

output of terminal command

If you run the same command from above, replacing ttyAMA0 with ttyS0 and that appears in the /dev directory, you're using UART1 otherwise known as mini-UART.

To enable the ttyAMA0, you must first disable ttyS0 with the following command:

sudo systemctl stop serial-getty@ttyS0

Comment out the device tree in /boot/config.txt

sudo nano /boot/config.txt

While nano is opened, look for the following and comment it out by adding a '#' in front of the text:

dtoverlay=pi3-miniuart-bt

ctrl-X and save changes. Then reboot your Pi

sudo reboot

After the pi has reboot navigate to /boot/cmdline.txt

 sudo nano /boot/cmdline.txt

Enable the serial console by adding the following to the bottom of the file:

console=ttyAMA0, 115200 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait

save changes by hitting ctrl-x and reboot your pi once more.

sudo reboot
Niko_Jako
  • 23
  • 8