There are ~100 Knowledge Base Articles (KBAs) in the Bluetooth section of the forum on a diverse range of sub-topics. We know they are sometimes challenging to find, especially when you don't know what exists (and therefore you don't search for it).
To simplify this task we have created a Bluetooth Knowledge Base Article List which has all the KBAs divided into sub-topics. This list only contains KBAs which are meaningful today, so you won't find anything related with SDK 1.x, BGScript or anything else which has been deprecated. Most of those KBAs are still here but their title has been marked with a "[Deprecated]" prefix and a Note pointing for a more updated KBA where applicable. This is to avoid confusing our customers into reading material which is no longer applicable.
It would be great to hear if you find this list useful and any thoughts you might have on how to improve it.
Additionally please check out our Bluetooth training page -> https://www.silabs.com/support/training/bluetooth
Some mobile devices may have connection problems after updating BGX13 to 1.2.2045.0.
SIlicon Labs recently updated the firmware for BGX13 to version 1.2.2045.0.
This version has some feature improvements, but these improvements required that we make some changes to the GATT attributes. Because of this, some phones may experience connection problems after the BGX13 firmware is updated.
Some mobile devices remember the GATT attributes of devices that have been paired or bonded in the past. When the GATT attributes are changed after the 1.2 update, the mobile device cached GATT information is misaligned between the two devices. This causes invalid handles to bluetooth services and characteristics. As a result attempts to connect to the device may no longer work, or some feature may not work such as sending or receiving data between a phone and the specific BGX for which this invalid bonding exists.
Invalid/misaligned bonding data must be cleared and then the bond should be re-established using the correct GATT attributes.
The problem may manifest in the following ways.
On iOS, you may see a message on the device details screen reading "SOME_OTHER_MODE".
On either Android or iOS, you may also see a password dialog appear at an inappropriate time or when no password has been set. You might also see that data is not being sent from the phone to the BGX or from the BGX to the phone.
To solve this problem, perform the following operations:
1. Clarify to yourself what the specific issue is.
2. Apply basic troubleshooting:
3. Consult the datasheets and reference manuals. Sources include:
4. Search to see if someone has asked the same question already.
5. Include the relevant parts of your development setup in the problem description. Examples include:
6. Include steps to reproduce the problem or specific conditions the problem occurs in.
7. Be patient and avoid making duplicates of your question.
For general community usage please refer to the Silicon Labs Community Guidelines.
I was looking at the API notes for 126.96.36.199 and saw cmd_le_connection_read_channel_map() has been added. I was a little confused about what the return value means. If a channel is marked as Used, what exactly does that mean in this context? Does it mean the AFH algorithm is avoiding that channel as per KBA BT 0406?
Additionally, what is the bit order for the output in the 5-byte return?
In my project I would like to be able to put my MCU in deep sleep mode for a long period of time (about 1 day). In this mode the BLE loop is not even called. I am making use of the function :
So, after a certain amount of time, I call this script :
CORE_DECLARE_IRQ_STATE; CORE_ENTER_ATOMIC(); // Disable interrupts time_ms = gecko_can_sleep_ms(); gecko_sleep_for_ms(time_ms); CORE_EXIT_ATOMIC(); // Enable interrupts
This is the result :
- Whenever I ask for how long I can sleep, I always end up having "131071999" which is 0x7cfffff.
- The time which is actually slept is always smaller than 131072 ms = 0x20000.
- The time actually slept is modulo 131072 ms. For example : if I want to sleep 131073 ms, it will sleep for only 1 ms. If I want to sleep 131071 ms, I will sleep for 131071. If I want to sleep (y*131072)+x, it will always sleep x ms.
Is it the normal behavior ? I have not seen anything regarding the "maximum" time the stack can sleep in the datasheets. Is it intentional or is it a bug from my program ?
points to iOS cable replacement apps. Several forum posts point to source code for this app, but the links seem invalid. Please point me to this app and source code for interfacing iOs to BLE113 using cable replacement profile.
With best regards,
I am using bgtool and ncp_btmesh_empty_target in my EVK. I want to know the details about passing parameters in the API commands. For example to initiate provisioning mode there is a command called gecko_cmd_mesh_prov_initialize_network(uint16 address,uint32 ivi);
In the above command what are the parameters can be passed to get command successful? I need some reference to use api commands and the parameter values.
Note: ncp_btmesh_empty_target code is not modified. Created by ide and used the same for testing.
I have been developing an application on a BGM13S32F512GA module. Using the Bluetooth SDK 2.12 stack I was able to link and run my program. The program uses the RTCC peripheral and defines the RTCC IRQ Handler. My understanding is that for the EFR32BG13 parts, that the RTCC is available for use the application. That certainly seems to be the case as I have been able to build and run the application.
Upon upgrading to version 2.13.0, it appears that the Bluetooth stack now uses a sleeptimer driver. For my part, the driver is targeted at the RTCC and defines the RTCC IRQ Handler. Consequently, when linking my application against the 2.13 SDK I get a duplicate definition of the handler.
My question is: Has the RTCC been taken over by the Bluetooth stack? Am I now forced to either find another timing resource or re-code to use the same driver that the Bluetooth stack now seems to insist upon (assuming I can get the functionality from the driver that I want)?
I am trying to use a BLED112 dongle to write characteristic on a remote BLE device. The characteristic is 500 bytes long.
Using BGLIB, I see the 'prepare_write' and 'execute_write' commands allow you to queue up 18 bytes at a time with 'prepare_write' and at the end send the 'execute_write' command.
However, it appears that I get an error 0409 - prepare write queue full when queueing up more that 5 prepare writes, in order words trying to write more than 90 bytes (18 * 5) to the characteristic.
How can I use the BLED to write to this long characteristic? Is there a version of firmware for the dongle that has a larger prepare write queue size?
Hello, I have developed a chrome app that uses the Bluetooth API. It works great on Mac, but does not connect on Windows 10. This seems to be something specific to the BGX13P, since it can connect to other Bluetooth devices. The module is at v1.2.2045.0
An easy way to replicate this issue is to test the web bluetooth samples on Google chrome:
I've preloaded the sample with the service UUID and Characteristic for notifications. With BGX13 GPIO0 pin set for Connection Active, you should see this toggle once connected:
gfu 0 con_active
gdi 0 olo pp
Just click "Start Notifications", should see a pop-up, then pair to the BGX13P device. Again, must be on Google chrome for this.
So now I'm wondering if there's some settings in the BGX that are now allowing Windows to connect? Maybe something with security? Also, I only have access to a fairly old Windows 10 machine, so it is possible that is the issue. There's no error messages or anything, so no idea what's going on here.
user advertise data work
gecko_cmd_le_gap_bt5_set_adv_data(LEGACY_ADV, 0, 31,(const uint8_t*) advertise_Data)->result; gecko_cmd_le_gap_set_mode(le_gap_user_data, le_gap_connectable_scannable);
user advertise data doesnt work
gecko_cmd_le_gap_bt5_set_adv_data(LEGACY_ADV, 0, 31,(const uint8_t*) advertise_Data)->result; gecko_cmd_le_gap_start_advertising(LEGACY_ADV,
I cant use start advertising , so I cant use user advertise data on other types of advertise like , coded phy or extended advertise
Hello, I need to apply the EFR32MG13P732F512GM48 chip for Bluetooth 2.4GHz Brazilian Telecommunications Certification at ANATEL.
For that I am using the EFR32MG13P732F512GM48 chip attached to the Wireless Starter Kit Mainboard (BRD4001) throw an Alternative Interface (Simplicity Debug Adapter Board Interface) = (Mini Simplicity Connector 10 pins) as shown in https://www.silabs.com/documents/public/application-notes/an958-mcu-stk-wstk-guide.pdf ; section 4.1.1 .
My connections are demonstrated at the attached file on the 1st page.
My goal is to flash the ncp-empty-target firmware from Bluetooth 2.12.3 SDK and then use BGTools to validate. So, I am having 2 errors:
1st – When I click at the Device Configuration in the Debug Adapters box in the Launcher Screen, I can see the following message:
No selected boards are compatible with the selected target part
At the Target Part, I have written: EFR32MG13P732F512GM48
And at Boards: Wireless Starter Kit Mainboard (BRD4001A Rev A01)
A print is available within the 2nd page of the attached file.
2nd – When I open the BG Tools although I follow the instructions from this forum thread https://www.silabs.com/community/wireless/bluetooth/forum.topic.html/bgtool_not_respondin-4LfT ; I can´t find a ncp-empty-target firmware for my chipset, this is shown at Second page from attached pdf file the last print screen image. After flashing with the image from App builder(Not the one specific for my chip), I get the following error message after opening the COM port:
Device not responding!
The device not responding. Check that:
-the kit is powered
-the module carrier is connected to the WSTK main board
-the baud rate is set correctly (default 115200)
Please, I have looked throw the Forum, there is at least one to two weeks I am stuck with this problem.
I have checked, re-checked, triple-checked the hardware connections.
Best Regards, thank you for your time!
We are using bluetooth low energy dongle BLED112-V1 in our test equipement with labview apis. We would like to customize the advetising data packet with 40 byte data payload. We would also like to customize the beacon name like ML-ASST in the data payload. Please let us know, how to achive this. Send us the reference documents if available.
Sr. Hardware Engineer