If you can connect to the router and not to the internet, there are a few things that can be wrong.

First try resetting the stack. To do this open a Command prompt with elevated privileges, ie, right click the icon and select 'Run as Administrator'
Type in the Command Prompt netsh winsock reset then press Enter. Restart the Laptop.

Next try disabling Vista's TCP autotuning. Again open a Command Prompt with elevated privileges.
Type the following command and press Enter: netsh interface tcp set global autotuning=disabled

If this does not work, re-enable it by running the following command
netsh interface tcp set global autotuning=normal