Chip stops advertising, after sometime, when using iBeacon Advertising in conjunction with regular advertising.

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

I have found a bug with iBeacon advertising that renders the chip(BCM20736S) essentially useless; The only way to fix this is to toggle the power. The problem is that we tell the chip to start advertising with bleprofile_Discoverable(HIGH_UNDIRECTED_DISCOVERABLE, NULL) and eventually the chip just ceases to actaully advertise. Even checking the bleprofile_GetDiscoverable() says that it is HIGH_UNDIRECTED_DISCOVERABLE but if you use a scanner it does not show up. We have determined it has to do with using iBeacon advertising (ibeacon.a - ibeacon_start() and ibeacon_stop() methods) as when we remove that code this problem does not arise.

To give you a little context on how we have programmed the chip (device) to work and the main problem please see below:

Device and handset flow:

  1. Pair device with mobile handset
  2. Once device is connected we stop advertising, read some characteristics, enable some indications(on the handset side) for a button we have and send any button presses to the handset.
  3. After previous step is done the handset tells the device to disconnect.
  4. The device then waits 60min to start advertising again (via bleapptimer_startAppTimer). However, pressing the button will make it start advertising (go to step 2).
  5. After 60min timer goes off it will start advertising again. Then if after 30 seconds of advertising it does not connect the device will stop advertising (go to step 4).
  6. If it does connect repeat with step 2.

**** What causes the issue ****

For the advertising piece in the above steps if we do:

bleprofile_Discoverable(HIGH_UNDIRECTED_DISCOVERABLE, NULL);

ibeacon_start();

It will eventually stop advertising, meaning according to any scanner you will not be able to see the device at all. However, nothing will seem wrong based on internal logs of the device. This usually happens around 10 or so cycles of it not connecting to the handset but can seem random.

**** What does not cause the issue *****

For the advertising piece in the above steps if we omit the ibeacon_start() meaning just do:

bleprofile_Discoverable(HIGH_UNDIRECTED_DISCOVERABLE, NULL);

Everything works fine.

So I need help as I have no idea what is happening and cannot use ibeacon advertising which is a main feature of a product I am trying to create.

3 Replies
Anonymous
Not applicable

mifobtta​ or vkrm​ Any update on this? It is a very easily reproducible bug and this bug makes the iBeacon feature essentially non-functional.

0 Likes
JoSu_1330331
Level 2
Level 2
5 likes given First like received First like given

Dear All,

I have a similar problem.

I use the same chip, BCM20736S, the same function call,bleprofile_Discoverable(HIGH_UNDIRECTED_DISCOVERABLE, NULL) and got the same issue, random happen to stop the advertisement, except power off/on again.

The difference is that I just only using the above function call, and do not follow with ibeacon_start() or any others function.

It normally executes advertisement will LED on/off function by I/O control directly for several days.  The best one could be working properly over months.  When trouble happens, we see only LED blinking, but no advertisement data be detected, anymore.

We guess it could be caused by power noise to stop RF block function in IC.  But, after deep sleep can not wake it up to work when the trouble happened.  At that time, its same as above description, we only see the LED blinking, but no any advertisement data be received again.

We do not find the solution, yet.

Anyone could give me a suggestion?

Thanks a lot.

0 Likes