Bluetooth Add-Ons [SOLVED]



  • I'm trying to scan for several Onion Omega's that have the BT add-on configured as 'beacon'.

    The beacons I configured like:

    $ opkg install obluez-libs obluez-utils
    $ hciconfig hci0 -a
    $ hciconfig hci0 up
    $ hciconfig hci0 leadv 3
    $ hciconfig hci0 noscan
    $ hciconfig hci0 -a
    hci0:	Type: BR/EDR  Bus: USB
    	BD Address: 00:1A:7D:DA:71:13  ACL MTU: 310:10  SCO MTU: 64:8
    	UP RUNNING
    	RX bytes:1182 acl:0 sco:0 events:67 errors:0
    	TX bytes:1107 acl:0 sco:0 commands:67 errors:0
    	Features: 0xff 0xff 0x8f 0xfe 0xdb 0xff 0x5b 0x87
    	Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
    	Link policy: RSWITCH HOLD SNIFF PARK
    	Link mode: SLAVE ACCEPT
    	Name: 'OnionBLE'
    	Class: 0x000000
    	Service Classes: Unspecified
    	Device Class: Miscellaneous,
    	HCI Version: 4.0 (0x6)  Revision: 0x22bb
    	LMP Version: 4.0 (0x6)  Subversion: 0x22bb
    	Manufacturer: Cambridge Silicon Radio (10)
    

    I also have a raspberry pi (3 with built in BT) from which I scan.

    $ sudo hcitool lescan
    LE Scan ...
    38:01:95:01:5E:41 (unknown)
    00:1A:7D:DA:71:13 (unknown)
    00:1A:7D:DA:71:13 rpi2
    

    This only shows me 1 of the 2 onion omega with BT add-ons plus the rpi entry for a second RPI that i also configured as 'beacon'.

    The question is: what could be the cause of the missing second Onion w BT? They are both configured in the same way so I'd expect them both tho show up.
    All devices are in my room (not next to each other). Does somehow the mac address, which is the same for all BT add-ons mess this up? How could I set a name in such a way it gets advertised? (All have their own name set with 'hciconfig hci0 name <unique name>')

    Of course I could use 'hcitool lescan --duplicates' in order to not filter them but then I still cannot make a difference as all onions with BT add on seem to be reported as ''00:1A:7D:DA:71:13 (unknown)''

    Thanks to anyone who would want to look into this.



  • Ok, found at least how to fiddle with the BD Address.

    There is a utility specific to this brand of BLE dongles bccmd. In order to change BD Address the following steps need to be taken:

    $ hciconfig hci0 -a // check existing bd address
    $ bccmd -d hci0 psset bdaddr 04 00 06 05 03 00 02 01 // set new address
    $ bccmd -d hci0 warmreset // reset the device
    $ /etc/init.d/bluetoothd restart // reset bt deamon
    $ hciconfig hci0 -a // should show a different bd address.
    

    To check scan from another device (RPI in my case)

    $ sudo hcitool -i hci0 lescan
    LE Scan ...
    38:01:95:01:5E:41 (unknown)
    01:02:03:04:05:06 (unknown) // this is the new bd address.
    

    So solved for now, although I still dont know why the local names are not shown in the scan.



Looks like your connection to Onion Community was lost, please wait while we try to reconnect.