Just to update this old thread a bit: actually this didn't work
perfectly, it only worked when I started up Linux when the PC was
already switched on beforehand. When switching the PC on from cold and
booting into Linux, it did not work, I think because it was trying to
talk to the ADSL modem before the modem was ready. So following a
suggestion on another web page I found, instead of doing the above, I
put the following line in my /etc/inittab:
s1:23:respawn:/usr/sbin/pppd call <provider>
This seems to have solved the problem, but there is one minor niggle left: when this line in inittab is being processed, pppd seems to crash out the first few times it is started - I assume for the same reason mentioned above, i.e. the ADSL modem is not yet ready - and this causes an error that it is "respawning too fast" and will be put on hold for 5 minutes (I don't have the exact text of the message). Somehow though it is managing to get pppd running because when I log in, iceweasel can connect to the internet straight away.
I can probably work out a way to put in a delay between each respawn to stop this message, but if anyone has a good idea or knows the 'right' way to do this I'd be grateful.
Thanks in advance