So the other day my Internet went down, for a couple of days…
That’s when the idea came for a backup connection. But, to be honest, a backup connection is rather stupid for an internet connection that is actually quiet reliable.
Then I found out I couldn’t connect my garage to my network, WIFI was out of range, different options were considered (maybe more on that later) but found to slow and expensive for what I want to do with it (which is, not a lot at the moment).
A couple of days later I stumbled across an ad from a seller I follow for a Cisco 881 with 3G modem, CISCO C881G+7-K9 WAN FE (non-US) 3.7G HSPA+ R7 w/ SMS/GPS (MC8705), as the ad named it. (Seems like they are now selling an older, cheaper model, damn me for checking…) Of course I couldn’t resist.
So I informed the wife I ordered some network-toys, which I would then use in our garage and that she wouldn’t have any trouble from it (after trying to install that loud as hell switch in the basement, I do add that part). Proceeded by ordering the cheapest pre-paid SIM I could find (Belgium is expensive when it comes to mobile Internet) and waited for my new toy to arrive.
The day that the router was delivered came, and my quest to get it online started. Unfortunately it took me longer than I had hoped, which is why I’m writing this post now.
On to the hardware, there seem to be different versions of this router. So, to make sure you can continue reading, these operations were performed on the following equipment:
Cisco IOS Software, C880 Software (C880DATA-UNIVERSALK9-M), Version 15.2(4)M4, RELEASE SOFTWARE (fc2)
...
ROM: System Bootstrap, Version 15.1(2r)T2, RELEASE SOFTWARE (fc1)
...
System image file is "flash:/c880data-universalk9-mz.152-4.M4.bin"
...
Cisco 881G2 (MPC8300) processor (revision 1.0) with 498688K/25600K bytes of memory.
Processor board ID FCZ174692HV
5 FastEthernet interfaces
1 terminal line
1 Virtual Private Network (VPN) Module
1 Cellular interface
256K bytes of non-volatile configuration memory.
125440K bytes of ATA CompactFlash (Read/Write)
License Info:
License UDI:
-------------------------------------------------
Device# PID SN
-------------------------------------------------
*0 C881G+7-K9 ***
License Information for 'c880-data'
License Level: advipservices Type: Permanent
Next reboot license Level: advipservices
Still here? Let’s move on to the cellular configuration!
First you need to configure the cellular modem with valid profile.
Here is my “show cellular 0 profile” output
Profile 1 = ACTIVE*
--------
PDP Type = IPv4
Access Point Name (APN) = web.be
Authentication = PAP
Username: web
Password: web
* - Default profile
Configured default profile for active SIM 0 is profile 1.
I’ll leave tinkering in the CLI to you, I’m sure you’ll find the right commands to enter. They are not in configure mode, just in enable mode and here’s a small hint: “cellular 0 gsm profile ?”.
Oh, and maybe an idea, you can also remove the SIM’s pin code, which removes another hurdle when booting up. (“cellular 0 gsm sim ?”)
Please also note that my SIM is installed in slot 0, if yours is installed in a different slot, change your command accordingly.
Now, for the IOS configuration part:
Configure a chat script for the modem, mine looks like:
chat-script INTERNET "" "AT!SCACT=1,1" TIMEOUT 60 "OK"
If you desire, enable GPS:
controller Cellular 0
gsm gps mode standalone
gsm gps nmea
!
Configure your Cellular interface (this configuration includes “NAT outside”, you probably want NAT, and you may want to configure “ip nat inside” on the interface that connects your local network:
interface Cellular0
ip address negotiated
ip nat outside
ip virtual-reassembly in
encapsulation slip
load-interval 60
dialer in-band
dialer idle-timeout 0
dialer string INTERNET
dialer-group 1
async mode interactive
!
More NAT config, route and ACLs to allow traffic:
ip nat inside source list 1 interface Cellular0 overload
ip route 0.0.0.0 0.0.0.0 Cellular0
access-list 1 permit any
dialer-list 1 protocol ip permit
Modem configuration:
line 3
exec-timeout 0 0
script dialer INTERNET
modem InOut
no exec
transport input all
rxspeed 21600000
txspeed 5760000
line 6
modem InOut
no exec
transport input all
transport output all
stopbits 1
speed 4800
That’s it, remember to “write mem” and reload to see if the configuration sticks.