Pages

Thursday, December 03, 2009

Configuring xDSL Modem with PPPoE on Mikrotik

To change a BT 2Wire into a Modem and establish PPPoE on the Mikrotik:

* 1. In the 2wire, goto Broadband>link config> change parameters to Bridged LLC, untick PVM, and connection type set to Direct IP or DHCP, disable routing.
* 2. In MT, go to PPP>new interface>PPPOE client, add ISP authentication (AC name was "BT_ADSL").
* 3. Go to IP>addresses>add address>put your public static IP address and assign it to newly created PPPOE client interface.
* 4. Delete your current DHCP Client.
* 5. Change your src-nat rule to PPPOE Client interface.
* 6. Cross your fingers.

This means that you won't have access to your old 2Wire web interface anymore because you're on a different network, but if you plug an ethernet cable directly into the 2Wire and change your IP address settings to match the "Old" settings of the 2Wire, you will be able to revert the changes if anything went wrong during the above steps...













Configuring RouterOS to work with EVDO/3G USB Modem

Introduction

This example shows how to get the Option Globetrotter HSDPA USB Modem working with LMT (Latvian Mobile Telephone UMTS/GPRS networks), or with Amigo (GPRS network) in Latvia. Service in your country might have different requirements and strings, but this is just to give you an outline of what is required.
Hardware



USB Modem: Option N.V. Globetrotter HSDPA USB Modem H7.2

Modem manufacturer: Teltonika, model number U3G150



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

Router Software

RouterOS V4.2. Works in previous versions 2.9 and 3, but slightly different configuration.

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

[admin@rb411u] > /system resource usb print
# DEVICE VENDOR NAME SPEED
0 2:1 RB400 EHCI 480 Mbps
1 1:1 RB400 OHCI 12 Mbps
2 1:3 Option N.V. Globetrotter HSDPA... 12 Mbps
[admin@rb411u] >

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

[admin@rb411u] > /port print
Flags: I - inactive
# NAME CHANNELS USED-BY BAUD-RATE
0 serial0 1 Serial Console auto
1 usb2 3 9600
[admin@rb411u] >

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. Set the baud rate to 9600 for communicating with the modem, in case it's not done already:

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

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

[admin@rb411u] > /system serial-terminal usb2 channel=2

[Ctrl-A is the prefix key]


ATI
Manufacturer: Option N.V.
Model: GTM378
Revision: 2.3.3Hd (Date: Jul 17 2007, Time: 15:49:23)

OK

Disconnect from the modem, by pressing "Ctrl-A", and then "Q":

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


Welcome back!
[admin@rb411u] >

Router Configuration for PPP

Since RouterOS V4 (and latest versions 3) the PPP client configuration is made much easier compared to previous versions. There is no need to use ppp profiles, and ppp-client interface might have been added automatically to the /interface ppp-client list:

[admin@rb411u] > /interface ppp-client
[admin@rb411u] /interface ppp-client> print
Flags: X - disabled, R - running
0 X name="ppp-out1" max-mtu=1500 max-mru=1500 mrru=disabled port=usb2
data-channel=2 info-channel=2 apn="internet" pin="" user="" password=""
profile=default phone="" dial-command="ATDT" modem-init=""
null-modem=no dial-on-demand=yes add-default-route=yes use-peer-dns=yes
allow=pap,chap,mschap1,mschap2
[admin@rb411u] /interface ppp-client> info 0

The interface has 3G/GPRS modem specific arguments, like apn, pin. Consult your network provider what to use for APN, user, and password. Adjust your peer-dns and default-route settings according to what you want to do over that interface! In our case, we want permanent connection and won't use dial on demand:

[admin@rb411u] /interface ppp-client> set 0 dial-on-demand=no
[admin@rb411u] /interface ppp-client> enable 0
[admin@rb411u] /interface ppp-client> print
Flags: X - disabled, R - running
0 R name="ppp-out1" max-mtu=1500 max-mru=1500 mrru=disabled port=usb2
data-channel=2 info-channel=2 apn="internet" pin="" user="" password=""
profile=default phone="" dial-command="ATDT" modem-init=""
null-modem=no dial-on-demand=no add-default-route=yes use-peer-dns=yes
allow=pap,chap,mschap1,mschap2
[admin@rb411u] /interface ppp-client>

After enabling the interface watch the logs to see how the connection is being established over the USB modem:

