Actions

Cisco 1941 with EHWIC-3G-HSPA+7 card configuration

From Ever changing code

Antenna and cable

Cisco Product Number Description Cable Length Maximum Insertion Loss (cable) or Maximum Gain (antenna) Frequency (MHz) Color
Cisco 3G-AE010-R (1) Cisco Single-Port Antenna Stand for Multiband TNC Male-Terminated Portable Antenna 10 ft <3 dB at or below 2.5 GHz 0.8-6.0 GHz Grey
3G-ANTM1919D Cisco Multiband Swivel-Mount Dipole Antenna na 0 dBi at 806-960 MHz, 0 dBi at 1710-2170 MHz 806-960 MHz and 1710-2170 MHz Grey

Connector type is TNC (threaded Neill-Concelman). (1)This document applies to both 3G-AE015-R and 3G-AE010-R. The only difference between these two products is the length of the cable.

Preamble

Three components are required to use a 3G data connection: a SIM, a radio modem, and a router. The SIM identifies the subscriber (that is you the human) for billing and so forth. The radio modem does the hard work in providing physical layer (Layer1) access to the local 3G base station. The router typically uses PPP as the Layer2 data link to the provider’s Network Access Server (NAS), and from there is connected to the provider’s Layer3 network (which may be a private VPN, or public Internet).

The cellular modem must establish a data call, then once connected a PPP session is established to the providers NAS. The cellular modem still requires age-old AT commands to make that call, and additionally to interrogate the SIM, etc. Cisco IOS provides an interface to a handful of modem features via the “cellular” exec command and a chat script(s). Note that AT commands can only be issued when the modem is idle (not in a call).

The modem is configured with at least one “profile” which stores an Access Point Name (APN) and optionally a username and password. This profile is then “dialed” to establish the connection similar to using a traditional phone number. These modem profiles are stored on the modem and NOT on the routers NVRAM or flash. Note that a modem profile and an IOS dialer profile are two separate things.

The EHWIC-3G-HSPA+7 is just a Sierra Wireless MC8705 AirPrime modem sold in a EHWIC form factor with a Cisco Logo on it. The modem is presented in Cisco IOS as two interfaces:

Low-speed asynchronous “control” interface which communicates with the modem.

line x/x/x

High-speed synchronous interface connecting to the cellular providers network.

interface cellular x/x/x

Configuration 3G Step-by-step

Configure APN

APN configuration is stored on the modem nvram not on the router it self. Cisco IOS provides interface to manipulate the modem and modem profiles with following syntax:

cellular 0/0/0 gsm create profile create 1 <apn name> chap <username> <password> ipv4

Both working profiles for Vodafone contract are below, the first one with CHAP auth seems to be quicker to establish connection:

cellular 0/0/0 gsm profile create 1 internet chap web web ipv4
cellular 0/0/0 gsm profile create 2 internet pap web web ipv4

Define Vodafone AT command in a chat-script

Syntax

chat-script <dialer_name> "" "AT!SCACT=1,<apn_profile_number>" TIMEOUT 60 "OK"

Live command

chat-script hspa "" "AT!SCACT=1,1" TIMEOUT 60 "OK"

Manually execute the chat script if needed for debugging purposes. Here hspa is the chat-script name and 0/0/0 is cellular interface

start-chat hspa 0/0/0

Configure line interface

This line interface information sets low-speed asynchronous “control” interface which communicates with the modem. The line x/x/x number is the same as cellular x/x/x interface number.

line 0/0/0			! this will depend on what slot the card uses
 exec-timeout 0 0
 script dialer hspa 		! calls the chat-script
 script activation hspa         ! activates the script it did not work without and it is not documented anywhere
 modem InOut
 no exec
 rxspeed 21600000
 txspeed 5760000

NAT and cellular routing

Local lan is connected to Gi0/1 and all traffic is NAT overload'ed through Cellular0/0/0 interface. There ip 192.168.100.254/24 is a default gateway for local LAN hosts. From IOS 15 ip nat inside / ip nat outside can be replaced by ip nat enable. Please visit NVI - NAT Virtual Interface

interface GigabitEthernet0/1
 ip address 192.168.100.254 255.255.255.0
 ip nat inside 		          ! NAT is needed when coming from private addresses (in ios v15 use - ip nat enable)
 ip virtual-reassembly in
 duplex auto
 speed auto
!
interface Cellular0/0/0
 description 3G link to Vodafone-APN
 ip address negotiated 	          ! The NAS will issue your card an IP address
 ip nat outside
 ip virtual-reassembly in
 encapsulation slip 		          ! new modem cards are using native slip protocol to communicate with the router
 dialer in-band
 dialer string hspa 		          ! again uses the chat-script'
 dialer-group 1 		          ! references to the dialer-list (interesting traffic)
 async mode interactive
!
interface Cellular0/0/1
 no ip address
 encapsulation slip
!
ip forward-protocol nd
!
ip nat inside source list 2 interface Cellular0/0/0 overload
ip route 0.0.0.0 0.0.0.0 Cellular0/0/0 '<--- Static route to cellular interface required by Cisco for proper packet routing'
!
access-list 2 permit any 
dialer-list 1 protocol ip permit	'<--- Specifies interesting traffic to bring up the dialer'

Verify 3G connection

sh cellular 0/0/0 profile
  
Profile 1 = INACTIVE* 			'<--- NOTE inactive, Cellular still down'
--------
PDP Type = IPv4
Access Point Name (APN) = internet
Authentication = CHAP
Username: web
Password: web

Since we using a DDR dial-on-demand routing config, the Cellular interface will only be brought up if there is interesting traffic, either real traffic or traffic created by IP SLA or from the command line.

#ping 8.8.8.8
 
Type escape sequence to abort.
  Sending 5, 100-byte ICMP Echos to 8.8.8.8, timeout is 2 seconds:
  ...!!
  Success rate is 40 percent (2/5), round-trip min/avg/max = 92/106/120 ms
 
*Aug  28 10:37:58.499: %LINK-3-UPDOWN: Interface Cellular0/0/0, changed state to up

Verify the profile again to confirm all is working

#sh cellular 0/0/0 profile
Profile 1 = ACTIVE* 		'<--- NOTE now its active, Cellular is up'
--------
PDP Type = IPv4
PDP address = 10.49.122.44
Access Point Name (APN) = Internet
Authentication = CHAP
Username: web
Password: web
        Primary DNS address = 88.82.13.60
        Secondary DNS address = 88.82.13.60

Quick 3G config: always connected using Dialer interface

!
! Reset interfaces before applying to, first Dialer 1
!
interface Dialer1
shutdown
!
! waiting for shutdown ... 
!
exit
default interface Dialer 1
default interface Cellular 0/0/0
!
! Applying configuration
!
chat-script hspa "" "AT!SCACT=1,1" TIMEOUT 60 "OK"
!
interface Cellular0/0/0
 description 3G link to Vodafone-APN
 ip address negotiated
 encapsulation slip
 dialer in-band
 dialer pool-member 1
 dialer-group 1
 async mode interactive
 routing dynamic
!
interface Dialer1
 ip address negotiated
 ip nat enable
 encapsulation slip
 dialer pool 1
 ! dialer idle-timeout 0
 dialer string hspa
 dialer persistent
 dialer-group 1
 no shutdown
!
ip nat source list 1 interface Dialer1 overload
ip route 0.0.0.0 0.0.0.0 Dialer1
!
access-list 1 permit any
dialer-list 1 protocol ip permit
!
line 0/0/0
 exec-timeout 0 0
 script dialer hspa
 ! script activation hspa
 modem InOut
 no exec
 exit
Verify dialer profile

If dialer is fully removed the following comman will not return anything. If configured the example output has been included below.

#show dialer

Ce0/0/0 - dialer type = IN-BAND ASYNC NO-PARITY
Dialer pool 1, priority 0
Idle timer (never), Fast idle timer (20 secs)
Wait for carrier (30 secs), Re-enable (15 secs)
Dialer state is data link layer up
Dial reason: Persistent Dialer Profile
Interface bound to profile Di1
Time until disconnect never
Current call connected 00:00:14
Connected to hspa

Di1 - dialer type = DIALER PROFILE
Idle timer (never), Fast idle timer (20 secs)
Wait for carrier (30 secs), Re-enable (15 secs)
Dialer state is data link layer up
Number of active calls = 1

Dial String      Successes   Failures    Last DNIS   Last status
hspa                     1          0    00:00:14       successful   Default

Backup Cellular 0/0/0 interface when primary Gi 0/0 does down

Basic config

conf t
interface GigabitEthernet0/0
 backup delay 9 5                       ! enables-delay:9s disable-delay:5s
 backup interface Cellular0/0/0         ! specifies the cellular interface as backup

Then the Cellular0/0/0 interface administrative mode will change to standby mode.

