2

The USB connection is unstable with Nexus S (Android 2.3.4) on AMD 64 running 64-bit Windows 7, but it works with 32-bit Windows Vista.

Problem Description:

On the 64-bit Windows 7 machine my Nexus S appears to connect, but then it disconnects moments later. Neither accessing USB storage or loading an Android application package file (APK) using the Android Debug Bridge (ADB) work. On 32-bit Windows Vista using the same USB cable, USB storage works. I haven't tried the ADB on 32-bit Windows Vista.

Reproduction steps for USB storage:

(I have provided the reproduction steps for USB storage and not ADB, because if one isn't working, then the other isn't working either and the USB storage reproduction steps are shorter to document.)

  1. Connect the USB cable to the Nexus S and my Windows 7 machine.

    Effect: The "USB Mass Storage, USB Connected" dialog appears with the button "Turn on USB storage."

  2. Click "Turn on USB Storage"

    Effect: The "working circle" appears. A dialog briefly appears saying "USB storage in use," then it either returns me to Step 1 (now that I am running 2.3.4) or is replaced with the Nexus S's application homepage (while I was running 2.3.3). I'm not sure if the version matters, but I mention it for completeness.

On the 32-bit Windows Vista machine the connection is stable. I am able to navigate through the Nexus S file system create, read, update, and delete files, etc. I haven't tried connecting with the ADB.

Troubleshooting summary:

Tried and failed:

  1. Uninstalling and reinstalling the Android USB drivers including removing the files.
  2. Uninstalling my custom software
  3. Pulling the Nexus S's battery
  4. Restarting the Nexus S
  5. Restarting 64-bit Windows 7
  6. Changing USB ports on the 64-bit Windows 7 box
  7. Compared the dates and file size on the DLLs in my google-usb_driver\amd64 directory and the windows\System32 directory. They match. The sizes for the google-usb_driver\i386 directory do not match (expected).
  8. Turning off Debugging mode on the Nexus S does not resolve the problem.
  9. Searching Google.

Tried and succeeded:

  1. Connecting to another machine (Windows Vista) using the same USB cable and Nexus S phone.

Troubleshooting observations:

I notice that uninstalling the device drivers and deleting the files, then reinstalling the drivers, then rebooting 64-bit Windows 7 then unplugging the Nexus S, then plugging it back in occasionally helps for a short amount of time (minutes to hours, not days). When it is working, I can both access the Nexus S's drive and load/test applications using the ADB.

I have observed some wonky behavior in the Device Manager that I haven't tracked down. Sometimes the black Nexus S image appears in the list of devices. Sometimes the image displays as a computer with a green ISA card. Sometimes it neither appears on the top level of devices nor under “other devices,” but it does appear under "disk drives" as "Android UMS Composite USB Device."

System configuration:

  1. The Nexus S is running Android OS 2.3.4's "Settings\about phone\System updates" indicates that it is up to date as of May 21st 2011.
  2. Both 32-bit Windows Vista and 64-bit Windows 7 are up to date.
  3. The Windows Vista system is running on an Intel 32-bit processor. Windows 7 is running on an AMD 64-bit processor.
  4. I have done Android development on both systems, but I usually develop on the 64-bit Windows 7 machine.

3 Answers 3

1

The USB cable was faulty causing intermittent failures. In fact, I had more than one faulty USB cable. Buying a new cable solved the problem.

0

I ran into the same issue. What seemed to work for me was toggling debugging mode. When USB Debugging mode was on, the USB Storage didn't work. When USB Debugging mode was off, the USB Storage did work.

1
  • Thanks for the suggestion. That is a good trouble shooting step for anyone to try if they see similar behavior.
    – Mike
    Commented Sep 12, 2011 at 21:56
0

I found the solution to this problem. You need to install the 32 bit version of the driver. You can do this as follows:

  • Go to the device manager
  • When your Android Device "Android Composite ADB Interface" shows up, right click en choose uninstall
  • Now go to your ADB driver directory \android-sdk\extras\google\usb_driver
  • Copy the contents of the i386 folder to the amd64 folder and copy androidwinusb86.cat to androidwinusba64.cat
  • Now go to the device manager and choose Update driver and browse to the USB driver folder
  • All instabilities are resolved and you can still use your old USB cable on any USB port
1
  • 1
    I think this is clever solution. If this works the OP should comment.
    – Mikhail
    Commented Nov 4, 2012 at 0:06

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .