XBee LTE CAT1 Registering twice each time

I’m kind of doubting I’ll get an answer, but I am seeing curious behavior when my CAT1 VZ xbee connects. Below is the trace, which is monitoring the AI (association indication) in the XBee. My products wakes from sleep, wakes the Xbee, which is in Airplane mode, the Xbee connects to a HTTP host, we then disconnect, put Xbee back in Airplane mode, then sleep the xbee.

Below is the trace - every time, it goes from Init to Register, then falls back to init and registers, before getting to connecting. Occasionally it goes through THREE of these cycles. Since it is taking from 65 to 130 seconds to connect, it would helpful to know if there is any way to eliminate this init->reg->init cycle, to reduce overall time we’re drinking battery power.

CELL: enter state:1/OFF
CELL: enter state:2/PWR
CELL: enter state:3/ACT
CELL: CM.ASSOC = Airplane Mode
CELL: CM.ASSOC = Init-ing
CELL: CM.ASSOC = Init-ing
CELL: CM.ASSOC = Init-ing
CELL: CM.ASSOC = Init-ing
CELL: CM.ASSOC = Init-ing
CELL: CM.ASSOC = Init-ing
CELL: CM.ASSOC = Init-ing
CELL: CM.ASSOC = Init-ing
CELL: CM.ASSOC = Init-ing
CELL: CM.ASSOC = Init-ing
CELL: CM.ASSOC = Init-ing
CELL: CM.ASSOC = Init-ing
CELL: CM.ASSOC = Init-ing
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Init-ing
CELL: CM.ASSOC = Init-ing
CELL: CM.ASSOC = Init-ing
CELL: CM.ASSOC = Init-ing
CELL: CM.ASSOC = Init-ing
CELL: CM.ASSOC = Init-ing
CELL: CM.ASSOC = Init-ing
CELL: CM.ASSOC = Init-ing
CELL: CM.ASSOC = Init-ing
CELL: CM.ASSOC = Init-ing
CELL: CM.ASSOC = Init-ing
CELL: CM.ASSOC = Init-ing
CELL: CM.ASSOC = Init-ing
CELL: CM.ASSOC = Init-ing
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Conn-ing
CELL: CM.ASSOC = Conn-ing
CELL: CM.ASSOC = Conn-ing
CELL: CM.ASSOC = Conn-ing
CELL: CM.ASSOC = Conn-ing
CELL: CM.ASSOC = Connected
CELL: enter state:4/CON
XMIT: POST http:// … { my web service request }
RECV: HTTP/1.1 200 OK … ( my web service response }
HTTP: Disconnecting
CELL: enter state:3/ACT
CELL: enter state:2/PWR
CELL: enter state:1/OFF
MAIN: Sleep …

1 Like

I’m not sure that the question I have will lead to a change in the registration behavior you are seeing, but can you explain why you are using Airplane Mode here? The sleep behavior of the XBee is to shut down the cellular portion already so simply using a sleep mode directly should result in an appropriate power cycle.

Are you on occasion using XBee functionality locally without removing the XBee from Airplane mode?

I do think that if you were to stop using Airplane mode you may still see multiple registrations, but it may be worth trying. Do you always see at least two, or does it sometimes succeed with a single cycle?

Try manually setting the APN for your network provider with the AN parameter. That will cause the unit to use that value for network registration instead of having to pull it from the cell tower every time it associates.

Other than that, I can’t think of anything right now. It could just be that the cellular tower is rejecting the connection for some reason at first.

At the moment we’re using airplane mode, because due to hazardous certs, over-all current consumption is very restricted. We don’t want the cell module sucking up 400+mA the instant we wake it - if we can’t TALK to the cell module! So I guess, I’m being paranoid & want the module to prove it is UNDER CONTROL, then ask it to connect to the internet and suck power. In Airplane mode, the Xbee drinks maybe 30mA of power, but once we shift into normal mode, it spikes up into the 400+mA range, which is far more current than our hardware guy was hoping to see. I’ll queue up the notion of leaving it in normal mode.

This is Verizon LTE - the APN is simply the VZ default (vzwireless or something like that). We’re not big enough to arrange a special custom APN yet. However, confirming the APN name is a good suggestion. At this point, I’m leaning towards assuming this is a time-out issue, where something within the Digi Xbee is waiting too long, so resetting/restarting the effort. Our RSSI is pretty bad - like often -101 to -105 dBm. But i do know under LTE the RSSI is far more complex, as it depends on the HW technology of the module you link to in the tower!

Actually, a bit of good news. My test device is waking once every 6 hours, and during the early Saturday morning upload, it started a better looking cycle & has kept it up since then. So maybe this was a VZ tower issue. There is about 2 seconds between each reading, so we’re still looking at ~65 secs to connect.

Another “interesting” issue - the Digi Xbee LTE CAT1 is reporting between -99 to -103 dBm. A Sequins LTE CAT1 in same place (on my desk) with same antenna (a typical quad band paddle), reports between -85 to -95 dBm. In both cases, I have diversity turned off, but I have read (in Telit) documents that the secondary antenna is NOT taken into account during any RSSI calcs, so I assume most vendors do things similarly.

CELL: enter state:1/OFF
CELL: enter state:2/PWR
CELL: enter state:3/ACT
CELL: CM.ASSOC = Airplane Mode
CELL: CM.ASSOC = Init-ing
CELL: CM.ASSOC = Init-ing
CELL: CM.ASSOC = Init-ing
CELL: CM.ASSOC = Init-ing
CELL: CM.ASSOC = Init-ing
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Registering
CELL: CM.ASSOC = Conn-ing
CELL: CM.ASSOC = Conn-ing
CELL: CM.ASSOC = Conn-ing
CELL: CM.ASSOC = Conn-ing
CELL: CM.ASSOC = Conn-ing
CELL: CM.ASSOC = Connected
CELL: enter state:4/CON

1 Like