r1-basic#sh ip int brief
Interface                  IP-Address      OK? Method Status                Protocol
Embedded-Service-Engine0/0 unassigned      YES NVRAM  administratively down down
GigabitEthernet0/0         192.168.1.66    YES DHCP   up                    up
GigabitEthernet0/1         192.168.100.254 YES NVRAM  up                    up
GigabitEthernet0/1/0       unassigned      YES unset  down                  down
GigabitEthernet0/1/1       unassigned      YES unset  down                  down
GigabitEthernet0/1/2       unassigned      YES unset  down                  down
GigabitEthernet0/1/3       unassigned      YES unset  down                  down
Cellular0/0/0              unassigned      YES IPCP   standby mode          down
Cellular0/0/1              unassigned      YES unset  administratively down down
NVI0                       unassigned      YES unset  administratively down down
Vlan1                      192.168.101.1   YES NVRAM  down                  down
Verify if backup interface is trigger when disconnecting a cable from Gi0/0 interface and reconnecting.

The sequence events should look like below. First link connected to the main WAN link on interface GigabitEthernet0/0 goes UP

*Sep  1 23:43:20.523: %LINK-3-UPDOWN: Interface GigabitEthernet0/0, changed state to up
*Sep  1 23:43:21.523: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/0, changed state to up

Interface GigabitEthernet0/0 has been assigned the IP addres by dhcp server

*Sep  1 23:43:25.387: %DHCP-6-ADDRESS_ASSIGN: Interface GigabitEthernet0/0 assigned DHCP address 192.168.1.66, mask 255.255.255.0, hostname r1-basic

Interface Cellular0/0/0 goes into standby mode and goes down

*Sep  1 23:43:27.523: %LINK-5-CHANGED: Interface Cellular0/0/0, changed state to standby mode
*Sep  1 23:43:28.523: %LINEPROTO-5-UPDOWN: Line protocol on Interface Cellular0/0/0, changed state to down

Troubleshooting

This debug requires you to have enable service internal enabled

debug cellular 0/0/0 messages all 
debug ppp negotiation
debug ppp authentication
debug ppp packet
debug chat '<-- use when interface does not to change to UP'
debug async state
debug dialer

*debug ppp will only show messages on old routers as the new ones are using slip protocol for communication between router and modem

Here is output when debug dialer is on
r1#ping 8.8.8.8
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 8.8.8.8, timeout is 2 seconds:

*Aug 29 16:40:23.447: Ce0/0/0 DDR: place call
*Aug 29 16:40:23.447: Ce0/0/0 DDR: Dialing cause ip (s=192.168.100.254, d=8.8.8.8)
*Aug 29 16:40:23.447: Ce0/0/0 DDR: Attempting to dial hspa
*Aug 29 16:40:23.447: CHAT0/0/0: Attempting async line dialer script
*Aug 29 16:40:23.447: CHAT0/0/0: Dialing using Modem script: hspa & System script: none
*Aug 29 16:40:23.447: CHAT0/0/0: process started
*Aug 29 16:40:23.447: CHAT0/0/0: Asserting DTR
*Aug 29 16:40:23.447: CHAT0/0/0: Chat script hspa started
*A.ug 29 16:40:23.447: CHAT0/0/0: Sending string: AT!SCACT=1,1
*Aug 29 16:40:23.447: CHAT0/0/0: Expecting string: OK.
*Aug 29 16:40:26.455: CHAT0/0/0: Completed match for expect: OK
*Aug 29 16:40:26.455: CHAT0/0/0: Chat script hspa finished, status = Success
*Aug 29 16:40:26.455: Ce0/0/0 SLIP: Async Protocol Mode started for 0.0.0.0.
*Aug 29 16:40:28.455: %LINK-3-UPDOWN: Interface Cellular0/0/0, changed state to up!
*Aug 29 16:40:28.455: Ce0/0/0 DDR: Dialer statechange to up
*Aug 29 16:40:28.455: Ce0/0/0 DDR: Dialer call has been placed
*Aug 29 16:40:28.455: Ce0/0/0 DDR: dialer protocol up
*Aug 29 16:40:29.455: %LINEPROTO-5-UPDOWN: Line protocol on Interface Cellular0/0/0, changed state to up!
Success rate is 40 percent (2/5), round-trip min/avg/max = 400/548/696 ms
--------< cut >---------------
Below is output of show caller full when connection is established. It shows connection time, timeouts and TTY line info.
r1#show caller full

 User: unknown, line con 0, service TTY
       Active time 00:04:42
 Timeouts:    Limit     Remaining Timer Type
              00:10:00  00:10:00  Idle Exec
 TTY: Line 0
 Line: Baud rate (TX/RX) is 9600/9600, no parity, 2 stopbits, 8 databits
 Status: PSI Enabled, Ready, Active
 Modem State: Ready

 User: unknown, line tty 0/0/0, service Async
 Timeouts:    Limit     Remaining Timer Type
              -         -         -
 TTY: Line 0/0/0, running SLIP on Ce0/0/0
 Line: Baud rate (TX/RX) is 5760000/21600000, no parity, 2 stopbits, 8 databits
 Status: Ready, Active, No Exit Banner, Async Interface Active
 Capabilities: EXEC Suppressed, Modem Callout, Modem RI is CD
               Line usable as async interface, Integrated Modem
 Modem State: Ready
