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!
Unfortunately, you need a different bluetooth dongle. There have been other reports of the CSR not working with the Bluez stack on the Raspberry Pi for iBeacon advertising. See here and here
I have verified the command you have above does not give an error when using the recommended IOGear GBU521.
translate into: set advertising data command has finished running with error 0x12 "Invalid HCI Command Parameters"
ogf 0x08, ocf 0x0008
is the command to set the advertising packet's data, so you change the arguments to that command to modify the UUID. You want to change the part of the string of hex that corresponds to the UUID. Notice this:Are you sure you have a Bluetooth 4.0 dongle? What's the exact command you typed in? (cut-n-copy it into your question)
I was successful with a Raspberry Pi and a Inateck csr4b5 BT Dongle which should contain CRS 8510. By complying to the BT specs 31 octets length just like memoryhole said and omitting the extra 00 octets at the end it worked.
Edit: Also worked with a Pearl Dongle Model PX-1632-675 and a CSL USB Bluetooth Nano Dongle CSL-Nr. 23996
Give it a try.
Cheers
I bought a few of these from amazon:
http://www.amazon.de/CSL-Bluetooth-Adapter-Technologie-neuester-Standard/dp/B00C68IQ3C
and did not get it to work in the beginning following the Radius tut. Running hcidump in another window showed an error message when giving the hcitool command:
After removing the extra 00's at the end of the hcitool command, it worked. My config file is:
note the extra 00 in POWER! this extra 00 is important.
My beaconstart script is:
While try-and-erroring I also added the noscan and put the leadv 3 in FRONT of the hcitool command. But only after removing the extra 00s it started to work.
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:
This is what my version of the Radius script ended up looking like:
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)
I also have a CSR based USB Dongle bought in Hong Kong. I got the LE Set Advertising Data command to work by removing the extra padding at the end. According to the Bluetooth 4.0 Specification the data field should be 31 octets long. I'm not sure why the Radius Networks tutorial adds the extra zeroes. Try this:
Note: I didn't run this on a Raspberry Pi, but an Ubuntu 12.04 laptop with bluez-4.98.