In this tutorial you will learn how to configure your Cisco router to use its 3G / UMTS / HSPDA WAN interface. I’m using a HWIC-3G-GSM WAN card but the configuration will be very similar for most of the cards out there. Even if you are using 4G / LTE this will be very useful.
Instead of just showing the commands I will explain the entire connection process and tell you why we need to use each command. Once the configuration is complete I’ll show you how to verify your work and how to use debug commands to fix any possible problems that might arise.
For your 3G wireless connection we require 3 items to establish a data connection:
- Radio Modem
The SIM card is used to identify the end user, the radio modem takes care of the physical layer and the router part is required for layer 2/3 (PPP and IP). For each of these items we have to configure a couple of things. The SIM card has to be unlocked with a PIN code, the radio modem requires AT dial commands to start the connection and the router requires some PPP commands.
Let’s walk through everything step by step!
First we will check the interfaces of our router. Below you can see that my router has a Cellular0/1/0 interface:
Router#show ip interface brief Interface IP-Address OK? Method Status Protocol FastEthernet0/0 unassigned YES unset administratively down down FastEthernet0/1 unassigned YES unset administratively down down Serial0/0/0 unassigned YES unset administratively down down Cellular0/1/0 unassigned YES unset down down
That’s my HWIC-3G-GSM interface. All the show commands for the cellular interface are found under the show cellular command:
Router#show cellular 0/1/0 ? all Display all the information connection Current active connection and statistics hardware Cellular modem hardware information network Cellular network information profile Profile information in the modem radio Cellular modem radio information security Modem security status
These commands are useful to check your signal strength and to see if you are connected to a network. The first thing we will do is check if we have a signal. Without a signal it will be hard to establish a connection:
Router#show cellular 0/1/0 radio Current Band = WCDMA 2100, Channel Number = 10637 Current RSSI = -88 dBm Band Selected = Auto
Our radio is connected and the current RSSI (Received Signal Strength Indicator) is -88 dBm which is good enough for this tutorial. Cisco has a reference index to show you what RSSI values are acceptable:
- Off: Low RSSI (under -100 dBm).
- Slow Green Blink: Low or medium RSSI (-99 to -90 dBm).
- Fast Green Blink: Medium RSSI (-89 to -70 dBm).
- Solid Green: High RSSI (-69 dBm or higher).
- Solid Yellow: No service or no RSSI detected.
A signal strength of -88 dBm indicates medium signal strength, not bad since this router is in an enclosed 42u rack cabinet. There are also some leds on the WIC but it’s probably easier to look at your console. Since we have a signal, let’s check to what network we are connected:
Router#show cellular 0/1/0 network Current Service Status = Emergency Only, Service Error = None Current Service = Invalid Packet Service = None Packet Session Status = Inactive Current Roaming Status = Roaming Network Selection Mode = Automatic Country = NLD, Network = NL KPN Mobile Country Code (MCC) = 204 Mobile Network Code (MNC) = 8 Location Area Code (LAC) = 1190 Routing Area Code (RAC) = 0 Cell ID = 26561 Primary Scrambling Code = 97 PLMN Selection = Automatic
Above you can see that the service status is “Emergency Only”. This is because my SIM has a pincode and I have to unlock it first. There are no service errors and we are connected to the NL KPN network in The Netherlands. Let’s unlock the SIM card and see if it makes a difference:
Router#cellular 0/1/0 gsm sim unlock 0000 !!!WARNING: SIM will be unlocked with pin=0000(4), call will be disconnected!!! Are you sure you want to proceed?[confirm]
After unlocking the SIM you will see that the service status is now normal:
Router#show cellular 0/1/0 network Current Service Status = Normal, Service Error = None Current Service = Combined Packet Service = UMTS/WCDMA (Attached) Packet Session Status = Inactive Current Roaming Status = Home Network Selection Mode = Automatic Country = NLD, Network = NL KPN Mobile Country Code (MCC) = 204 Mobile Network Code (MNC) = 8 Location Area Code (LAC) = 1190 Routing Area Code (RAC) = 0 Cell ID = 26561 Primary Scrambling Code = 97 PLMN Selection = Automatic Registered PLMN = , Abbreviated = Service Provider = KPN
We are connected to the network but before we can do anything we need to configure a profile. This is where you configure the APN (Access Point Name) and authentication (if required). Let’s see if we already have a profile:
Router#show cellular 0/1/0 profile * - Default profile
We don’t have any profiles so let’s create a new one:
Router#cellular 0/1/0 gsm profile create 1 prepaidinternet Profile 1 will be created with the following values: APN = prepaidinternet Are you sure? [confirm] Profile 1 written to modem
My provider doesn’t require any authentication but I do have to set the APN which is “prepaidinternet”. Now we have to configure a chat script which tells the modem to connect using old-school AT dial commands:
Router#configure terminal Router(config)#chat-script gsm "" "ATDT*99*1#" TIMEOUT 30 "CONNECT"
The name of my chat script is “gsm” and it will dial to number 99. The *1 refers to the profile that we just configured, if you only have one profile you can remove it if you want. I like to keep it for clarity or in case I want to use another profile in the future.
This takes care of the profile and the chat script, now we can configure the cellular interface and PPP settings:
Router(config)#interface Cellular 0/1/0 Router(config-if)#dialer in-band Router(config-if)#dialer pool-member 1 Router(config-if)#ppp chap hostname prepaidinternet Router(config-if)#ppp chap password 0 fakepassword
The dialer in-band and dialer pool-member 1 commands tell the interface to use a dialer interface which we will configure in a second. I didn’t require authentication for the profile but I do have to configure PPP authentication. This depends on your ISP but in my case the hostname has to match the APN and for that password I can configure whatever I like. There’s nothing else we require on the cellular interface, we’ll have to use the dialer interface:
Router(config)#interface Dialer 1 Router(config-if)#ip address negotiated Router(config-if)#encapsulation ppp Router(config-if)#dialer pool 1 Router(config-if)#dialer string gsm Router(config-if)#dialer persistent Router(config-if)#ppp ipcp dns request Router(config-if)#no cdp enable
First we tell the router to request the IP address through PPP with the ip address negotiated command and the dialer pool command binds the dialer interface to the cellular interface. Our dialer string refers to the chat-script called “gsm” and dialer persistent is required to tell the router to initiate the connection immediately. If you don’t use this it will only establish a connection when you try to send traffic out of the 3G interface.
Some providers force you to use their DNS servers so that’s why I added the ppp ipcp dns request command. Once the router establishes a PPP connection it will request the ISP to send the IP addresses of the DNS servers. Last but not least, we disable CDP (Cisco Discovery Protocol) because there’s no point sending these packets towards the service provider.
The final step is adding the chat script to the line that comes with your cellular interface:
Router(config)#line 0/1/0 Router(config-line)#script dialer gsm
If everything went OK, you will see your cellular and dialer interface going up: