After reading different forums it seems there are different fix for this issue, i just tried the same thing that works on my laptop with my friend which works as well, although i already described it above.i will try writing the step by step i took maybe that will help.
step1: go to your router settings and change the mode to just "G" mode
step2: go to network work preference, create a new location. Then edit the service order by dragging airport to the top and save. make sure you dont use this location yet to connect.
step3: go to utilities --> click keychain. click login, delete your wireless settings, also click system, delete your wireless settings.
step4: then reset your PRAM , do this by following the instruction below:
(a) Shut down the computer.
(b) Locate the following keys on the keyboard: Command, Option, P, and R. You will need to hold these keys down simultaneously in step 4.
(c) Turn on the computer.
(d) Press and hold the Command-Option-P-R keys. You must press this key combination before the gray screen appears.
(e)Hold the keys down until the computer restarts and you hear the startup sound for the second time.
(f) Release the keys.
step 5: after the restart, now go to your network preference and the select the new location you created before,connect to your wireless network. then click advance settings, addd your network to the preferred network, then click tcp/ip, configure ipv4 set to manually address ip to your computer,make sure another system is not using the ip address you gng to use to avoid conflict.
subent mask: 255.255.255.0 then enter your router ip address. turn off configure ipv6. next click on dns and add these addresses one after the other : 208.67.222.222, 208.67.220.220. then click ok. then click apply.hopefully you should be fine now.
other things you can do after doing this:try changing the channels, also restart your router, am using wpa//wpa2.
as i said before for this issue it seems there are different fix for diff machines, so if someone says it doesnt work for them it doesnt mean it cannot work for you.