ATandT MercuryConnectUSBHowTo

From MikroTik Wiki
Jump to: navigation, search

Document Revision 2009-06-30: RouterOS changes since V3.25 By: Steve Discher, LearnMikroTik.com

Introduction

This example is based on a previous WIKI article, "Option Globetrotter HSDPA USB Modem working with LMT (Latvian Mobile Telephone UMTS/GPRS networks), or with Amigo (GPRS network) in Latvia" but has been edited and adapted for the AT&T Mercury Connect USB Modem manufactured by SierraWireless, also known as the Sierra C885. Special thanks to Sergejs at MikroTik for getting me over the initial learning curve. This modem is widely distributed by AT&T in the USA so these instructions should work for you as written.

Hardware

Router Hardware: MikroTik Router 433UAH with USB port(s) (RB230, any x86 system, RB433UAH, or, RB411U when available with USB)

Router Software: RouterOS V3.x (works in v2.9.x as well). Configuration was done with version 3.25.

USB Modem: AT&T Mercury Connect USB Modem manufactured by SierraWireless, also known as the Sierra C885


The USB Modem is recognized in RouterOS as an USB device and listed under the USB resources:

[admin@MikroTik] > /system resource usb print 
 # DEVICE VENDOR                       NAME                       SPEED                      
 0 2:1                                 RB400 EHCI                 480 Mbps                   
 1 2:3    Sierra Wireless, Incorpor... HSPA Modem                 480 Mbps                   
 2 1:1                                 RB400 OHCI                 12 Mbps                    

Make sure the USB port is listed under the port menu:

[admin@MikroTik] > /port print 
Flags: I - inactive 
 #   NAME                             CHANNELS   USED-BY                            BAUD-RATE
 0   serial0                          1          Serial Console                     auto     
 1   usb2                             7          PPP <ppp-out1>                     9600     

Prior RouterOS V3.23, a modem had all its ports listed. Since V3.23 there is one port per modem, and modem has channels used for commands and data. Channels have numbers 0,1,2, etc. Some modems may have just two channels, some have more. The AT&T Mercury Connect uses channel 3. Set the baud rate to 9600 for communicating with the modem, in case it's not done already:

 [admin@MikroTik] > /port set usb2 baud-rate=9600 

Check the modem responses using serial-terminal, like this:

 [admin@MikroTik] > /system serial-terminal usb2 channel=3
 [admin@MikroTik] > /system serial-terminal usb2 channel=3

[Ctrl-A is the prefix key]


ATI
Manufacturer: Sierra Wireless, Inc.
Model: C885
Revision: J1_0_1_6AP C:/WS/FW/J1_0_1_6AP/MSM7200A/SRC/AMSS 2008/07/09 07:52:58
IMEI: 359992015493187
IMEI SV: 3
FSN: D603268456011
3GPP Release 6
+GCAP: +CGSM,+DS,+ES


OK

Disconnect from the modem:
 [Q - quit connection]      [B - send break]
 [A - send Ctrl-A prefix]   [R - autoconfigure rate]
 

Note: You have to type "ATI" and Enter to get the inforation above.


Router Configuration for PPP

Copy and paste the following text into the router console:

/ppp profile
add change-tcp-mss=default comment="" name=ppp-AT&T-Sierra-C885 only-one=default \
    use-compression=default use-encryption=no use-vj-compression=default

 
/interface ppp-client
add add-default-route=yes allow=pap,chap comment="" data-channel=3 \
    dial-command=ATDT dial-on-demand=no disabled=no info-channel=3 max-mru=\
    1500 max-mtu=1500 modem-init="at+cgdcont=1,\"IP\",\"ISP.CINGULAR\"" mrru=\
    disabled name=ppp-out1 null-modem=no password="" phone=*99# port=usb2 \
    profile=ppp-AT&T-Sierra-C885 use-peer-dns=yes user=""

Watch the logs and you should see the ppp interface come up.

The serial port is used by ppp client:

[admin@MikroTik] /interface ppp-client> /port print
Flags: I - inactive 
 #   NAME                             CHANNELS   USED-BY                            BAUD-RATE
 0   serial0                          1          Serial Console                     auto     
 1   usb2                             7          PPP <ppp-out1>                     9600     

Check the addresses and routes! In our case we have:

[admin@MikroTik] /ip address> pr
Flags: X - disabled, I - invalid, D - dynamic 
 #   ADDRESS            NETWORK         BROADCAST       INTERFACE                            
 0   192.168.1.1/24     192.168.1.0     192.168.1.255   bridge1                              
 1 D 32.176.148.247/32  10.112.112.160  0.0.0.0         ppp-out1                             
 2 D 10.10.10.20/32     10.10.10.1      0.0.0.0         pptp-out1                            
                     
[admin@MikroTik] /ip route> /ip route print 
Flags: X - disabled, A - active, D - dynamic, 
C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme, 
B - blackhole, U - unreachable, P - prohibit 
 #      DST-ADDRESS        PREF-SRC        G GATEWAY                     DISTANCE INTERFACE  
 0   S  0.0.0.0/0                          u 192.168.101.1               1                   
 1 ADS  0.0.0.0/0                          r 10.112.112.160              1        ppp-out1   
 2 ADC  10.10.10.1/32      10.10.10.20                                   0        pptp-out1  
 3 ADC  10.112.112.160/32  32.176.148.247                                0        ppp-out1   
 4 ADC  192.168.1.0/24     192.168.1.1                                   0        bridge1    

You may need to use masquerade to hide your private network when going out through the ppp.

You can get more status information about the modem and network, if you disable the ppp-client and run the "info" command:

[admin@MikroTik] /interface ppp-client> pr
Flags: X - disabled, R - running 
 0 X  name="ppp-out1" max-mtu=1500 max-mru=1500 mrru=disabled port=usb2 command-channel=3 
      data-channel=3 info-channel=3 user="" password="" profile=ppp-AT&T-Sierra-C885 
      phone="*99#" dial-command="ATDT" modem-init="at+cgdcont=1,"IP","ISP.CINGULAR"" 
      null-modem=no dial-on-demand=no add-default-route=yes use-peer-dns=yes allow=pap,chap 

[admin@MikroTik] /interface ppp-client> info 0
            pin-status: "READY"
          manufacturer: "Sierra Wireless, Inc."
                 model: "C885"
              revision: "J1_0_1_6AP C:/WS/FW/J1_0_1_6AP/MSM7200A/SRC/AMSS 2008/07/09 
                        07:52:58"
         serial-number: "359992015493187"
       activity-status: "ready"
  functionality-status: "minimum"
             gprs-mode: "A - HSDPA"
      current-operator: "AT&T@"
          signal-level: "-79 dBm"

Troubleshooting

1. If you do not get "authenticated" and "connected", then there is something wrong with your settings. Most likely, the profile or the ppp-client interface settings should be changed to match your provider's requirements.

2. If the USB port settings are wrong, there would be log message when you try to run the ppp client:

00:08:50 async,ppp,info ppp-out1: initializing... 
00:08:50 async,ppp,info ppp-out1: reseting link... 
00:08:50 async,ppp,info ppp-out1: reseting link... - could not acquire serial port 
00:08:50 async,ppp,info ppp-out1: disconnected

3. You can check if you can communicate with the USB modem by using the serial-terminal. Make sure the ppp-client is disabled! Start the serial terminal and run some AT commands:


[admin@Mikrotik] > /system serial-terminal usb2 channel=3

[Ctrl-A is the prefix key]


AT
OK
AT+CSQ
+CSQ: 14,99

OK

This must be okay, because the modem responds to your commands. Quit the serial terminal with "Ctrl-A" and "Q":

[Q - quit connection]      [B - send break]
[A - send Ctrl-A prefix]   [R - autoconfigure rate]


Welcome back!
[admin@Mikrotik] > 

I hope this helps you with the AT&T Mercury Connect or adapt these instructions for other carriers and supported modems.