BRN404X and External SIM Problems

EDIT: I ran for 5 hours connected to AT&T using the internal SIM without a single cloud issue. As soon as I changed to the external SIM I see that the tower connection is solid but the cloud connection drops often (3-4 times an hour). I lowered the keep alive to 10s and it seems more stable with a cloud disconnect about once an hour (it has run for 2.5 hours so far).

I’m satisfied that this is an AT&T issue on UDP punched holes running a 3rd party SIM. I’ve ordered 2 other SIMs and will
See what happens.
————-/////————

(I know you guys just LOVE external SIM issues... Sorry that I gotta be that guy).

My Boron is having issues connecting and then staying connected to the Particle Cloud. The modem seems to do just fine holding onto the tower. Below is a partial trace during a disconnect and then reconnect. Sometimes they're quick, other times the Boron LED flashes the most rapid cyan for a long time. I have KeepAlive set to 15 seconds for my testing. Nothing seems to help. Last week I was doing better with T-Mobile I feel, at least I did not see this issue that I can remember. This weekend all I get is AT&T.

Any insight? Is there something I can do? Thanks in advance!

0000639141 [comm.protocol] TRACE: Reply recieved: type=2, code=0
0000639142 [comm.protocol] TRACE: message id 166 complete with code 0.00
0000639143 [comm.protocol] TRACE: rcv'd message type=13
0000656518 [comm.protocol] TRACE: Reply recieved: type=2, code=0
0000656518 [comm.protocol] TRACE: message id 167 complete with code 0.00
0000656519 [comm.protocol] TRACE: rcv'd message type=13
0000677196 [comm.protocol] TRACE: Reply recieved: type=2, code=0
0000677197 [comm.protocol] TRACE: message id 168 complete with code 0.00
0000677198 [comm.protocol] TRACE: rcv'd message type=13
0000689480 [ncp.at] TRACE: > AT+COPS=3,2
0000689805 [ncp.at] TRACE: < OK
0000689805 [ncp.at] TRACE: > AT+COPS?
0000689813 [ncp.at] TRACE: < +COPS: 0,2,"310410",7
0000689813 [ncp.at] TRACE: < OK
0000689814 [ncp.at] TRACE: > AT+UCGED?
0000689822 [ncp.at] TRACE: < +UCGED: 2
0000689822 [ncp.at] TRACE: < 6,4,310,410
0000689823 [ncp.at] TRACE: < 5110,12,50,50,711d,8189711,48,fa479a75,ff30,14,33,5,-5.87,1,255,255,33,255,255,0,255,255,80
0000689824 [ncp.at] TRACE: < OK
0000722298 [comm.protocol] ERROR: Event loop error 1
0000722298 [system] WARN: Communication loop error, closing cloud socket
0000722299 [system] INFO: Cloud: disconnecting
0000722300 [system] INFO: Cloud: disconnected
0000722301 [system] INFO: Cloud: connecting
0000722305 [system] INFO: Cloud socket connected
0000722306 [comm.protocol.handshake] INFO: Establish secure connection
0000722313 [comm.dtls] INFO: session has 0 uses
0000722329 [comm.dtls] INFO: (CMPL,RENEG,NO_SESS,ERR) restoreStatus=0
0000722330 [comm.dtls] INFO: out_ctr 0,1,0,0,0,0,0,59, next_coap_id=a9
0000722331 [comm.dtls] INFO: restored session from persisted session data. next_msg_id=169
0000722332 [comm.dtls] INFO: session cmd (CLS,DIS,MOV,LOD,SAV): 2
0000722714 [ncp.at] TRACE: > AT+CFUN?
0000723084 [ncp.at] TRACE: < +CFUN: 1,7
0000723085 [ncp.at] TRACE: < OK
0000723085 [ncp.at] TRACE: > AT+CCID
0000723111 [ncp.at] TRACE: < +CCID: 8944501311216879987
0000723111 [ncp.at] TRACE: < OK
0000723112 [ncp.at] TRACE: > AT+CGSN
0000723116 [ncp.at] TRACE: < 351457830322654
0000723116 [ncp.at] TRACE: < OK
0000723117 [ncp.at] TRACE: > ATI9
0000723120 [ncp.at] TRACE: < 03.15,A00.01
0000723121 [ncp.at] TRACE: < OK
0000723121 [comm.protocol.handshake] INFO: Skipping HELLO message
0000723126 [comm.protocol] INFO: Checksum has not changed; not sending application DESCRIBE
0000723126 [comm.protocol] INFO: Checksum has not changed; not sending subscriptions
0000728043 [comm.dtls] INFO: session cmd (CLS,DIS,MOV,LOD,SAV): 4
0000728045 [comm.protocol] TRACE: Reply recieved: type=2, code=0
0000728046 [comm.protocol] TRACE: message id 171 complete with code 0.00
0000728047 [comm.protocol] TRACE: rcv'd message type=13
0000728204 [comm.protocol] TRACE: Reply recieved: type=2, code=0
0000728205 [comm.protocol] TRACE: message id 172 complete with code 0.00
0000728206 [comm.protocol] TRACE: rcv'd message type=13
0000728283 [comm.protocol] TRACE: Reply recieved: type=2, code=0
0000728284 [comm.protocol] TRACE: message id 170 complete with code 0.00
0000728285 [comm.protocol] TRACE: rcv'd message type=13
0000728386 [system] INFO: Cloud connected
0000730240 [comm.protocol] TRACE: rcv'd message type=8

It does sound like a keepalive timeout with the 3rd party sim provider. You will have to play aroud the keepalive time to get the correct ping time for the 3rd party sim.

I agree. Overnight I changed the keep alive to 150s. It ran all night without a single disconnect. As soon as 8:00am rolled around it’s reconnected 3 times in 1.5hrs.

I think they dynamically adjust the timeout based on load which would make sense.

I don’t think being a small guy/user in this bandwidth is recommended. Glad Particle was able to secure a long keep alive period.