cancel
Showing results for 
Search instead for 
Did you mean: 
cancel

Restore LTE service

1832
Views
5
Helpful
8
Comments

Provides the ability for a Cisco ISR, IR or CGR router to automatically return its cellular service to LTE if it has fallen to 3G or 2G (if LTE service is available).  Without the applet, the router may remain on 3G even if LTE service is available.  This is due to current LTE standards as implemented in LTE modems and networks.

 

•Automatically restores ISR Radio Access Technology (RAT) to 4G LTE if it has fallen to 3G or 2G
•This can temporarily occur due to weather conditions, interference, cellular network congestion
•Although LTE reselection is automatic, standards dictate that a device’s LTE modem be in idle mode to reselect (up to 15 seconds w/no traffic up or down).  Easy for phones, not for routers
•This app can be set to run at any desired frequency and/or time-of-hour/day/week.

This version supports a single ISR cellular interface.  Note that there is a cellular service disruption of ~15 seconds if in 2G/3G mode and the app attempts to restore 4G operation. 

 

Requires one environment variable called timer and the value must be in form of crontab.   Example to run the script everyday at midnight local time.

event manager environment timer 0 0 * * *

 

 

Comments
Community Member

Hi Daniel

Just perfect and exact what i needed.

Is there an update on this or is it the latest Version (1.1 from Aug 24th 2015)

Kind Regards

Robert

Cisco Employee

Robert,

Version 1.1 (Aug 24, 2015) is the latest release.

Dan

Beginner

Is there any particular reason you used oid 1.3.6.1.4.1.9.9.661.1.1.1.5 to match HEX 0 8 (hsupa) instead of .1.3.6.1.4.1.9.9.661.1.3.4.1.1.3.29 to match integer 12 which is LTE?  Backward capability maybe?

Just trying to understand this better.

Cisco Employee

OID 1.3.6.1.4.1.9.9.661.1.3.4.1.1.3 was not considered.   I have used 1.3.6.1.4.1.9.9.661.1.1.1.5 on previous projects and I tend to repurpose code blocks.

Beginner

Thanks for the script, Daniel.

I have about 1000 LTE routers across Australia and they fall down to 3G all the time which has been affecting performance.

I've tested your script on a router and it... works.. but not the way that I think it's supposed to.

 

These routers run DMVPN and BGP so it takes a little bit longer for service to come fully up.

It cycles through the while() a few times before the cellular interface comes up, then goes back down, then comes back up, then the DMVPN tunnel goes down and BGP neighbour resets, before coming back up and then peering as expected.

 

I do code in some other languages but haven't worked with EEM/TCL before so I'm not fully familiar with all of the commands to read the script. I think it may be falling down in the regexp cellip check as it does take our services longer than 6 seconds for the interface to come up and negotiate an IP address from the carrier.

I think it might be hitting the reset block and then power cycling the modem... which does ultimately bring it back up on LTE anyway.

 

I was hoping you might be able to take a look at my logs and see what you think?

 

