Hi all.
We are using DA14580 with DSPS that uploaded from stm32l152ve during startup process.
Now, we are watching unstable behaviour during paring process with different smartphones.
You know it is unreachable code in your module,so,could you pleasesuggest me
any tool, application or method for debugging paring process in order to resolve our problems.
I saw that you provide CLI, but please draw your attention - we don't use OTP,
however上传the ble firmware from "main" MCU.
And one more question:
I suppose that you checked this device (DA14580) with different samples of mobile devices.
How did you check it ?
Could you please let me know what are the samples ?
I mean, what are operating systems? What are manufactures ?
And any other information that can be useful for us.
Thanks a lot for your time and consideration
Syqe medical
Valerie
Hi etai,
Could you please kindly explain what you mean with the “paring process”? Do you mean the pairing procedure when the security is enabled, or you cannot connect your DA14580 with another peer device?
Regarding the first case, be aware that pairing has a different meaning in Bluetooth LE and it is referring to security feature. The DSPS reference application code doesn't use the security feature, so there's no pairing between the devices. The functions that are executed when a connection indication arrives to the peripheral is the user_on_connection and the same function executes at the central as well when establishing the connection. If you would like to add security on the DSPS, the SDK5.0.4 has an example of how to implement security on the 580, you can take that as an example. This project is located under 5.0.4\projects\target_apps\ble_examples\ble_app_security folder path.
Regarding the second case, do you have a custom board, or you are using any of our development boards? Your DA14580 acts as central or as a peripheral? In case of the peripheral, could you please check if is advertising? You could use the power profiler od SmartSnippets toolbox for this scope.
I would strongly recommend you to have a look at the DSPS user manualUM-B-038 : User Manual for Dialog Serial Port Profile (DA14580)user manual.
Also, be aware that any further inputs would be very helpful as you question is little bit generic.
Thanks, PM_Dialog
Hi
通过配对过程,我的意思是客y exchange and then bonding the device with a smartphone by storing the pairing data. I have enabled security in DSPS, it's currently set to :
.oob = GAP_OOB_AUTH_DATA_NOT_PRESENT,
.key_size = KEY_LEN,
.iocap = GAP_IO_CAP_NO_INPUT_NO_OUTPUT,
.auth = GAP_AUTH_REQ_NO_MITM_BOND,
.sec_req = GAP_SEC1_NOAUTH_PAIR_ENC,
.ikey_dist = GAP_KDIST_SIGNKEY, // | GAP_KDIST_IDKEY,
.rkey_dist = GAP_KDIST_ENCKEY,
We use our own custom board for the product. 14580 acts as peripheral, to the STM32L1 main MCU. Since there is no flash on 14580, once the pairing is successful, we wait until the pairing is complete, then we use the .app_on_pairing_sucess callback to save the pairing data and transfer it to the main MCU. Our issue is that there are discrepancies between the pairing process on different smartphones. Sometimes, the callback triggers and we get the pairing data, but the on the phone side pairing fails, and our pairing data is corrupted.
Our issue is that from what I've seen, the pairing process data exchange itself is handled by your kernel on ROM, and I only get limited control and debug through ke_** messages. Is there any way, or any tools for more in-depth debug of the pairing process?
配对的行为也明显度均nt when tested with different smartphone models. We always see the device advertising, on any model, however, the pairing process has more issues on certain Android models. Which is why we ask whether and how you tested the module vs different phone models.
Thanks again
Syqe Medical
Valerie
Hi
通过配对过程,我的意思是客y exchange and then bonding the device with a smartphone by storing the pairing data. I have enabled security in DSPS, it's currently set to :
.oob = GAP_OOB_AUTH_DATA_NOT_PRESENT,
.key_size = KEY_LEN,
.iocap = GAP_IO_CAP_NO_INPUT_NO_OUTPUT,
.auth = GAP_AUTH_REQ_NO_MITM_BOND,
.sec_req = GAP_SEC1_NOAUTH_PAIR_ENC,
.ikey_dist = GAP_KDIST_SIGNKEY, // | GAP_KDIST_IDKEY,
.rkey_dist = GAP_KDIST_ENCKEY,
We use our own custom board for the product. 14580 acts as peripheral, to the STM32L1 main MCU. Since there is no flash on 14580, once the pairing is successful, we wait until the pairing is complete, then we use the .app_on_pairing_sucess callback to save the pairing data and transfer it to the main MCU. Our issue is that there are discrepancies between the pairing process on different smartphones. Sometimes, the callback triggers and we get the pairing data, but the on the phone side pairing fails, and our pairing data is corrupted.
Our issue is that from what I've seen, the pairing process data exchange itself is handled by your kernel on ROM, and I only get limited control and debug through ke_** messages. Is there any way, or any tools for more in-depth debug of the pairing process?
配对的行为也明显度均nt when tested with different smartphone models. We always see the device advertising, on any model, however, the pairing process has more issues on certain Android models. Which is why we ask whether and how you tested the module vs different phone models.
Thanks again
Syqe Medical
Valerie
Hi
You could use the power profiler od SmartSnippets toolbox for this scope.
How SmartSnippets toolbox can help us. It is only for programming and loading of firmware into SRAM, OTP and Flash.
Thanks.
Hi etai,
We don’t have any specific tool for this scope. You could use a sniffer in order to check the messages that are exchanged over the air. Did you follow the ble_app_security example of the SDK? Regarding the SmartSnippets toolbox, there is included a tool named Power Profiler and you can check if your device is advertising or not. But as you mentioned, youρ device is advertising correctly. For your information, with the usage of SmartSnippets toolbox you are not able to download firmware into the System-RAM. You can only burn the SPI Flash or the OTP.
Thanks, PM_Dialog
Yes, I used SDK example for adding security.
What about the second issue? Can you explain to me how you checked this device?
What smartphones models did you check it with?
Android? iPhone? What operating systems? What manufactures?
Thanks in advance
Valerie
Hi etai,
I would suggest you to have a look atTutorial 5 : Pairing , Bonding & Securitytutorial for more information regarding the security in DA14580.
Thanks, PM_Dialog