Now, a command like "adb shell" will print "insufficient permissions for device"
instead of "device not found" if adb does not have permissions to communicate with the device.
Signed-off-by: Mike Lockwood <lockwood@android.com>
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>
This will allow rebooting the device via adb on any build, including user builds.
An optional argument can be provided
(for example, "adb reboot bootloader" or adb reboot recovery")
Signed-off-by: Mike Lockwood <lockwood@android.com>
Merge commit 'cc1de48dcdf06c76ee14abbe2a237aa51b5b3bad'
* commit 'cc1de48dcdf06c76ee14abbe2a237aa51b5b3bad':
adb: Another attempted workaround for the adb disconnect problem.
For adb shell commands (as well as shell based commands like logcat and bugreport) we now
batch USB writes into 4K chunks instead of sending small packets of data as they come in.
A timeout prevents us from blocking for more than 100ms when our 4K buffer is partially full.
Signed-off-by: Mike Lockwood <lockwood@android.com>
Merge commit 'de6f62a609120c3d9e4e53689c3b309842ec874b'
* commit 'de6f62a609120c3d9e4e53689c3b309842ec874b':
Add support for Samsung and Motorola devices.
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.
It was pointed out that we should have done this when we added the "adb root" command.
And doing this will also force people to pick up the recent Linux USB serial number fix.
Signed-off-by: Mike Lockwood <lockwood@android.com>
Merge commit '3d9b265b7d34d886a2f44e486c25e402d7df791b'
* commit '3d9b265b7d34d886a2f44e486c25e402d7df791b':
adb: Use correct language ID when retrieving USB serial number.
This reverts commit e38a31e305.
This change had the unfortunate side effect of breaking ctrl-C
when executing "adb shell <command>"
Signed-off-by: Mike Lockwood <lockwood@android.com>
For non-interactive adb shell commands, batch USB writes into 4K chunks
instead of sending small packets of data as they come in.
Add a timeout so we do not block for more than 200ms when our 4K buffer is partially full.
Signed-off-by: Mike Lockwood <lockwood@android.com>
Merge commit '1f546e6d1f6ccd1964336ddf0d8e8b3b11b1e945'
* commit '1f546e6d1f6ccd1964336ddf0d8e8b3b11b1e945':
adb: Allow enabling of device side adbd logging with a persistent system property.
To enable logging, set the property persist.adb.trace_mask to a hex value
containing the bitmask for adb_trace_mask (see the TRACE_* enum values in adb.h).
This will result in adb writing log output to a file in /data/adb/
No logging will occur if persist.adb.trace_mask is not set or has a value
that cannot be parsed as a hex integer.
The property is read once only at startup, so you must reboot or restart adbd
for changes in the property to take effect.
Signed-off-by: Mike Lockwood <lockwood@android.com>
Merge commit '6a3075c78287ea5a7ee7a3c85cde58e894350822'
* commit '6a3075c78287ea5a7ee7a3c85cde58e894350822':
adb: Add adbd to the AID_SDCARD_RW group to allow writing to the SD card.
Merge commit '0469d2c37adddcb30cb0d88772bef33ac26c6500'
* commit '0469d2c37adddcb30cb0d88772bef33ac26c6500':
Support for 3rd party USB Vendor IDs in adb.
Vendor IDs are read from ~/.android/adb_usb.ini. The format is very simple:
1 number per line. First number is ID count, followed by the ID themselves.
Lines starting with # are considered comments.
Other misc changes: moved VENDOR_ID_* to usb_vendors.c to prevent direct
access. Made transport_usb.c reuse the USB constant introduced in usb_osx
(moved them to adb.h)
Merge commit 'a09fbd164d2e088bc5433d310e25640ae048d47d'
* commit 'a09fbd164d2e088bc5433d310e25640ae048d47d':
Preparation work for adb to support USB vendor Ids provided by SDK add-ons.
Added usb_vendors.* which handles creating (and deleting) a list of vendor ids.
This list is meant to be used everywhere the built-in lists (usb_osx), or the
built-in vendor IDs (transport_usb) were used.
For now the list is only built with the built-in VENDOR_ID_*. Next step
is to read a small file created from all the SDK add-on.
Other misc changes: made is_adb_interface present only if ADB_HOST is true
to prevent accessing a list that doesn't exist (usb_vendors is only
compiled for the host version of adb).
Merge commit 'a61755e5fca065dfc89c7639bb672c20a4f9854e'
* commit 'a61755e5fca065dfc89c7639bb672c20a4f9854e':
move native_handle stuff from master_gl
adb: adbd no longer disables OOM and now sets children's OOM adjustment to zero
Merge commit '414ff7d98ac8d7610a26206335954ad15f43f3ac'
* commit '414ff7d98ac8d7610a26206335954ad15f43f3ac':
Move fdevent from libcutils into adb directory. ADB is the only client of this API, and I intend to modify it extensively to clean its codebase soon.
Merge commit '3fd82b8861aa410fab7785074941b459d92220c1'
* commit '3fd82b8861aa410fab7785074941b459d92220c1':
adb: osx: Match devices based on interface subclass and protocol
Enumerating all vendor+product id combinations is not practical.
This modifies the matching algorithm to use the adb interface
subclass/protocol instead (0x42/0x1).
Signed-off-by: Dima Zavin <dima@android.com>