I'm using NCS v2.2.0, and made a modified version of the peripheral_lbs project with a pretty minimal configuration and most of the hardware functionality (e.g. GPIOs, buttons, LEDs) disabled. I also am configured to use the internal 32kHz RCOSC and not an external 32kHz crystal. I've included my config file details below.
I'm currently building based on the nrf5340_dk_nrf5340_cpuapp board configuration, though since all the GPIO, button, and LED functionality is disabled I figured that it should be safe to load on hardware aside from the nRF5340 DK itself.
Here's the issue that I'm having.
When I make a build with this setup, it runs fine on either an nRF5340 DK board or on a uBlox NORA B106 dev kit. But when I try to run the exact same build (no modifications whatsoever) on my custom hardware containing a uBlox NORA B126 module, the call to bt_enable in main returns EAGAIN (-11) and I can't figure out why. Note that I have seen this DevZone post with a similar problem, and in my case I am calling bt_enable from the main thread so it is not the same issue. Also, I know that the code is OK because as I mentioned it runs fine on the nRF5340 DK and uBlox NORA B106 dev kit board.
There are two key differences between my custom hardware and the two dev kits that might be relevant here:
1. My custom hardware does not contain a 32kHz crystal. This is why have configured the project to use the internal RC oscillator.
2. My custom hardware is based on the NORA B126 part, which means that there is an integrated FEM within the module. For now I haven't done anything specific to the FEM, and I'm not even using any board / overlay files to set up control of the FEM. I figured that this shouldn't have any impact on the getting basic functionality working, and would try to get the FEM working later.
Any idea why the call to bt_enable fails on my custom hardware and not on the dev kits? Besides the above two points, is there anything else in the hardware design itself that could cause the EAGAIN error?
Here is the config file that I'm using, which is a modified version of the prj_minimal.conf file included with the peripheral_lbs project: