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.
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.