I'm looking at creating my own IoT module and want to understand the various certification processes.
That post does not describe from a software engineering point of view what is required to get a network certification letter for various carriers.
To be clear, for this discussion:
I am only focusing on the SOFTWARE side, the hardware engineer will need to deal with FCC and all things RF
I'm sure SW will need to provide some level of support but generally that task is the HW engineer's job - mine is the SW side.
Assume we are making a small board like Particle.IO electron, or Digi "xbee3 cellular" module, for the US market (additional market info would be great)
Yes, my volumes justify my own design using a module, I want to understand every aspect of this, we might contract this out - we might not.
I'm not finding answers other than "Oh it's hard, you should be scared, you should hire us to do this for you". On the RF side, I fully agree - I'm no RF engineer. But on the SW side, I am suspicious, and believe that it is simpler then I would think.
On my external micro - there are 4 bodies of software:
Part 1 of 4 Stuff I need for my manufacturing process - that's my problem and well understood.
Part 2 of 4 My application software that does what my gadget needs to do, again, this is well understood.
Of course, my application will need to configure the modem etc... per the specific network requirements - I consider this part of my application.
Now the two parts that I don't know and need to understand:
- Part 3 of 4 - Is the stuff required for PTCRB/GCF certification in the lab.
What is required? I have some ideas (below) ... but I have never done this, so I'm a little confused.
- Part 4 of 4 - is the carrier specific part, what needs to be done?
Every carrier wants some extra features - of course, there is RF performance, but that is out of scope for this discussion (it is the HW engineer's problem not mine) I'm asking about SW side questions.
My hunch is this: There's a lot of overlap between the PTCRB/GCF and the carrier process requirements.
From what I can tell - there are several SW features I need to implement
Part-A a purely test/configuration mode. I need to provide a pass-through scheme so the LAB can talk directly to the modem so that it transmits/receives specific test patterns and test data. My proposed solution would be a test point that disables my micro and lets the test house access the modem via the modem's built-in USB interface via test points on the circuit board.
Part-B - Seems to be some means to force my device to operate in a degraded mode. Meaning: My device would normally use 4G-LTE but might fall back to 3G or 2G if needed. In contrast to the 'special test mode' above - the carrier & lab may need to have my device operate in a generally "normal fashion" - while forcing it to use a 3G or 2G connection.
This sounds like nothing more than a mode to send special AT commands to the modem to force the modem into the degraded mode - instead of -the normal list of commands I might send during normal operation.
Is my understanding correct? Is there anything else I need to understand? or provide?
Part C - it seems AT&T wants ODIS and/or LWM2M support - so their device management system can talk to my device, reference:
What about other carriers? I'd rather plan for them now than discover later and have to redo stuff.
Example: The BC96 from Quectel includes the LWM2M stack (Read their various app notes to find this), it seems all I need to do is answer device management queries the carriers' cloud might make
Feedback and a list of suggested reading material would be helpful. Specifically, if you can give me a DOCUMENT NUMBER w/ revision so I know I am reading the correct thing