Hi,

I have a big issue with adb: it can't see any of my phones. "adb
devices" returns an empty list.
It came all of a sudden: I updated nothing, it just appeared today. This
morning it worked, this afternoon it doesn't.
The funniest (in a sense) is that it happens on both my computers, both
running Debian Jessie. It stopped working on one of them last week, and
on the second one only today.

I already tried to do the usual checks: udev rules, run as root,
kill-server, check that no other adb was running, reboot the computer,
update Android SDK, try other phones, try other cables: no luck. (same
phone, same cable, on another computer: works fine).
I tried removing MTP support and ModemManager (thinking this might
interfere) but it brought no improvement.

Paul Adenot helped me debugging a little more using ADB_TRACE=1 and
strace and looking at the source code for adb.

Here are the logs for what I found:

$ ADB_TRACE=1 adb -P 5037 fork-server server
system/core/adb/adb.c::main():Handling commandline()
system/core/adb/transport_local.c::local_init():transport: local client init
system/core/adb/usb_linux.c::device_poll_thread():Created device thread
system/core/adb/adb_auth_host.c::adb_auth_init():adb_auth_init
system/core/adb/adb_auth_host.c::get_user_keyfilepath():home '/home/julien'
system/core/adb/transport_local.c::client_socket_thread():transport:
client_socket_thread() starting
system/core/adb/adb_auth_host.c::get_user_key():user key
'/home/julien/.android/adbkey'
system/core/adb/adb_auth_host.c::read_key():read_key
'/home/julien/.android/adbkey'
system/core/adb/usb_linux.c::register_device():[ usb located new device
/dev/bus/usb/001/100 (130/2/1) ]
system/core/adb/usb_linux.c::register_device():[ usb open
/dev/bus/usb/001/100 fd = 8]
system/core/adb/usb_linux.c::register_device():[ usb open
/dev/bus/usb/001/100 error=16, err_str = Device or resource busy]
OK

The error seems to happen when the code tries to run ioctl with
USBDEVFS_CLAIMINTERFACE [1].

[1] http://androidxref.com/5.1.0_r1/xref/system/core/adb/usb_linux.c#609

This likely means that something else is already claiming this
interface, but I don't know how to find out where this comes from.


For the record, here is the log when this works fine (from another
computer -- you'll easily find out whose computer it is ;) ):

$ ADB_TRACE=1 adb -P 5037 fork-server server
adb.c::main():Handling commandline()
transport_local.c::local_init():transport: local client init
usb_linux.c::device_poll_thread():Created device thread
adb_auth_host.c::adb_auth_init():adb_auth_init
transport_local.c::client_socket_thread():transport:
client_socket_thread() starting
adb_auth_host.c::get_user_keyfilepath():home '/home/jlorenzo'
adb_auth_host.c::get_user_key():user key '/home/jlorenzo/.android/adbkey'
adb_auth_host.c::read_key():read_key '/home/jlorenzo/.android/adbkey'
usb_linux.c::register_device():[ usb located new device
/dev/bus/usb/002/124 (130/2/1) ]
OK
usb_linux.c::register_device():[ usb open /dev/bus/usb/002/124 fd = 10]

So it's really comparable except there is no error.

Hope someone will be able to help me here, I'm quite stuck :/

Regards,
-- 
Julien

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
dev-b2g mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-b2g

Reply via email to