I also have problems with some b/g only routers and I have found two related workarounds that have solved my problems with those specific routers. In these cases the problem is with the IPv6 stack, so the solution is to turn off IPV6. There are two ways to accomplish this:
1) Goto network manager indicator e select "Edit connections" and in the wireless section select the SSID associated to your router and click "Edit". Look for the IPv6 configuration tab and select the option "Ignore" under "Method". You may need to log out and login again. This will tur off IPv6 for that router only.
2) Turn off IPv6 globally. This seems to be achieved with the option "ipv6.disable=1" in the boot parameters.
It may help you.