Changing settings on Belong modems

Keith Ng

Recently I switched from Optus to Belong NBN and received a new modem (telcos forcing you to pay for a new router even though you don’t need one).

Despite my dislike for using telco-supplied routers as they always come pre-installed with their own custom firmware full of locked settings, I decided to give it a try. No harm, right? The only alternative was my old Optus Sagemcom F@ST 3864AC, which didn’t work that well anyway.

Surprisingly, contrary to my initial predictions, the new modem turned out to perform better than the old Optus one, with the signal now reaching to areas on the opposite end of the property where a repeater was previously necessary.

On the negative side though, Belong had locked many of the modem settings as expected, one of which was the DNS servers. On the old Optus modem this was also locked but it was easy to get into the admin interface (this link contains the credentials necessary as well as a bunch of other useful tools).

Through a bit of research, here’s how to change the settings to your own liking - this works for Telstra supplied Sagemcom routers too:

Head to the gateway page - by default this is 10.0.0.138

Log in to the settings pages, default password is “Belong” without quotes

Fire up the browser console and type in the following:

Enabling remote access (SSH)

1
$.xmo.setValuesTree(true, "Device/UserAccounts/Users/User[@uid='6']/RemoteAccesses/RemoteAccess[@uid='2']/Enabled");

Setting the SSH port to 22

1
$.xmo.setValuesTree(22, "Device/UserAccounts/Users/User[@uid='6']/RemoteAccesses/RemoteAccess[@uid='2']/Port");

Allowing LAN connections

1
$.xmo.setValuesTree("ACCESS_ENABLE_ALL", "Device/UserAccounts/Users/User[@uid='6']/RemoteAccesses/RemoteAccess[@uid='2']/LANRestriction");

Setting password to md5 hash of “assist”

1
$.xmo.setValuesTree("8213d162ea32a3fcfec2aae5538c48e5", "Device/UserAccounts/Users/User[@uid='6']/Password");

Setting plain text password to “assist”

1
$.xmo.setValuesTree("assist", "Device/UserAccounts/Users/User[@uid='6']/ClearTextPassword");

Essentially this enables SSH access to your modem through a hidden “assist” account. The password set by default is simply “assist” - you can change it by adjusting the values in the last two commands accordingly (first is md5 hash, second is plain text)

Reboot your modem and login to it through SSH (port 22) with the username “assist” and the password you set, then:

1
su

You’ll be prompted for a password - just type “root” without quotes

To change the DNS server:

1
xmo-client -s "1.1.1.1,1.0.0.1" -p 'Device/DHCPv4/Server/Pools/Pool[@uid="1"]/DNSServers'

These IPs direct to the Cloudflare 1.1.1.1 DNS service - you can change them to any value you like

Other helpful commands you might find useful:

Check which DNS servers your modem is using

1
xmo-client -g -p 'Device/DHCPv4/Server/Pools/Pool[@uid="1"]/DNSServers'

Checking management server settings

1
xmo-client -g -p "Device/ManagementServer/URL"

Removing Belong’s management server

1
xmo-client -s "" -p "Device/ManagementServer/URL"

Turning off the nightly CWMP check-in with Belong servers (prevents undesirable updates)

1
xmo-client -s false -p "Device/ManagementServer/EnableCWMP"

Changing the app update port (also stopping unwanted updates)

1
xmo-client -s 50806 -p "Device/ManagementServer/TR69InternalData/Settings/Port"

For Telstra customers - turning off the Telstra Air network that anybody can join using your Wi-Fi

1
2
xmo-client -s false -p "Device/WiFi/SSIDs/SSID[@uid='5']/Enable"
xmo-client -s false -p "Device/WiFi/SSIDs/SSID[@uid='7']/Enable"

And now you have control of the router your telco forced you to pay for!

 Comments