Automatic model DSL switching – improve your gaming

Network response and ping-time are the most important factors when it comes to gaming. In South Africa (and perhaps other countries) the so called “unshaped ADSL access” is extremely expensive (twice as much as normal, shaped access).

Axxess DSL has now introduced the 6-2-6 unshaped ADSL access which provides on a prepaid basis unshaped ADSL access on weekdays between 18:00 and 06:00 and full unshaped access over weekends.

Is unshaped access really worth it? Hell Yes! Pinging Google on Telkom Internet takes about 300-320ms. Doing the same on unshaped (only tested on Axxess) it is about 200ms, and 100ms makes a huge difference in gaming.

I haven now signed up for an Axxess prepaid account which gives me the luxury of traffic rolling over if I happen not to use it. The first irritation was to switch back and forth between accounts, as the Axxess 6-2-6 access does not give you any Internet access outside the above mentioned times.

My rudimentary Perl-scripting-knowledge (it can’t get anymore dangerous) came to the rescue and I have written the below script, which (once included as a crontab) will do the following:
– Allows the configuration of “shaped” and “unshaped” access times
– This can be configured per day
– The script will check the day of week and whether it should switch to “shaped” or “unshaped” access
– The script fully automates the reconfiguration of the Netgear DG834 (others with telnet access will also work) and the reconnection.

– A PC or NAS (such as my beautiful Synology DS107+)
– A DSL modem which allows Telnet-access (if you use the DG834xx, then get the DGTeam firmware to enable this and more)
– A shaped and unshaped account
– The script linked below (you need to make the necessary adjustments within the script)

2009-03-14: Release 1.00 of script
2009-03-15: Release 1.01 – minor adjustments and bug-fix (Sunday was interpreted wrongly)
2009-03-16: Release 1.02 – minor bug, switch statement for shaped did not work

Download the DSL switch script
Note: I provide the script for free and if you screw up your DSL modem (which requires quite some ingenuity on your part), don’t come crying to me. Also if you find that I could have done things better please let me know (I am aware that my time-period checking in the script is horrendous, but since it only took 30 minutes to write, I forgive myself)