No option to enter PIN after IoS update to 14.3 using the BLE in bootloader mode

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

cross mob
FrSt_4749731
Level 3
Level 3
10 replies posted 10 questions asked 10 sign-ins

Hello to all,

 

We were using BLE v3.30 and PSoc4 and OTA upgradable stack option for the FW update. Everything was working fine.

Then we updated the BLE to the v3.66 and now it seems we have problems to do a pairing as we cant enter the PIN number.

We are using mode 1, authentication with encryption, bonding and encryption key size 16.

The strangest thing is also, that everything seems to work fine when we are in app mode, but when we switch to the bootloader mode we are facing some problems. Pairing is working fine in the Android 10, 5.1, 8 and IoS 13.7. But is not working in the Android 9 and IoS 14.x when we are in the bootloader mode. I have checked and we are using the same settings in app and in bootloader mode, also as we are using the shared BLE stack the code is the same. Strangest thing is also that even if I could not enter PIN I can see GATT services, but when I try to do some read/write operation I get error that I have insufficient authentication rights.

As I see after the event CYBLE_EVT_GAP_DEVICE_CONNECTED, some phones don't send the  event CYBLE_EVT_GAP_SMP_NEGOTIATED_AUTH_INFO and I cant enter PIN code, so the authentication is not completed. And as I found CYBLE_EVT_GAP_AUTH_FAILED fails with: CYBLE_GAP_AUTH_ERROR_AUTHENTICATION_REQ_NOT_MET.

ADDED short UPDATE:

- I have tried to connect multiple times and sometimes I could enter the PIN number. Are there maybe any timing issues that I should be aware of?

The main loop in the file main.c is:

 for(;;)
{
CyBle_ProcessEvents();
Loader_HostLink(5u);

/* To have predictable timeout */
CyDelay(5u);
}

I am still trying to understand where is the problem. Also tried on the phone to clear the Bluetooth system cache, tried restarting the phone, unpairing all the devices, but nothing helped.

Does anyone knows what could be the problem? What is do different when we are in the app mode and when we are in the bootloader mode that could influent BLE authentication?

 

Thanks for the answer, Frenk

 

0 Likes
1 Solution
FrSt_4749731
Level 3
Level 3
10 replies posted 10 questions asked 10 sign-ins

Hello to all,

 

It seems I found the problem. It was the setting Strict Pairing which was set to ON and causing me that some phones could not pair when the device was in the bootloader mode:

 

GAP_Security_Strict_Pairing_YES.png

 

So why does it work when the device is in normal mode and why not when device is in bootloader mode? Is there more strict security set in the internal of the BLE stack when the device is in the bootloader mode?

I also found this related discussion:

https://community.cypress.com/t5/PSoC-4-MCU/Can-t-pair-to-a-phone-when-update-BLE-module-from-3-30-t...

 

But it also does not answer my question why is it working in normal mode and not in the bootloader mode. I would really appreciate if someone could explain to me the reason. For now I will with the BLE v3.66 set Strict Pairing to NO.

 

Best regards, Frenk

View solution in original post

0 Likes
1 Reply
FrSt_4749731
Level 3
Level 3
10 replies posted 10 questions asked 10 sign-ins

Hello to all,

 

It seems I found the problem. It was the setting Strict Pairing which was set to ON and causing me that some phones could not pair when the device was in the bootloader mode:

 

GAP_Security_Strict_Pairing_YES.png

 

So why does it work when the device is in normal mode and why not when device is in bootloader mode? Is there more strict security set in the internal of the BLE stack when the device is in the bootloader mode?

I also found this related discussion:

https://community.cypress.com/t5/PSoC-4-MCU/Can-t-pair-to-a-phone-when-update-BLE-module-from-3-30-t...

 

But it also does not answer my question why is it working in normal mode and not in the bootloader mode. I would really appreciate if someone could explain to me the reason. For now I will with the BLE v3.66 set Strict Pairing to NO.

 

Best regards, Frenk

0 Likes