As others have stated, the possible causes are many. Ensure the basic setup is correct before you do anything that may compound the problem.
1. Get your line stats.
http://www.dslzoneuk.net/adsl_line_stats.php
has instructions on how to obtain line stats for most routers and modems.
2. Run the BT speed tester at
http://www.speedtester.bt.com/
to find your BRAS profile (I titter ye not - Google it).
Your line stats will indicate the maximum speed your line will support. Look for the sync rate. 8128 is good. Something lower may not be all bad news, but you will not get 8Meg.
Your BRAS profile indicates the maximum rate the exchange thinks your line will support. This may be stuck at 2Meg. If so, ask your ISP to have it reset.
HTH