This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Hung up on advertising

I'm migrating an old (but working) app from the S110 5.2.1 (SDK 4.X) to the latest SDK9/S110 8.0. I've read the migration doc, and I'm following the examples carefully (specifically app_hids_keyboard, app_uart, and app_hrs). All my init functions are happy: timer, scheduler (with the new APPSH stuff), softdevice (using SOFTDEVICE_HANDLER_APPSH_INIT), everything comes up nicely. Scheduler works.

Then, I call ble_advertising_start(), I get a single BLE_ADV_EVT_FAST, then never another event of any kind. My phone can't see it advertising like it used to, and I never get any errors or anything--just quiet.

The major difference I noticed with my old code is that is has the sec_params_init() and responds to BLE_GAP_EVT_SEC_INFO_REQUEST, while most of the demos respond to that with a BLE_GAP_SEC_STATUS_PAIRING_NOT_SUPP. I never get that event in any case. I noticed that the device manager seems to make those similar security settings, but when I add it into the mix, I don't even get the first advertising event I was getting.

I'm really at a loss what to look for to debug this: If I get errors, I can see them; if I get events, I can see them. But I'm getting nothing.

  • Our BOM says "NRF51822-CEAA-R" Don't know how that translates into your "rev number". The compatibility matrix seems out of date--has no SDK 9 in it at all. Perhaps it's just too knew and buggy, and I should try downgrading a bit rather than trying the bleeding edge. The above code made no difference in my device. Also, I can find SD 8.0.0 docs and specification but not the "release notes" you speak of.

  • You can find CEAA in the Packet/Variant column in Table 2. You have a revision 2 WLCSP. By looking at Table 4 you can see that it is compatible with SoftDevice S110 8.0.0, if you enable mutual exclusion. The release notes are included in the zip together with the S110 hex file. SDKs after 6.1.0 haven't been tested on revision 2 chips, but this doesn't mean that it doesn't work, just that it is not testet. SDK 9.0.0 should be added to the matrix, I agree. It is not too new and buggy, most of what is included is the same as in SDK 8.0.0, with some added bugfixes/examples/libraries. Do you have an external 32 kHz crystal on your board? Since you initializing with the SoftDevice NRF_CLOCK_LFCLKSRC_XTAL_20_PPM?

  • Thanks. The crystal on the board is a 16MHz NX2520SA. I'll try moving back one SD level to see if that changes anything.

  • If you don't have a 32 kHz crystal you can't use NRF_CLOCK_LFCLKSRC_XTAL_20_PPM, you need to tell the SoftDevice to use the 250 ppm RC oscillator.

  • Just FYI, I finally got it working with SDK 8.1 / SD 7.30. If I discover anything more, I'll let you know.

Related