This was recommended to me but it didn't work in my case
"kiwidoggie"
"Here's a few things you can try first, Add Battlefield 3 (bf3.exe) to your Windows Firewall exception list, try to make sure that there are no firewall's blocking ports 25200, 25300, 7948, and 7958."