This article is not intended to have too much details to configure Cisco 881G with PCEX-3G-HSPA. This article is, however, just a post to remind myself what I did to make it work.
I’ve got a chance to configure few of this toys and I thought it would be beneficial to post it here since I had a trouble finding documentation myself.
For start, for those who doesn’t know what a PCEX-3G-HSPA card is, it is like a PCI Express card/module that fits for your Mac. This is completely different than HWIC-3G-HSPA module.
I can’t find what should be the appropriate firmware for PCEX-3G-HSPA but it comes with version F1_2_3_15AP and it seems working quite well. Cisco website leads to a “blank” webpage when I tried to click the “Download Software” from this page Cisco 880 3G Integrated Services Router
Below is the picture of the PCEX-3G-HSPA just in case you want to know how is it look like ’cause I can’t found any of this picture myself so I decided to put one.

One thing I notice when putting this card into Cisco 881G is quite hard. Just need a bit of push and make sure you don’t brake the edge plate on the router.
For Cisco 880 series, we need to use IOS 12.4(22)YB1 to fully utilize HSPA support.
You need is a Simcard from your provider, in this case my provider is Telstra, and to register this Simcard with username, password, and Access Point Name (APN).
What’s going to happen is, Telstra will bind this username and password to a particular APN and assign an IP for it. It really depends on what’s your deal with Telstra.
Telstra might ask the mobile number and use this for authentication support along with username and password.
Once you confirm that Telstra have made the change required then you can start confguring with these informations.
1. Create Profile.
You need to assign these username, password, and APN to the card. Note, use this command on privileged EXEC mode.
For example, given your details below
- username is
john@doe.com
- password is
johnpassword
- APN is
APN.telstra
- Authentication is
PAP
then your profile should be
cellular 0 gsm profile create 4 APN.telstra pap john@doe.com johnpassword
From the profile you’ve just created, you can review it using command
router# sh cellular 0 profile
Profile Information
====================
Profile 4 = ACTIVE
--------
PDP Type = IPv4
PDP address = 192.168.1.1
Access Point Name (APN) = APN.telstra
Authentication = PAP
Username: john@doe.com, Password: johnpassword
* - Default profile
2. Define ATDT command
The profile you’ve created will be called when dialer is initiated using ATDT command. Number 4 in this command reflects to the profile number you’ve just created.
chat-script INTERNET "" "ATDT*98*4#" TIMEOUT 30 CONNECT
3. Configure the line interface.
Once you’re done with the chat-script, you will need to call it from line interface. This is actually the one I was struggling with to find which interface cellular 0 binds to. Apparently, from Cisco documentation for 860 and 880, it will always be line 3.
line 3
exec-timeout 0 0
script dialer INTERNET
modem InOut
no exec
transport input all
4. Configure Dialer interface.
This is just common Dialer interface with ip address negotiated as we will getting an IP from Telstra. Match the encapsulation with the profile and also the chat-script. You might need to create necessary dialer-list to match the interesting packets.
interface Dialer1
ip address negotiated
ip virtual-reassembly
encapsulation ppp
dialer pool 1
dialer idle-timeout 0
dialer string INTERNET
dialer persistent
dialer-group 1
no cdp enable
5. Configure Cellular interface
Now, since you’ve got everything ready, configuring Cellular interface is pretty much straightforward.
interface Cellular0
no ip address
ip virtual-reassembly
encapsulation ppp
load-interval 60
dialer in-band
dialer pool-member 1
dialer-group 1
async mode interactive
show command
Just in case you need it for troubleshooting, here are the show commands to use.
- show cellular 0 network
- show cellular 0 hardware
- show cellular 0 connection
- show cellular 0 radio
- show cellular 0 profile
- show cellular 0 security
- show cellular 0 all
Rather than reloading the router to restart the module, you can actually using CLI to reset or reboot the module.
router(config)# service internal
router(config)# exit
router# test cellular 0 modem-power-cycle ! for rebooting
router# test cellular 0 modem-reset ! for resetting
Further reading
Cisco 860 and Cisco 880 Series Integrated Services Routers Software Configuration Guide
Cisco 880 Series Integrated Services Routers
3G Features for Cisco 880 Series Integrated Services Routers
A Network Engineer’s Notes on Telstra’s NextG 3G Network
Initial configuration of a 881G router Cellular interface
Update on August 6, 2009
I’ve been having issues using Cisco 881G with PCEX-3G-HSPA. Telstra recommends to use WCDMA 850 instead of using AUTO or WCDMA 1200.
Update on 13 September 2010
3G Mobile Broadband for Branch Office – By Lars Thoren
Setting up the Band to lock in to WCDMA 850 is quite easy until I have a problem to use AT commands. I know that I needed to do a reverse telnet to it based on the Cellular line (see below) TTY.
ROUTER#sh line
Tty Typ Tx/Rx A Modem Roty AccO AccI Uses Noise Overruns Int
* 0 CTY - - - - - 2 0 0/0 -
1 AUX 0/0 - - - - - 0 0 0/0 -
* 3 TTY - inout - - - 3 0 0/0 Ce0
4 ??? - - - - - 0 0 0/0 -
6 VTY - - - - - 0 0 0/0 -
7 VTY - - - - - 0 0 0/0 -
8 VTY - - - - - 0 0 0/0 -
9 VTY - - - - - 0 0 0/0 -
10 VTY - - - - - 0 0 0/0 -
Line(s) not in async mode -or- with no hardware support:
2, 5
However, I didn’t know why I couldn’t get the session.
ROUTER#telnet 100.100.100.100 2003
Trying 100.100.100.100, 2003 ...
% Connection refused by remote host
Apparently, I need to forcely clear the line then quickly try telnet to it
ROUTER#clear line 3
[confirm]
[OK]
ROUTER#telnet 100.100.100.100 2003
Trying 100.100.100.100, 2003 ... Open
Ok, great. Now I got the session. Let see what the Bands are available
at!band=?
Index, Name
00, All bands
01, WCDMA 2100
02, N/A (Defaults to All)
03, GSM 900/1800
04, N/A (Defaults to ALL)
05, GSM ALL
06, N/A (Defaults to ALL)
07, N/A (Defaults to ALL)
08, WCDMA ALL
09, N/A (Defaults to ALL)
0A, N/A (Defaults to ALL)
0B, N/A (Defaults to ALL)
0C, N/A (Defaults to ALL)
0D, N/A (Defaults to ALL)
Mmm, that’s weird. I tought I supposed to see WCDMA 850 somewhere but I didn’t!
Again, Telstra recommends to have this AT lines inserted.
AT!ENTERCND="A710"
OK
AT!SLEEP=1
OK
AT!NVOEM=GMSCLASS,0C
OK
AT!NVOEM=EMSCLASS,0C
OK
AT!CUSTOM="MEPCODE",1
OK
AT!CUSTOM="MEPLOCK",0
OK
AT!NVPLMN=505,01
OK
AT!CUSTOM="PRLREGION",03
OK
AT!GBAND=0000000004000380
OK
AT!RESET
OK
000068: *Aug 10 13:48:24.491 AEST: %CISCO800-2-MODEM_REMOVAL_DETECTED: Cellular0 modem is now REMOVED
000069: *Aug 10 13:48:24.491 AEST: %CISCO800-2-CELLULAR_INTERFACE_NOT_SHUTDOWN: WARNING: Cellular0 interface should be shutdown before removing modem. Reload Required to reset interface
000070: *Aug 10 13:48:24.491 AEST: %CELLWAN-2-MODEM_DOWN: Cellular0 modem is DOWN
000071: *Aug 10 13:48:25.059 AEST: %CISCO800-2-MODEM_INSERTED_DETECTED: Cellular0 modem is now INSERTED
+PACSP1
000072: *Aug 10 13:48:44.887 AEST: %CELLWAN-2-MODEM_UP: Cellular0 modem is now UP
OK, now let’s see what we got.
at!band=?
Index, Name
00, All bands
01, N/A (Defaults to ALL)
02, N/A (Defaults to ALL)
03, N/A (Defaults to ALL)
04, N/A (Defaults to ALL)
05, GSM ALL
06, N/A (Defaults to ALL)
07, N/A (Defaults to ALL)
08, WCDMA ALL
09, N/A (Defaults to ALL)
0A, N/A (Defaults to ALL)
0B, N/A (Defaults to ALL)
0C, WCDMA 850 GSM 900/1800
0D, WCDMA 850
I can now have the option 0D, WCDMA 850
at!band=0d
OK
AT!BAND?
0D, WCDMA 850
AT!RESET
Let’s get out of AT mode using CRTL+SHIFT+6 x and check on the IOS level.
ROUTER#sh cell 0 radio
Current Band = WCDMA 850, Channel Number = 4436
Current RSSI(RSCP) = -98 dBm
Band Selected = WCDMA V 850
Number of nearby cells = 1
Cell 1
Primary Scrambling Code = 0x18E
RSCP = -96 dBm, ECIO = -8 dBm
NOTE. If you can’t get it showing Band Selected = WCDMA V 850 try to do the AT!BAND=0D command and AT!RESET several times.
That’s all folks!