AU12320(config)#do sh cell 0 rad
Radio power mode = online
Channel Number = 4412
Current Band = WCDMA 850
Current RSSI(RSCP) = -52 dBm
Current ECIO = -9 dBm
Radio Access Technology(RAT) Preference = UMTS
Radio Access Technology(RAT) Selected = UMTS ( HSDPA HSUPA UMTS/WCDMA WCDMA (Downlink) and HSUPA (Uplink) HSDPA (Downlink) and HSUPA (Uplink) )
AU12320(config)#
Apr 15 08:00:00.648: %HA_EM-6-LOG: restore_lte.tcl: oid 1.3.6.1.4.1.9.9.661.1.1.1.5.14
Apr 15 08:00:00.648: %HA_EM-6-LOG: restore_lte.tcl: value 2 0
AU12320(config)#
Apr 15 08:00:01.844: %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel1, changed state to down
.Apr 15 08:00:01.848: %BGP-5-NBR_RESET: Neighbor x.x.x.x reset (Interface flap)
.Apr 15 08:00:01.848: %BGP-5-NBR_RESET: Neighbor x.x.x.x reset (Interface flap)
.Apr 15 08:00:01.852: %IP_SNMP-4-NOTRAPIP: SNMP trap source Dialer0 has no ip address
.Apr 15 08:00:01.860: %BGP-5-ADJCHANGE: neighbor x.x.x.x Down Interface flap
.Apr 15 08:00:01.860: %BGP_SESSION-5-ADJCHANGE: neighbor x.x.x.x IPv4 Unicast topology base removed from session Interface flap
.Apr 15 08:00:01.860: %BGP-5-ADJCHANGE: neighbor x.x.x.x Down Interface flap
.Apr 15 08:00:01.860: %BGP_SESSION-5-ADJCHANGE: neighbor x.x.x.x IPv4 Unicast topology base removed from session Interface flap
AU12320(config)#
.Apr 15 08:00:03.100: %CELLWAN-2-BEARER_DELETED: Instance id=0, Default bearer (bearer_id=255) in Cellular0 is now deleted.
.Apr 15 08:00:03.844: %LINK-5-CHANGED: Interface Cellular0, changed state to administratively down
AU12320(config)#
.Apr 15 08:00:03.844: %DIALER-6-UNBIND: Interface Ce0 unbound from profile Di0
.Apr 15 08:00:04.844: %LINEPROTO-5-UPDOWN: Line protocol on Interface Cellular0, changed state to down
AU12320(config)#
.Apr 15 08:00:08.287: %HA_EM-6-LOG: restore_lte.tcl: Service is not LTE (service = 2 0). We will try 9 more times to force transition to LTE
AU12320(config)#
.Apr 15 08:00:13.399: %HA_EM-6-LOG: restore_lte.tcl: 1 Service = 2 0
.Apr 15 08:00:13.399: %HA_EM-6-LOG: restore_lte.tcl: Service is not LTE (service = 2 0). We will try 8 more times to force transition to LTE
AU12320(config)#
.Apr 15 08:00:18.510: %HA_EM-6-LOG: restore_lte.tcl: 2 Service = 2 0
.Apr 15 08:00:18.510: %HA_EM-6-LOG: restore_lte.tcl: Service is not LTE (service = 2 0). We will try 7 more times to force transition to LTE
AU12320(config)#
.Apr 15 08:00:21.910: %CELLWAN-2-BEARER_UP: Instance id=0, Default bearer (bearer_id=255) in Cellular0 is now UP
.Apr 15 08:00:22.218: %CELLWAN-2-BEARER_DELETED: Instance id=0, Default bearer (bearer_id=255) in Cellular0 is now deleted.
AU12320(config)#
.Apr 15 08:00:23.622: %HA_EM-6-LOG: restore_lte.tcl: 3 Service = 0 8
.Apr 15 08:00:23.734: %HA_EM-6-LOG: restore_lte.tcl: 4: Service successfully changed to LTE .... Service = 0 8 checking for Cellular IP address
AU12320(config)#
.Apr 15 08:00:25.622: %LINK-3-UPDOWN: Interface Cellular0, changed state to down
AU12320(config)#
.Apr 15 08:00:29.961: %HA_EM-6-LOG: restore_lte.tcl: 5: Service successfully changed to LTE .... Service = 0 8 checking for Cellular IP address
AU12320(config)#
.Apr 15 08:00:36.185: %HA_EM-6-LOG: restore_lte.tcl: 6: Service successfully changed to LTE .... Service = 0 8 checking for Cellular IP address
AU12320(config)#
.Apr 15 08:00:41.680: %CELLWAN-2-BEARER_UP: Instance id=0, Default bearer (bearer_id=255) in Cellular0 is now UP
AU12320(config)#
.Apr 15 08:00:42.408: %HA_EM-6-LOG: restore_lte.tcl: 7: Service successfully changed to LTE .... Service = 0 8 checking for Cellular IP address
.Apr 15 08:00:43.780: %LINK-3-UPDOWN: Interface Cellular0, changed state to up
.Apr 15 08:00:43.780: %DIALER-6-BIND: Interface Ce0 bound to profile Di0
AU12320(config)#
.Apr 15 08:00:43.780: %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel1, changed state to up
AU12320(config)#
.Apr 15 08:00:44.780: %LINEPROTO-5-UPDOWN: Line protocol on Interface Cellular0, changed state to up
AU12320(config)#
.Apr 15 08:00:48.631: %HA_EM-6-LOG: restore_lte.tcl: 8: Service successfully changed to LTE .... Service = 0 8 checking for Cellular IP address
AU12320(config)#
.Apr 15 08:00:48.643: %BGP-5-ADJCHANGE: neighbor x.x.x.x Up
AU12320(config)#
.Apr 15 08:00:49.655: %BGP-5-ADJCHANGE: neighbor x.x.x.x Up
AU12320(config)#
.Apr 15 08:00:54.859: %HA_EM-6-LOG: restore_lte.tcl: 9: Service successfully changed to LTE .... Service = 0 8 checking for Cellular IP address
AU12320(config)#
.Apr 15 08:01:01.082: %HA_EM-6-LOG: restore_lte.tcl: 10: Service successfully changed to LTE .... Service = 0 8 checking for Cellular IP address
AU12320(config)#
.Apr 15 08:01:07.194: %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel1, changed state to down
.Apr 15 08:01:07.198: %BGP-5-NBR_RESET: Neighbor x.x.x.x reset (Interface flap)
.Apr 15 08:01:07.198: %BGP-5-NBR_RESET: Neighbor x.x.x.x reset (Interface flap)
.Apr 15 08:01:07.202: %IP_SNMP-4-NOTRAPIP: SNMP trap source Dialer0 has no ip address
.Apr 15 08:01:07.206: %BGP-5-ADJCHANGE: neighbor x.x.x.x Down Interface flap
.Apr 15 08:01:07.206: %BGP_SESSION-5-ADJCHANGE: neighbor x.x.x.x IPv4 Unicast topology base removed from session Interface flap
.Apr 15 08:01:07.206: %BGP-5-ADJCHANGE: neighbor x.x.x.x Down Interface flap
.Apr 15 08:01:07.206: %BGP_SESSION-5-ADJCHANGE: neighbor x.x.x.x IPv4 Unicast topology base removed from session Interface flap
AU12320(config)#
.Apr 15 08:01:07.234: %CELLWAN-2-BEARER_DELETED: Instance id=0, Default bearer (bearer_id=255) in Cellular0 is now deleted.
.Apr 15 08:01:07.434: %HA_EM-6-LOG: restore_lte.tcl: Power cycling LTE radio now
AU12320(config)#
.Apr 15 08:01:07.438: %CELLWAN-4-MODEM_RESTART_IND: Modem restarted reason: User - PowerCycle
.Apr 15 08:01:09.194: %LINK-5-CHANGED: Interface Cellular0, changed state to administratively down
AU12320(config)#
.Apr 15 08:01:09.194: %DIALER-6-UNBIND: Interface Ce0 unbound from profile Di0
.Apr 15 08:01:10.193: %LINEPROTO-5-UPDOWN: Line protocol on Interface Cellular0, changed state to down
AU12320(config)#
.Apr 15 08:01:13.985: %CISCO800-2-MODEM_DOWN: Cellular0 modem is now DOWN.
AU12320(config)#
.Apr 15 08:01:31.044: %HA_EM-6-LOG: restore_lte.tcl: waiting 60 seconds
AU12320(config)#
%Remove Dialer Profile Configuration first
.Apr 15 08:01:56.073: %CISCO800-2-MODEM_UP: Cellular0 modem is now UP
AU12320(config)#
.Apr 15 08:02:31.038: %HA_EM-6-LOG: restore_lte.tcl: Service 0 8 has been selected after modem power cycle
.Apr 15 08:02:31.262: %HA_EM-6-LOG: restore_lte.tcl: #####Radio Attributes######
.Apr 15 08:02:31.262: %HA_EM-6-LOG: restore_lte.tcl:
.Apr 15 08:02:31.262: %HA_EM-6-LOG: restore_lte.tcl: Radio power mode = online
.Apr 15 08:02:31.262: %HA_EM-6-LOG: restore_lte.tcl: LTE Rx Channel Number = 2950
.Apr 15 08:02:31.262: %HA_EM-6-LOG: restore_lte.tcl: LTE Tx Channel Number = 20950
.Apr 15 08:02:31.262: %HA_EM-6-LOG: restore_lte.tcl: LTE Band = 7
.Apr 15 08:02:31.262: %HA_EM-6-LOG: restore_lte.tcl: LTE Bandwidth = 20 MHz
.Apr 15 08:02:31.262: %HA_EM-6-LOG: restore_lte.tcl: Current RSSI = -58 dBm
.Apr 15 08:02:31.262: %HA_EM-6-LOG: restore_lte.tcl: Current RSRP = -88 dBm
.Apr 15 08:02:31.262: %HA_EM-6-LOG: restore_lte.tcl: Current RSRQ = -11 dB
.Apr 15 08:02:31.262: %HA_EM-6-LOG: restore_lte.tcl: Current SNR = 3.4 dB
.Apr 15 08:02:31.262: %HA_EM-6-LOG: rest
AU12320(configore_lte.tcl: Radio Access Technology(RAT) Preference = AUTO
.Apr 15 08:02:31.262: %HA_EM-6-LOG: restore_lte.tcl: Radio Access Technology(RAT) Selected = LTE
.Apr 15 08:02:31.262: %HA_EM-6-LOG: restore_lte.tcl: AU12320(config-if)#
.Apr 15 08:02:31.262: %HA_EM-6-LOG: restore_lte.tcl: )#
AU12320(config)#
.Apr 15 08:02:33.038: %LINK-3-UPDOWN: Interface Cellular0, changed state to down
AU12320(config)#
.Apr 15 08:02:56.264: %CELLWAN-2-MODEM_RADIO: Cellular0 Modem radio has been turned on
AU12320(config)#
.Apr 15 08:04:05.093: %CELLWAN-2-BEARER_UP: Instance id=0, Default bearer (bearer_id=255) in Cellular0 is now UP
AU12320(config)#
.Apr 15 08:04:07.197: %LINK-3-UPDOWN: Interface Cellular0, changed state to up
.Apr 15 08:04:07.197: %DIALER-6-BIND: Interface Ce0 bound to profile Di0
AU12320(config)#
.Apr 15 08:04:07.197: %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel1, changed state to up
.Apr 15 08:04:08.197: %LINEPROTO-5-UPDOWN: Line protocol on Interface Cellular0, changed state to up
AU12320(config)#
.Apr 15 08:04:10.353: %BGP-5-ADJCHANGE: neighbor x.x.x.x Up
AU12320(config)#
.Apr 15 08:04:19.576: %BGP-5-ADJCHANGE: neighbor x.x.x.x Up
AU12320(config)#do show run | inc ^interface Cellular
interface Cellular0
interface Cellular1
AU12320(config)#
Apr 15 08:10:00.650: %HA_EM-6-LOG: restore_lte.tcl: oid 1.3.6.1.4.1.9.9.661.1.1.1.5.14
Apr 15 08:10:00.650: %HA_EM-6-LOG: restore_lte.tcl: value 0 8
Apr 15 08:10:00.650: %HA_EM-6-LOG: restore_lte.tcl: Currently on LTE and no changes have been made
AU12320(config)#
Apr 15 08:20:00.678: %HA_EM-6-LOG: restore_lte.tcl: oid 1.3.6.1.4.1.9.9.661.1.1.1.5.14
Apr 15 08:20:00.678: %HA_EM-6-LOG: restore_lte.tcl: value 0 8
Apr 15 08:20:00.678: %HA_EM-6-LOG: restore_lte.tcl: Currently on LTE and no changes have been made

Beginner

Oh, nevermind, I think I've figured it out myself. The script checks for an IP address assigned to the cellular interface but I'm using a dialer. I'll modify the script to look for the dialer interface that's bound to that cellular interface.

Beginner

Hi Daniel, I've been testing this for a couple weeks and it works great but only once.

If I force the cellular interface over to umts and schedule the script, it successfully shuts down the interface, moves it back to LTE (by setting auto), then unshuts the interface and everything comes up as expected.

 

.. but if I then put the cellular interface back on to umts a second time, I'm getting a different result. The script goes through the same motions, shuts the interface, sets it back to auto and then unshuts the interface, but the cellular interface never comes up, even after the script resets the radio.

 

a 'sh cell 0 radio' shows rssi/rssp/snr values and LTE channel values, but the cellular interface just stays down for good. No amount of shutting/unshutting or resetting the radio brings it back up. I have to reload the entire router to get the cellular interface to come back up.

 

I've tried both my own modified script and your original script and am getting the same behaviour on both. I've also tried two different router models -  C819G-4G-GA-K9 on 156-2.T1 and a C819G-LTE-LA-K9 on 157-3.M - and am seeing the same on both.

 

I'm not sure what else to try, it seems really unusual. I'm in Australia and using Telstra services if that makes any difference.

Thank you.

Cisco Employee

Hi Leesa,

Apologies for my delayed response.   The script is processing the same actions on the first run and subsequent  runs but the results are different?   I would recommend opening a TAC case so it can be investigated.

 

Regards,

Dan

CreatePlease to create content
Content for Community-Ad
July's Community Spotlight Awards