You might have a broken cable and/or connector:
Install aLogCat and unplug the USB cable then clear the logs, then re-plug the USB cable. You should see something like this:
--------- beginning of /dev/log/system
D/Vold ( 132): USB connected
D/Vold ( 132): Share method ums now available
I/StorageNotification( 263): UMS connection changed to true (media state mounted)
D/Vold ( 132): USB connected
D/Tethering( 185): sendTetherStateChangedBroadcast 1, 0, 0
D/Tethering( 185): interfaceAdded :usb0
D/BluetoothNetworkService( 185): updating tether state
D/BluetoothNetworkService( 185): interface usb0
W/Tethering( 185): active iface (usb0) reported as added, ignoring
D/dalvikvm( 580): GC_EXPLICIT freed 6K, 53% free 2705K/5639K, external 0K/0K, paused 57ms
D/dalvikvm( 639): GC_EXPLICIT freed 24K, 51% free 2814K/5639K, external 0K/0K, paused 61ms
If it's just something like this, your connection is not detected (broken cable,...):
D/SettingsAppWidgetProvider( 639): Widget is from a previous version... Let's update
D/SettingsAppWidgetProvider( 639): No instances yet... Wait for at least one instance to exist before adding global settings
D/dalvikvm( 263): GC_CONCURRENT freed 332K, 49% free 3079K/6023K, external 911K/990K, paused 4ms+3ms
D/dalvikvm( 639): GC_EXPLICIT freed 17K, 51% free 2814K/5639K, external 0K/0K, paused 60ms