Modifying the ADSLD program to allow connection to your ISP on a Wanadoo Livebox (Inventel DV4210) Wireless ADSL Modem Router
Inventel have locked the Livebox so as to only allow you to use Wanadoo (Freeserve) as your ISP. This locking has been
done within the "/sbin/adsld" program. The current versions of the UK branded firmware will only allow connections that have
either @fs, @bb.freeserve.co.uk, @bb1.freeserve.co.uk, @bb2.freeserve.co.uk, @bb3.freeserve.co.uk or @bb4.freeserve.co.uk
in your ISP account name. When you try to connect to the Internet, a check is done (using grep) to ensure that your ISP
account name contains one of these strings.What we need to do is change one of the strings within the adsld program to be
your ISP's instead of one of Wanadoo's. The check seems to be for the complete string from your account name after the @
symbol (@my.account.isp.name) and so just changing one of the looked for strings to be "@" does not appear to work. Care
needs to be taken to ensure that while we can change the length of the string that we do not change the quantity of the
strings in the file as strange things could happen. Once we have changed the string we need to copy the file to the Livebox.
As the original program is stored in non alterable EEROM so we need to copy ours to somewhere else and change then change
the calling programs to call 'our' program instead of the original.
I have just tried changing the /sbin/adsld program by modifying the 'grep' call from "echo '%s' | grep '%s'"
to "echo 'AP' | grep 'AP'". This appeared to work as it allowed me to connect to my ISP through the Livebox. This is
a better hack as 1 file suits all ISP's. I have included the modified file(s) in those listed below.
- First you need to build and install a serial port adapter and optionally install the
Telnet Server. You could try using the cfgsave.dwb hack to do
all the copying but it is rather convoluted and I wouldn't recommend it.
- You now need to copy the version specific adsld file from "/sbin" to a machine with a hex editor on it and do either
of the following.
- (a) Search for "@bb". Change this string to be the same as your ISP details after the "@"
sign. Ensure that the string still ends with the "$" sign and that there is at least 1 nul character following it. If you
have started to overwrite the next "@bb", dont worry, just change the first character of the remains of that string to the
"@" sign. If your ISP details are shorter, just pad after the "$" with more nul characters.
- (b) Search for "grep" and change "echo '%s' | grep '%s'" to "echo 'AP' | grep 'AP'".
- There is enough free space on the jffs drive for this so we will copy it to "/etc". This means that it should last if the
router is rebooted. It will NOT survive a hard reset.
- Copy the changed adsld file using wget or another method to the "/etc" directory on the Livebox. If wget does not work, try
disconnecting the ADSL cable from the modem. My Livebox will not connect within the local lan using wget if the ADSL cable is connected.
Why ?, not sure but I think it has a routing issue.
- Ensure that the file is RWX by all users.
- Change directory to "/etc/init.d"
- Delete the existing adsl file.
- Use wget to copy the version specific adsl file to this directory and make it RWX for all users. This means that
we could use the web interface to stop and start the internet connection
- Type the following to stop the running adsld program, "kill -9 $(cat /var/run/adsld.pid)" and "rm /var/run/adsld.pid".
- To start the new adsld program, type "/etc/adsld &".
- If you now reconnect the ADSL cable, the Livebox should connect to your ISP if you have configured it correctly. Mine
just did and then did an update from 'developers.inventel.com'. Looking in '/etc/hosts' I noticed that the entry
that I had put in for developers.inventel.com had been removed. Possibly this version rewrites the hosts file. In this case
we need to make changes to one of the conf files to stop this. The changes are outlined below.
- I made changes to /etc/autoconf.conf by changing CONFIG_DEFAULT_UPDATE_MACHINE="10.0.0.242" instead of
"developers.inventel.com" and in /etc/firm.conf by changing UPDATE_MACHINE=10.0.0.242 instead of developers.inventel.com. This
appears to have worked and stopped the automatic updates.
- I have also made some changes within the /etc/init.d/normal_boot file that should stop the hard reset that the box does when
it fails to be able to create a file in the EEROM. It looks as though the box will check on every boot that it can write to the ffs
partition and eventually it runs out of directory entries and does a hard reboot which reformats the ffs. This means you then have to
copy all the files down again and reconfigure the box. Hopefully this will stop that.(My box was doing this every couple of reboots
which was driving me nuts.)
- I have created a setup.sh file that will do all the copying of the required files down to the router.
It expects all the files to be available, with some in version specific directories. Read the top of the script file to find out which
files need to be where. You will need to copy your hacked version of adsld into the version specific directory along with the original
wifi.conf (without the password hack) from your cfgsave.dwb file. The other files you can copy from here.
- for v5.01.4-uk, adsld,adsl, autoconf.conf, firm.conf, normal_boot
- for v5.02.1-sp, adsld,adsl, autoconf.conf, firm.conf, normal_boot
- for v5.02.2-uk, adsld,adsl, autoconf.conf, firm.conf, normal_boot
- for v5.02.7-fr, adsld,adsl, autoconf.conf, firm.conf, normal_boot
- for v5.03.3-uk, adsld,adsl, autoconf.conf, firm.conf, normal_boot
- for v5.03.3-fr, adsld,adsl, autoconf.conf, firm.conf, normal_boot
Andy Potter.