summaryrefslogtreecommitdiffstats
path: root/adb/usb_linux.c
Commit message (Collapse)AuthorAgeFilesLines
* system/core 64-bit cleanup.Elliott Hughes2014-01-161-1/+1
| | | | | | | | | This cleans up most of the size-related problems in system/core. There are still a few changes needed for a clean 64-bit build, but they look like they might require changes to things like the fastboot protocol. Change-Id: I1560425a289fa158e13e2e3173cc3e71976f92c0
* adb: Add ability to specify device pathScott Anderson2012-04-201-5/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For manufacturing and testing, there is a need to talk to whatever device is connected to a given port on the host. This change modifies adb's "-s" option to take either a serial number or a device path. The device paths of the connected devices can be listed using "adb devices -l" whose output will resemble: List of devices attached 016B75D60A00600D usb:2-5 device 3031D0B2E71D00EC usb:1-4.3 device The second column lists the device paths. If the -l option is not given, the output from "adb devices" will be the same as it used to be (i.e. the paths will not be printed). The device path can also be obtained with the get-devpath command: $adb -s 3031D0B2E71D00EC get-devpath usb:1-4.3 Note that the format of the device paths are platform dependent. The example above is from Linux. On OS-X, the paths will be "usb:" followed by hex digits. For other platforms, the device paths will be printed as "????????????" and the -s option will not be able to select a device until someone implements the underlying functionality. Change-Id: I057d5d9f8c5bb72eddf5b8088aae110763f809d7 Signed-off-by: Scott Anderson <saa@android.com>
* Add a 1000msec timeout for adb's USB control packetsOmari Stephens2011-05-091-0/+2
| | | | | | | | Includes a version bump to make it possible to determine if a given binary has this fix or not. Bug: 4111855 Change-Id: I86d902a7fa0c4b906264141d2467b7bdddb61801
* adb: fix subprocess exit handling, oom adjust fixes, extra debugging.JP Abgrall2011-03-281-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | * Add support for correctly handling subprocess termination in shell service (b/3400254 b/3482112 b/2249397) - have a waitpid() track the subprocess, then notify the fdevent via a socket - force an eof on the pty master in fdevent's new subproc handler. - modify fdevent to force-read the pty after an exit. * Migrate the "shell:blabla" handling to "#if !ADB_HOST" sections, where it belongs. * Fix the race around OOM adjusting. - Do it in the child before exec() instead of the in the parent as the child could already have started or not (no /proc/pid/... yet). * Allow for multi-threaded D() invocations to not clobber each other. - Allow locks across object files. - Add lock within D() - Make sure sysdesp init (mutex init also) is called early. * Add some missing close(fd) calls - Match similar existing practices near dup2() * Add extra D() invocations related to FD handling. * Warn about using debugging as stderr/stdout is used for protocol. * Fix some errno handling and make D() correctly handle it. * Add new adb trace_mask: services. * Make fdevent_loop's handle BADFDs more gracefully (could occur some subproc closed its pts explicitely). * Remove obsolete commandline args reported in help. (b/3509092) Change-Id: I928287fdf4f1a86777e22ce105f9581685f46e35
* Revert "Fix adb hang when subprocess dies early."JP Abgrall2011-02-231-1/+1
| | | | | | | | This is for http://b/3482112 "adb interactions with device causing test harness failures". This reverts commit 69c5c4c45bd4f1575ae8bdba13795297be7deb8c. Change-Id: I630bf2e04d2ecf0223bd2af4e87136754ff880d3
* Fix adb hang when subprocess dies early.JP Abgrall2011-02-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | * Handling of the subprocess and its FD. This fixes http://b/3400254 "Many bugreports getting hung at the end in monkey" - Start up a service thread that waits on the subprocess to terminate, then closes the FD associated with it. - Have the event handler select() with a timeout so that it can detect the closed FD. Select() with no timeout does not return when an FD is closed. - Have the event handler force a read on the closed FD to trigger the close sequence. - Migrate the "shell:blabla" handling to "#if !ADB_HOST" sections. * Fix the race around OOM adjusting. - Do it in the child before exec() instead of the in the parent as the child could already have started or not (no /proc/pid/... yet). * Allow for multi-threaded D() invocations to not clobber each other. - Allow locks across object files. - Add lock within D() * Add some missing close(fd) calls - Match similar existing practices near dup2() * Add extra D() invocations related to FD handling. * Warn about using debugging as stderr/stdout is used for protocol. Change-Id: Ie5c4a5e6bfbe3f22201adf5f9a205d32e069bf9d Signed-off-by: JP Abgrall <jpa@google.com>
* adb: Increase device descriptor buffer size in Linux host USB supportMike Lockwood2011-01-071-1/+1
| | | | | | | 256 bytes wasn't big enough for some complicated USB configurations Change-Id: I31f7841953d73b06958f44040f58166b159faff4 Signed-off-by: Mike Lockwood <lockwood@android.com>
* Fix USB endianness bugs on Linux.Marcus Comstedt2010-10-161-5/+4
| | | | | | | | | | | The fields device->idVendor and device->idProduct should not be converted from little endian to native byteorder, because the kernel has in fact done so already! On the other hand, the descriptors read using raw ioctl:s in register_device() do need to be converted. Change-Id: I5fe08b626b14ead56a592b68d026690e343c2656
* adb: Add five second timeout for USB writes on Linux host.Mike Lockwood2010-03-081-2/+9
| | | | | | | This helps us recover when things go wrong during automated testing. Change-Id: I006dbfaff7f70d51398ff12fbddcaee751453b78 Signed-off-by: Mike Lockwood <lockwood@android.com>
* adb: Fix problems detecting adb in more complicated USB configurations.Mike Lockwood2010-01-171-64/+63
| | | | | Change-Id: Ib5b13960a1c75efc97abeca46204c85bba905c71 Signed-off-by: Mike Lockwood <lockwood@android.com>
* adb: Fix infinite loop in Linux host device discovery.Mike Lockwood2009-08-111-5/+1
| | | | Signed-off-by: Mike Lockwood <lockwood@android.com>
* adb: On Linux, detect USB devices for which adb does not have permissions to ↵Mike Lockwood2009-08-081-86/+95
| | | | | | | | | | | communicate with. adb devices will now list devices without adequate file system permissions in /dev/bus/usb as: List of devices attached ???????????? no permissions Signed-off-by: Mike Lockwood <lockwood@android.com>
* Add support for Samsung and Motorola devices.Xavier Ducrohet2009-07-241-3/+7
| | | | | | Also update the linux code. Some devices have more complex USB descriptors which can't be parsed with the simple assumption of just skipping the endpoint descriptors.
* adb: Use correct language ID when retrieving USB serial number.Mike Lockwood2009-07-081-12/+32
| | | | | | Fixes http://code.google.com/p/android/issues/detail?id=2609 Signed-off-by: Mike Lockwood <lockwood@android.com>
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-031-0/+654
|
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-031-654/+0
|
* auto import from //branches/cupcake/...@130745The Android Open Source Project2009-02-101-1/+2
|
* Initial ContributionThe Android Open Source Project2008-10-211-0/+653