Rooting is not required. With USB cable connected, port 5555 opened across all involved firewalls and debug mode enabled
adb tcpip 5555
then look into wireless properties of your device and the network you use, to see which IP address have been granted to device (or configure your DHCP always to use the same for the device mac address). Then
adb connect 192.168.1.133
(were 192.168.1.133 is a sample IP address).
This is all. You can now use adb shell or adb install or adb upload or the like with USB cable plugged out.
To switch back to USB mode,
adb usb
The device may also revert back to USB mode after reboot.
This mode is needed for development of applications that use attached USB devices directly (USB port is used by device so cannot be used by ADB). It is briefly covered in the USB debugging section of the Android website.
I ran into the same problem today and find that things are fine on my non-rooted 4.2 Galaxy Nexus device, but does not work on my older (again non-rooted) Samsung Galaxy Y (2.3) device.
I tried the steps given here but looks like one needs a rooted phone to work on some of the earlier models (and maybe other non-nexus devices too).
This is what I tried -
$ adb shell netstat | grep 5555
No socket was opened on this port.
Tried to manually set the steps that adb tcpip does -
If you installed adbd Insecure on your device, it will prevent you from connecting to your device via WiFi. You have to uncheck the "Enable insecure adbd" in the app adbd Insecure.
For wireless ADB without USB cable is possible but you need to use one time setup connection with PC using usb cable.
make sure
USB debugging mode should be on.
Connect device on same wifi.
then run
adb tcpip 5555
adb connect yourdeviceIP
To find current device IP and to setup adb wireless use app (without rooting device)