First, the bottom line: every time you connect your Captivate to your computer via USB, always follow the proper procedure to mount it and unmount it as a mass storage device, even if you just want to recharge it and have no need to actually access its contents. Two qualifications: first, I use a Mac; on a PC, things may be different. Second, if you are using the Kies software (on a PC), then obviously you will not be mounting your Captivate in mass storage mode–but if you know about Kies, you probably know about this already!
The details: I am currently on my way back from a quick business trip to Europe. On my flight to Europe, I realized that my Captivate’s battery was running a little low for a transatlantic flight–maybe 50% or so. I really enjoy reading books using the Kindle app, but that does use some juice. Actually, a 50% charge would have been enough for a few hours’ reading (especially while in flight mode), but just to be on the safe side, I decided to recharge the phone by plugging into my Macbook Pro’s USB port for a while. I was experimenting with instant preview (I do have some interesting findings to report, by the way: stay tuned!), so I had my laptop out already; plugging in the Captivate seemed like a no-brainer.
Well, it was a no-brainer, but in a rather different sense 😦 Because I had no need to actually access files stored on my phone, I did not bother to mount it as a storage device, like I usually do when e.g. I need to transfer pictures, movies, or songs. I just plugged it in and, after a while, disconnected the USB cord.
Big mistake! Right after disconnecting, the "USB connected" notification came back up on the phone, accompanied by the "USB debugging on" notification (to mount on a Mac, you have to turn on USB debugging, so I always keep it on). Plugging the USB cable back in (and out) did nothing; pulling down the notification menu and trying to mount as mass storage, in the hope that this may reset things, also failed (incidentally, this meant that accessing files on my Captivate via USB was now impossible). I even resorted to trying to kill USB-related processes using the OSMonitor app, but I think you need to be root for that, and I’m not.
When I landed, as soon as I had Internet access, I searched for solutions to this issue. Apparently, some people have encountered a similar problem, which they solved by powering down the phone, removing the battery, and waiting a few minutes before rebooting. Well, I tried that, but the phone just would not boot up. Obviously, panic ensued… I then suspect a battery issue: what if, for some reason, the battery had actually not been charging at all while plugged to my laptop? Thus, I plugged the Captivate to a wall outlet; that did the trick, and the phone came back to life. Luckily, the "USB connected" notification was gone, too!
Driven by some insane desire to once again wreak my Captivate, I experimented some more. For instance, I was able to reproduce the problem by connecting the USB cord to my laptop, then dragging down the notification bar, clicking on the USB Storage notification and selecting the "Unmount from Andriod" option (I’m not sure about the exact wording). Again, only rebooting, leaving the phone without battery for a few minutes, then powering back up while connected to a wall outlet gave me a fully functioning phone. I have since been reluctant to try other combinations, but mounting as USB storage and unmounting from the desktop the usual way does work.
The bottom line is that there seems to be something quite delicate going on in the Samsung USB stack (the set of system drivers and software that interact with the USB interface). There are other indications of this: for instance, there are well-known interactions between non-stock launchers (e.g. the excellent Launcher Pro) and Samsung-specific software such as Kies (to use the Kies software, you must switch back to the default TouchWiz launcher). Be that as it may, whenever I connect my phone to my laptop, I will henceforth always mount it on the desktop, and then cleanly unmount it when I’m done.
One final UI-related note: is there any good reason why Android hides USB configuration options under the "Settings | Applications" menu, of all places?