6 Answers
6

Another thing for people searching who are still stumped (as I was for some time)...

I had this exact same issue and just figured out what helped for me. I had installed EasyTether and it was interfering with this even after I thought I uninstalled it.

Here's the solution from the EasyTether website:

ADB on Mac OS X stops recognizing the
attached device after installing
EasyTether driver. Use
kextload/kextunload to unload from
memory the EasyTetherUSBEthernet.kext
kernel extension manually. It is in
/System/Library/Extensions/

Note that the setting for "USB Debugging" on the devices seems to unset under certain conditions. In my case this is what happened... So if you come across this for OS X, hopefully that is your issue, otherwise perhaps try the steps above. To enable USB Debugging:

I encountered the same problem after updating my phone. It was confusing because the USB Debugging setting was still checked and the phone would say "USB Debugging connected" when I connected it. As soon as I disabled and re-enabled USB Debugging it started working again.
–
default.kramerDec 14 '11 at 5:37

For completeness, I often find that running adb kill-server followed by adb devices will often cause the offending device to show up again. For some specific devices (eg. my Thunderbolt) I've also found I need to physically unplug the USB from the thunderbolt and plug it back in again.

I can second the point regarding easytether. Calling kextunload didn't seem to make a difference, but after also removing the EasyTether network connection from System Preferences, my device does indeed appear when i call "./adb devices"