On the Cisco 877 there is no default way to to fine tune the SNR margin if you are having stability issues.
There’s a diagnostics tweak which can be enabled to allow modification of the noise margin buffer. Be aware that making this change will instantly drop the connection.
Go into configuration mode and type the following, replacing x with a value between negative three and positive three (-3 -> 3)
service internal int atm 0 dsl noise-margin x
The service internal command exposes the dsl noise-margin command (and other hidden/non standard commands). The dsl noise-margin forces the router to train 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 boot, ignore it, it’s just the addition of the noise-margin command.
Information translated from here.