Discoverability of bluetooth device during Inquiry - java-me

On my device bluetooth properties give
System.getProperty("bluetooth.sd.trans.max");
as 1.
It is not found by other device while it is making an inquiry itself.
I want to my device to be discoverable while its doing inquiry.
Is this possible ?
Thanks in advance.

Inquiry is prioritised over inquiry/page scan on most devices, so no: scanning probably stops during the inquiry process, and you won't be discoverable.

Related

Bluetooth Device Tracker/ Finder

I lost my Bluetooth earphones and had been searching for it recently. I would like to ask if there are any programs (or how I can code my own) that can help look for a paired but not connected Bluetooth device. Thanks in advance and much appreciated.
Any app can find your bluetooth earphones, only if it is ON. From my perspective, one suggestion is to [save the name or device address]remove pairing from your phone for the headset and do a bluetooth search . If your headset appears on the device discovery list, then it should be around.

Program bluetooth receiver to only be pairable with a single device?

Is there a way to program a bluetooth receiver/dongle so it's only discoverable/accessible by a single device? This for security purposes as I can't switch on bluetooth on my pc but still want to use my bluetooth keyboard. I know some keyboards come with pre-programmed dongles that do exactly that. Thanks in advance for your help.

BLE peripheral: scanning while connected

Is it possible to make a peripheral scan for advertisments while connected to a central? It seems like it is either scanning for advertisments or have your peripheral connected but I need to do both. The peripheral should be able to report RSSI measurements from advertisements it picks up.
I'm using 'bleno' for the peripheral and 'noble' for the scanning on a linux box (bluez)
The answer to this differs depending on the version of Bluetooth that your device is on.
For Bluetooth v4.0:
A peripheral cannot scan at all, whether in a connection or not. The peripheral can only send out adverts or accept incoming connections. For more information you can have a look at this document, page 18:-
http://chapters.comsoc.org/vancouver/BTLER3.pdf
For Bluetooth v4.1 onwards:
A device can be in central and peripheral role at the same time. By implication, this means that if a peripheral is connected to a central device, it can still scan for devices in it's "central mode". More information can be found in this link, page 5:-
http://www.ietf.org/proceedings/89/slides/slides-89-6lo-4.pdf
So in conclusion, if your device is BT v4.1 or newer, then this is dependant on the chip manufacturer, and if it is v4.0, then no, because the Bluetooth specification does not allow it.

Discover other devices while connected?

Can a bluetooth adapter detect for other discoverable devices while it's already connected to another device? It seems to me that it detects only in the STANDBY state, so being connected to another device puts it in some other non-unconnected state. I could be wrong, of course.
Thanks
yes it can discover while being connected.
It is typically done by time sharing the link between the 2 procedures, most devices handle this very efficiently with no observed impact at the application.

Bluetooth UUID discovery

Does anyone know how a bluetooth device could pick up the discoverable devices' device IDs in range?
I am ideally looking for the simplest solution that involves the smallest implimentation of the bluetooth protocols.
A starting point would be good, I just wish to create a device that can store all the device ids of nearby bluetooth devices with minimal power consumption, preferably just using radio frequencies and not SDP and whatever else.
If you can't help me with this, please can you help me find good reading material for low level bluetooth (step by step) communication. The reading online is so high level that I cant work out what is actually sent, when.
Laalto nailed the answer from the Bluetooth spec/stack POV, but your question implies your looking for a stand-alone Bluetooth device - not just a laptop app scanning surrounding devices.
I can only speak for the BT chips that the company I work for manufactures (Cambridge Silicon Radio - CSR) but our chips can do that pretty much out of the box. Our chips have an on-board Virtual Machine sandbox that allows access to the firmware functions and Bluetooth stack of the chip. You can easily write a C code app to run in the virtual machine sandbox, on chip, that periodically scans for discoverable devices around, grab their ids and then download them when connected via USB or Serial, or maybe over BT when a device connects to the listener directly.
www.csr.com and www.csrsupport.com for chips, dev-kits, design references, etc.. etc...
You probably want a module with the extra HW (UARTs, USB etc...) as well as just the chip but you could implement this with something the size of a BlueTooth USB or probably smaller.
It would really help to know more about what your trying to achieve, why you want something that just scans the surrounding bluetooth devices and how big the device needs to be.
Sorry if this sounds like advertising. For balance: Broadcom make BT chips too!
The Bluetooth specs from http://www.bluetooth.org are a good starting place for low-level information. You need an account to access the specs, but you can create one for free.
Basically what you need to do is to go into Inquiry mode periodically and grab the response packets as they arrive. The more time you spend in Inquiry mode, the more likely you will discover devices in range: discoverable devices enter the Inquiry Scan mode only relatively rarely; it takes some time (10.24s at least with older Bluetooth versions) to scan all the possible frequencies in the Inquiry/Inquiry Scan frequency hopping schemes. And even then you can have suboptimal radio conditions.
For implementation I suggest you at least start with existing Bluetooth libraries such as BlueZ and do not attempt to create your own from scratch.

Resources