BLE Connect Error 133

Hello,

I am developing BLE peripheral Reader FW using nRF Connect SDK v2.0.0 on VSCode

I have developed my application using NRF52840 DK (development board) and it works on it.

I can connect to Mobile client (nRF Connect Application on Samsung S21 phone) and also read BLE ID from the service specific app.

However, when same application I flash on my custom board (got from HW team), the Mobile Client doesn’t seem to connect !!

I used Nrf Connect Application to test .. connect disconnect, here is the log.

Not sure, whats happening if you can give your expertise. See below.

 

On custom platform:

 

nRF Connect, 2022-06-30
rfID (EE:A6:78:9B:3E:37)
D 15:57:44.590 gatt.close()
D 15:57:44.595 wait(200)
V 15:57:44.796 Connecting to EE:A6:78:9B:3E:37...
D 15:57:44.796 gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE, preferred PHY = LE 1M)
D 15:57:49.883 [Callback] Connection state changed with status: 133 and new state: DISCONNECTED (0)
E 15:57:49.884 Error 133 (0x85): GATT ERROR
I 15:57:49.884 Disconnected

 

On nRF52840 DK:

 

nRF Connect, 2022-06-30
rfID (CF:48:4D:88:18:4E)
V 16:00:59.531 Connecting to CF:48:4D:88:18:4E...
D 16:00:59.531 gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE, preferred PHY = LE 1M)
D 16:01:00.240 [Callback] Connection state changed with status: 0 and new state: CONNECTED (2)
I 16:01:00.240 Connected to CF:48:4D:88:18:4E
V 16:01:00.262 Discovering services...
               

Parents
  • Hi SImonr,

    Thanks for your detailed response.

    Your solution works.

    Yes, that was the issue. 

    The DK board has external 32 khz crystal (LFXO) and nrf connect sdk by default is configured to use this LFXO.

    I used the same sdk using LFXO but my custom board doesnt have external crystal. So, i have to change my application to use internal RC.

    Perfect and on to the point answer that described the issue and had the solution.

    Thanks.

Reply
  • Hi SImonr,

    Thanks for your detailed response.

    Your solution works.

    Yes, that was the issue. 

    The DK board has external 32 khz crystal (LFXO) and nrf connect sdk by default is configured to use this LFXO.

    I used the same sdk using LFXO but my custom board doesnt have external crystal. So, i have to change my application to use internal RC.

    Perfect and on to the point answer that described the issue and had the solution.

    Thanks.

Children
  • The time in ms highlighted in previous screenshots was the advertising interval (time between BLE advertisements).

    Due to this disconnect between whats present on custom board and whats configured in application for using 32 KHz, the advertising interval was much faster than expected and may be establishing a connection got failed.

    After the solution was applied in application to configure the correct source for 32 KHz, the advertising interval seems now correct as seen for DK.

Related