Below is output of show caller full when connection is DOWN
r1#show caller full

  User: unknown, line con 0, service TTY
        Active time 00:06:52
  Timeouts:    Limit     Remaining Timer Type
               00:10:00  00:10:00  Idle Exec
  TTY: Line 0
  Line: Baud rate (TX/RX) is 9600/9600, no parity, 2 stopbits, 8 databits
  Status: PSI Enabled, Ready, Active
  Modem State: Ready
show cell 0/0/0 radio history all '<-- will draw RSSI in time graph'
sh cellular 0/0/0 network | i Service|Status
sh cellular 0/0/0 con   !! (if there is one)
show cellular 0/0/0 network
show cellular 0/0/0 radio '<-- shows link strength' 
show cellular 0/0/0 profile
show cellular 0/0/0 security
show cellular 0/0/0 all 
show dialer
show interface dialer 3 '<-- it does not work ??? --'
show caller timeouts
show caller full '<-- shows connection time, timeouts and TTY line info --'
show controllers cellular 0/0/0
show interfaces cellular 0/0/0
show run interface cellular 0/0/0
sh cellular 0/0/0 network | include Cell '<-- shows cell ID connected to'

Examples at EN37QJ post code

show cellular 0/0/0 network
 Current Service Status = Normal, Service Error = None
 Current Service = Combined
 Packet Service = HSPA+ (Attached)
 Packet Session Status = Active
 Current Roaming Status = Home
 Network Selection Mode = Automatic
 Country = GBR, Network = voda UK
 Mobile Country Code (MCC) = 234
 Mobile Network Code (MNC) = 15
 Location Area Code (LAC) = 175
 Routing Area Code (RAC) = 175
 Cell ID = 63412
 Primary Scrambling Code = 490
 PLMN Selection = Automatic
 Registered PLMN = vodafone UK , Abbreviated = voda UK
 Service Provider =

Explained

Cell ID
A unique number used to identify the GSM base transceiver station the phone is connected to.
MNC - Mobile Network Code
This number is used to uniquely identify the GSM network operator in combination with the MCC the phone is currently connected to.
MCC - Mobile Country Code
This is a unique number for the country with the GSM net the phone is currently connected to. (234 - United Kingdom)
LAC - Location Area Code
A 16-digit fixed length code that identifies the phone's location area within a GSM public land mobile network.

Signal indicator units RSSI, ECIO

If the output of the show cellular x/x/x radio command indicates high ECIO values and a low C/I ratio and you are experiencing poor throughput, you should consider using a diversity antenna. For example:

1xRTT related info
------------------
Current RSSI = -52 dBm, ECIO = -7 dBm
Current Channel Number = 507
Current Channel State = Acquired
Current Band Class = Band Class 1
HDR (1xEVDO) related info
-------------------------
Current RSSI = -51 dBm, ECIO = -6 dBm
Current Channel Number = 325
Current Band Class = Band Class 1
Sector ID (Hex) = 0080:0580:0000:0000:000A:CCF3:0500:A201
Subnet Mask = 104, Color Code = 24, PN Offset = 72
Rx gain control(Main) = -49 dBm, Diversity = -103 dBm
Tx total power = -35 dBm, Tx gain adjust = -1280 dBm
Carrier to interference (C/I) ratio = 3

The C/I ratio should be as high as possible and the ECIO value as low as possible. Lab tests have indicated ECIO ≤-2 dB. If you observed a value of -7 or something similar, you might have a very noisy environment, which may in turn cause retransmissions of the packets, lower throughput, call drops, etc. Cisco does not determine acceptable values; cellular carriers determine these values.

Modem restart

service internal '<-- this enables hidden commands'
exit
test cellular 0/0/0 modem-reset

or, this is better

service internal
exit
test cellular 0/0/0 modem-power-cycle

Send SMS

! Configure ftp required for SMS storage
router(config-controller)# gsm sms archive path ftp://username:password@10.0.99.100/SMS_archive
! Sent message
cellular 0/0/0 gsm sms send 00447881122995 The link maybe down2

This is error message when ftp is not specified

Nov 20 23:40:11.751: %CELLWAN-2-SMS_ARCH_PATH_UNCONFIGURED: Cellular0/0/0 failed to archive SMS because 'gsm|cdma sms archive path' under cellular controller is not configured.

References