All posts by luke

Cisco adjust ADSL noise margin

Go into global configuration mode and type the following:
service internal
int atm 0
dsl noise-margin (a value between -3 and 3)

The service internal command exposes the dsl noise-margin command (and other hidden/non standard commands). The dsl noise-margin forces the router to training at a higher noise margin (sacrificing speed for stability). Setting this to 3 for example should see you get a higher noise margin, slower speed (and depending on firmware) a higher attenuation.
Start at 3 and work your way down to 0 in 0.5 steps until you get a stable connection. A value of 0 is the same as not having this command at all (eg: normal settings).
If you add a dsl noise-margin command, after a reload you’ll see “WARNING: Unsupported Command. May cause violation to ADSL standards.” on bootup, ignore it, it’s just the addition of the noise-margin command.
Use the dsl noise-margin command to fine tune your connection to get that extra stability if required.

Set 877 to Bridge mode only

no ip routing
no ip cef
ip subnet-zero
interface vlan 1
no ip address
no ip route-cache
bridge-group 1
interface atm0
no shut
no ip address
no route-cache
no atm ilmi-keepalive
pvc 8/35
encapsulation aal5snap
dsl operating-mode auto
bridge-group 1
bridge 1 protocol ieee

Router OS Change IP DYNDNS update script

## This script was not written by ME. It was found on the Mikrotik forum. I have saved it here for future reference

Change items in CAPS

# Define User Variables
:global ddnsuser “USERNAME”
:global ddnspass “PASSWORD”
:global ddnshost “GROUPUPDATENAME”

# Define Global Variables
:global ddnsip
:global ddnslastip
:if ([ :typeof $ddnslastip ] = nil ) do={ :global ddnslastip “0” }

:global ddnsinterface
:global ddnssystem (“mt-” . [/system package get system version] )

# Define Local Variables
:local int

# Loop thru interfaces and look for ones containing
# default gateways without routing-marks
:foreach int in=[/ip route find dst-address= active=yes ] do={
:if ([:typeof [/ip route get $int routing-mark ]] != str ) do={
:global ddnsinterface [/ip route get $int interface]

# Grab the current IP address on that interface.
:global ddnsip [ /ip address get [/ip address find interface=$ddnsinterface ] address ]

# Did we get an IP address to compare?
:if ([ :typeof $ddnsip ] = nil ) do={
:log info (“DDNS: No ip address present on ” . $ddnsinterface . “, please check.”)
} else={

:if ($ddnsip != $ddnslastip) do={

:log info “DDNS: Sending UPDATE!”
:log info [ :put [/tool dns-update name=$ddnshost address=[:pick $ddnsip 0 [:find $ddnsip “/”] ] key-name=$ddnsuser key=$ddnspass ] ]
:global ddnslastip $ddnsip

} else={
:log info “DDNS: No update required.”


# End of script