Nexus 5 offline for debugging with Ubuntu 12.04 64 bits but not 32 bits

2.4k Views Asked by At

I have an Ubuntu 12.04/32 bits installation on a Desktop computer that I use for Android development and so far it have worked pretty well. My Nexus 5 is detected and I can work with it.

Recently I purchased a Dell XPS 13 with Ubuntu 12.04/64 bits, and I haven't been able to debug on my Nexus 5: I mean, the same device with the same USB cable works perfectly on the Desktop computer, but in the XPS laptop the 'adb devices' command always show the device, but it is shown as 'offline' device and so it cannot be used.

I tried revoking all authorized hosts from my Nexus 5 device, but it didn't work: while it asked again for authorization when connected to the desktop pc, it didn't asked when connected to the laptop PC.

The most relevant difference I see here is that the laptop has a 64bit OS while the desktop pc has a 32bit one, but I cannot figure out anyway how to solve this problem.

Any ideas?

UPDATE

Things that doesn't seem to make any difference:

  • Adding the famous udev file
  • Using an USB2 port instead an USB3

Things that makes some difference:

  • Running adb as root user makes the device works for debugging as expected but only sometimes, randomly, and even when it works it keeps asking for authorization for the RSA key of the host despite how many times I have authorized the same key before.

Some interesting info:

  • A Nexus 7 device (1st generation) with the same Android 4.4.2 version works flawlessly in the same laptop with the same USB cable in the same USB port. That may suggest that the problem is with the Nexus 5 device, but as told before...
  • ...the Nexus 5 device itself also works flawlessly in my desktop pc.
3

There are 3 best solutions below

1
On

In my case Nexus 5 doesn't work when connected to an USB 3.0 port. I spent days trying various ideas and than just moved it to an USB 2.0 and everything was fine.

Maybe it's the same issue in your case.

3
On

try reviewing android rules for setting up device....

specifically , check 'udev rules' under #3 Set up your system to detect your device

--EDIT

below is syslog from ubuntu 12.04 x86-64 when Nexus 5 plugged in via usb: 'tail /var/log/syslog'

Jan 31 08:01:25 rob--900X4D kernel: [115104.203491] usb 1-1.2: new high-speed USB device number 5 using ehci_hcd
Jan 31 08:01:25 rob--900X4D kernel: [115104.297253] usb 1-1.2: New USB device found, idVendor=18d1, idProduct=4ee2
Jan 31 08:01:25 rob--900X4D kernel: [115104.297264] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Jan 31 08:01:25 rob--900X4D kernel: [115104.297270] usb 1-1.2: Product: Nexus 5
Jan 31 08:01:25 rob--900X4D kernel: [115104.297275] usb 1-1.2: Manufacturer: LGE
Jan 31 08:01:25 rob--900X4D kernel: [115104.297280] usb 1-1.2: SerialNumber: 02d640cf08e4fb72
Jan 31 08:01:25 rob--900X4D mtp-probe: checking bus 1, device 5: "/sys/devices/pci0000:00/0000:00:1d.0/usb1/1-1/1-1.2"
Jan 31 08:01:25 rob--900X4D mtp-probe: bus: 1, device: 5 was an MTP device
0
On

Suggestion by @azertiti worked for me . I faced same issue on ubuntu 14.10 , i just plugged the USB cable from USB 3.0 port to USB 2.0 port it worked for me ! Looked like a not so relevant solution in the beginning , but it worked !!