[admin@rb411u] /interface ppp-client> /log print
12:29:16 async,ppp,info ppp-out1: initializing...
12:29:16 async,ppp,info ppp-out1: reseting link...
12:29:16 system,info device changed by admin
12:29:16 system,info dns changed
12:29:17 async,ppp,info ppp-out1: initializing modem...
12:29:17 async,ppp,info ppp-out1: dialing out...
12:29:17 async,ppp,info ppp-out1: authenticated
12:29:20 async,ppp,info ppp-out1: could not determine remote address, using 10.112.112.119
12:29:20 async,ppp,info ppp-out1: connected
12:29:20 system,info dns changed

[admin@rb411u] /interface ppp-client>

The serial port is used by ppp client:

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

Check the addresses, in our case we have:

[admin@rb411u] > /ip address print
Flags: X - disabled, I - invalid, D - dynamic
# ADDRESS NETWORK BROADCAST INTERFACE
0 D 10.5.8.64/24 10.5.8.0 10.5.8.255 ether1
1 D 10.40.192.214/32 10.112.112.119 0.0.0.0 ppp-out1
[admin@rb411u] >

and routes:

[admin@rb411u] > /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 GATEWAY DISTANCE
0 ADS 0.0.0.0/0 10.112.112.119 1
1 ADC 10.5.8.0/24 10.5.8.64 ether1 0
2 ADC 10.112.112.119/32 10.40.192.214 ppp-out1 0
[admin@rb411u] >

You can get more status information about the modem and network by running the "info" command. In our case the modem uses the same channel for data and info, thus, we disable the ppp-client and run the "info" command then:

[admin@rb411u] /interface ppp-client> info 0
failure: can't reuse channel while ppp-client running!
[admin@rb411u] /interface ppp-client> disable 0
[admin@rb411u] /interface ppp-client> info 0
status: "ready"
pin-status: "no password required"
functionality: "minimum"
gprs-class: "A - GPRS & GSM simultaneous"
manufacturer: "Option N.V."
model: "GTM378"
revision: "2.3.3Hd (Date: Jul 17 2007, Time: 15:49:23)"
serial-number: "356237010662581,S23977B51N"
current-operator: "LV LMT GSM"
access-technology: "3G"
signal-strengh: -89

[admin@rb411u] /interface ppp-client>

You may need to use masquerade to hide your private network when going out through the ppp!
Modem Preferred Operation Settings

OPTION modems can be set for preferred operation in UMTS(3G) or GPRS networks. To change the operation mode, use AT_OPSYS command via terminal, or, include it into the modem init string:

AT_OPSYS=0,2 Only GPRS
AT_OPSYS=1,2 Only UMTS(3g)
AT_OPSYS=2,2 Prefer GPRS over UMTS(3G)
AT_OPSYS=3,2 Prefer UMTS(3G) over GPRS

Query the current _OPSYS setting using the AT_OPSYS? command:

[admin@rb411u] > sys serial-terminal usb4 channel=0

[Ctrl-A is the prefix key]


AT_OPSYS?
_OPSYS: 3,2

OK

The _OPSYS operation mode setting stays intact after router reboot or power off/on. If you lock the modem operation setting to 3G only, the scan command won't show GPRS networks, and vice versa.
Troubleshooting

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

2. If the data-channel setting is wrong, there would be no connection. The number of available channels is shown under the /port list, port numbers start with 0. Disable the interface and try another port number!

3. Check if you can communicate with the modem by using the serial-terminal! Make sure the ppp-client is disabled!

4. Turn off PIN request for your SIM card, it makes the life much easier. Do it in a phone if you do not know the correct AT command.

5. When speed of the link is not what expected, it's possible that the modem has connected to GPRS network, not 3G. Use the "scan" command for list of available networks:

[admin@rb411u] /interface ppp-client> scan 0
Flags: C - current, A - available, F - forbidden
OPERATOR CODE ACCESS-TECHNOLOGY SIGNAL-STRENGH
C LV LMT GSM 24701 GSM compact -65
A LV LMT GSM 24701 3G
F BITE LV 24705 3G
F LV TELE2 24702 GSM compact
F LV TELE2 24702 3G
F BITE LV 24705 GSM compact
-- [Q quit|D dump|C-z pause]

6. If you need to add multiple inits (multiline inits) then it is possible by dividing them using ; character. Example:

modem-init="AT+CGDCONT=5,\"IP\",\"internet.lmt.l\";AT+CGDCONT=6,\"IP\",\"internet.lmt.lv\";AT"