have done some more testing during the day and can confirm that the Boron board itself appears to be ok.
I found another Nano LTE-M SIM, and that doesn’t throw an error on SIM not being inserted
starting tests...
turning cellular on...
deviceID=e00fce688ce16cf546078933
manufacturer=u-blox
model=SARA-R410M-02B
firmware version=L0.0.00.00.05.06 [Feb 03 2018 13:00:41]
ordering code=SARA-R410M-02B
IMEI=352753090289172
IMSI=u-blox
ICCID=8931080019073496748
0000036684 [app] INFO: enabling trace logging
0000036684 [ncp.at] TRACE: > AT+CGDCONT?
0000036733 [ncp.at] TRACE: < +CGDCONT: 1,"IP","apn","0.0.0.0",0,0,0,0
0000036734 [ncp.at] TRACE: < OK
0000036734 [ncp.at] TRACE: > AT+CSQ
0000036783 [ncp.at] TRACE: < +CSQ: 99,99
0000036783 [ncp.at] TRACE: < OK
attempting to connect to the cellular network...
0000036786 [system.nm] INFO: State changed: IFACE_DOWN -> IFACE_REQUEST_UP
0000036786 [system.nm] INFO: State changed: IFACE_DOWN -> IFACE_REQUEST_UP
0000036787 [hal] TRACE: PPP netif -> 8
0000036787 [net.ifapi] INFO: Netif pp3 state UP
0000036787 [net.ifapi] INFO: Netif pp3 state UP
0000036789 [hal] TRACE: PPP thread event LOWER_DOWN
0000036789 [hal] TRACE: PPP thread event ADM_DOWN
0000036789 [hal] TRACE: PPP thread event ADM_UP
0000036790 [hal] TRACE: State NONE -> READY
0000036792 [ncp.at] TRACE: > AT+CGDCONT=1,"IP","apn"
0000036794 [system.nm] INFO: State changed: IFACE_REQUEST_UP -> IFACE_UP
0000036794 [system.nm] INFO: State changed: IFACE_REQUEST_UP -> IFACE_UP
0000036833 [ncp.at] TRACE: < OK
0000036834 [ncp.at] TRACE: > AT+CEREG=2
0000036883 [ncp.at] TRACE: < OK
0000036883 [hal] TRACE: NCP connection state changed: 1
0000036884 [net.pppncp] TRACE: NCP event 2
0000036884 [net.pppncp] TRACE: State changed event: 1
0000036885 [hal] TRACE: PPP thread event LOWER_DOWN
0000036885 [ncp.at] TRACE: > AT+COPS=0,2
0000036933 [ncp.at] TRACE: < OK
0000036934 [ncp.at] TRACE: > AT+CEREG?
0000036934 [ncp.at] TRACE: < +CEREG: 2
0000036983 [ncp.at] TRACE: < +CEREG: 2,2
0000036984 [ncp.at] TRACE: < OK
0000051984 [ncp.at] TRACE: > AT+CEREG?
0000052033 [ncp.at] TRACE: < +CEREG: 2,2
0000052033 [ncp.at] TRACE: < OK
0000052134 [ncp.at] TRACE: < +CEREG: 0
0000067034 [ncp.at] TRACE: > AT+CEREG?
0000067083 [ncp.at] TRACE: < +CEREG: 2,0
0000067083 [ncp.at] TRACE: < OK
0000082084 [ncp.at] TRACE: > AT+CEREG?
0000082133 [ncp.at] TRACE: < +CEREG: 2,0
0000082133 [ncp.at] TRACE: < OK
0000091937 [ncp.at] TRACE: < +CEREG: 2
0000097137 [ncp.at] TRACE: > AT+CEREG?
0000097195 [ncp.at] TRACE: < +CEREG: 2,2
0000097195 [ncp.at] TRACE: < OK
0000112196 [ncp.at] TRACE: > AT+CEREG?
0000112253 [ncp.at] TRACE: < +CEREG: 2,2
0000112253 [ncp.at] TRACE: < OK
0000127256 [ncp.at] TRACE: > AT+CEREG?
0000127307 [ncp.at] TRACE: < +CEREG: 2,2
0000127307 [ncp.at] TRACE: < OK
0000142321 [ncp.at] TRACE: > AT+CEREG?
0000142345 [ncp.at] TRACE: < +CEREG: 2,2
0000142346 [ncp.at] TRACE: < OK
0000142446 [ncp.at] TRACE: < +CEREG: 0
0000145316 [sys.power] TRACE: Battery state CHARGED -> DISCONNECTED
0000157352 [ncp.at] TRACE: > AT+CEREG?
0000157399 [ncp.at] TRACE: < +CEREG: 2,0
0000157399 [ncp.at] TRACE: < OK
0000172499 [ncp.at] TRACE: > AT+CEREG?
0000172549 [ncp.at] TRACE: < +CEREG: 2,0
0000172549 [ncp.at] TRACE: < OK
0000187649 [ncp.at] TRACE: > AT+CEREG?
0000187699 [ncp.at] TRACE: < +CEREG: 2,0
0000187699 [ncp.at] TRACE: < OK
0000202799 [ncp.at] TRACE: > AT+CEREG?
0000202849 [ncp.at] TRACE: < +CEREG: 2,0
0000202849 [ncp.at] TRACE: < OK
0000205316 [sys.power] TRACE: re-enabling charging
0000205350 [sys.power] TRACE: Battery state UNKNOWN -> CHARGED
0000217850 [ncp.at] TRACE: > AT+CEREG?
0000217900 [ncp.at] TRACE: < +CEREG: 2,0
0000217900 [ncp.at] TRACE: < OK
0000232901 [ncp.at] TRACE: > AT+CEREG?
0000232950 [ncp.at] TRACE: < +CEREG: 2,0
0000232950 [ncp.at] TRACE: < OK
0000247951 [ncp.at] TRACE: > AT+CEREG?
0000248000 [ncp.at] TRACE: < +CEREG: 2,0
0000248000 [ncp.at] TRACE: < OK
good news! but swapping the original SIM back in, seems to be not inserted. And again, testing that SIM in other devices works fine. So it would seem the combination of that sim and particle boron lte is causing issues.
I’ve put the SIMs side by side, and there is nothing i can see that would cause issues - if anything, physically, the SIM that works has smaller contact areas.
One other thing I can think of then is perhaps a SIM voltage issue? From what I can see in the block diagram, schematics and datasheets, and my understanding of the way a terminal selects the SIM voltage, this shouldn’t be an issue - it should start at 1.8v, then try 3v and 5v until one works - and since the R410m is a being powered by Vsys at 5v this shouldn’t be an issue
i’ve just spent the last few hours backtracking the device-os code from the trace information - thinking that either 1) i can find where the SIM insertion test is and hence why it’s failing or 2) it might be a bad mapping between error codes and it’s not actually a “SIM not inserted error”
line 860 of https://github.com/particle-iot/device-os/blob/af50fb1b6017412c3719d876f602500a2c47dd23/hal/src/boron/network/sara_ncp_client.cpp would seem to suggest that numeric error codes from the R410 are used
i can see at line 772, the R410 GPIOs are read. GPIO 2 (#23) is the sim select switch, and from my trace i can see 0 is being returned, indicating the external sim - so thats correct
0000487059 [ncp.at] TRACE: > AT+UGPIOC?
0000487066 [ncp.at] TRACE: < +UGPIOC:
0000487066 [ncp.at] TRACE: < 16,255
0000487067 [ncp.at] TRACE: < 19,255
0000487068 [ncp.at] TRACE: < 23,0 <---- EXT correct
0000487068 [ncp.at] TRACE: < 24,255
0000487069 [ncp.at] TRACE: < 25,255
0000487070 [ncp.at] TRACE: < 42,255
0000487070 [ncp.at] TRACE: < OK
at line 808 we get the log info “Using external SIM card” as expected (matches the cloud debug trace)
at line 866 there is a checkSimCard() call, which at line 1050 does the AT+CPIN? and somewhere between line 1054 and 1063 i figure the issue is… but i can’t see where the mapping to “SIM not inserted” is being done… maybe a problem for tomorrow!