Well the one I use the most is the wireless toolkit that is free. Has a lot of options but the problem is that many times the result is not the same as a real device.
I recomend yo to use the wireless toolkit for learning but if you need to deploy a project on a real device for comercial purpose then you can use a emulator from the device manufacturer.
For example nokia has some emulators that work like a real nokia device.