Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Raspberry iBeacon not detecting

I recently was trying to configure ibeacon on a BLE dongle (cambridge silicon radio) on a raspberry pi. Reference: http://developer.radiusnetworks.com/2013/10/09/how-to-make-an-ibeacon-out-of-a-raspberry-pi.html

I get this message :

HCI Command: ogf 0x08, ocf 0x0008, plen 44
  1E 02 01 1A 1A FF 4C 00 02 15 E2 C5 6D B5 DF FB 48 D2 B0 60
  D0 F5 A7 10 96 E0 00 00 00 00 C9 00 00 00 00 00 00 00 00 00
  00 00 00 00
> HCI Event: 0x0e plen 4
  01 08 20 12

And the app does not even locate the beacon. Though I can see the dongle flashing some light on this command:

sudo hciconfig hci0 leadv 0

But nothing gets detected.

So go an APP named LIGHTBLUE from the appstore and it detects the bluetooth with a different UUID.

I have tried this a number of times now. And have completed all the steps in the tutorial. But this bluetooth device just wont show up.

Also, I am curious to know what is 0x08 and 0x0008 and if I want to cast a different UUID what should I do? But thats a later part...

Right now, THE BLUETOOTH wont cast the Estimote UUID as said by Radius Networks' tutorial.

Hope to receive some reply soon.

Command I wrote (after this not working I changed the power to C9):

$ sudo hcitool -i hci0 cmd 0x08 0x0008 1e 02 01 1a 1a ff 4c 00 02 15 e2 c5 6d b5 df fb 48 d2 b0 60 d0 f5 a7 10 96 e0 00 00 00 00 c5 00 00 00 00 00 00 00 00 00 00 00 00 00

and surprisingly, the error is: Error: Invalid HCI Command Parameters; How come its invalid? Is it because CSR supports 128bit rather than 64bit hex?

Thanks!

like image 764
Videep Mishraa Avatar asked Nov 30 '13 12:11

Videep Mishraa


1 Answers

I saw the same issue as memoryhole where I had to remove the extra zeros. I also had to enable advertising before I configured the advertising data for it to work properly with my dongle.

Here is the exact sequence/commands that worked for me:

sudo hciconfig hci0 up
sudo hciconfig hci0 leadv 3
sudo hcitool -i hci0 cmd 0x08 0x0008 1e 02 01 1a 1a ff 4c 00 02 15 e2 c5 6d b5 df fb 48 d2 b0 60 d0 f5 a7 10 96 e0 00 00 00 00 c5 00

This is what my version of the Radius script ended up looking like:

#!/bin/sh
. ./ibeacon.conf
echo "Launching virtual iBeacon..."
sudo hciconfig $BLUETOOTH_DEVICE up
sudo hciconfig $BLUETOOTH_DEVICE leadv 3
sudo hcitool -i $BLUETOOTH_DEVICE cmd 0x08 0x0008 1e 02 01 1a 1a ff 4c 00 02 15 $UUID $MAJOR $MINOR $POWER 00
echo "Complete"

This was on a Rasberry Pi with a ORICO BTA-402-BK branded BLE dongle (CSR8510 A10)

(I would have left this as a comment, but didn't have enough rep)

like image 75
Richard Wifall Avatar answered Sep 19 '22 13:09

Richard Wifall