Commit graph

316 commits

Author SHA1 Message Date
Scott Anderson
2ca3e6b35f adb: Generalizing -s to take qualifiers.
Prior to this change, -s could take either a serial number or a
device path (e.g. "-s 01498B1F02015015" or "-s usb:1-4.2").  This
change extends -s to also allow product, model or device names
(e.g. "-s product:mysid").  These new qualifiers will only be
available on devices that are running an adb daemon that provides
properties in the connect message per Change-Id:
    I09200decde4facb8fc9b4056fdae910155f2bcb9

The product, model and device are derived from the
ro.product.name, ro.product.model and ro.product.device
properties respectively.  They are prefixed with "product:",
"model:" or "device:" as appropriate.  In addition, any
non-alphanumerics in the model are changed to underscores.

If the -s parameter matches multiple devices, the result will be
the same as when multiple devices are connected but no -d, -e or
-s option is specified.  In general, this means the user will get
"error: more than one device".  However for get-state,
get-devpath and get-serialno, they will get "unknown".

The format of "devices -l" was changed to list all of the
qualifiers that are available.  The following example output
(with the last digits of the serial numbers replaced with X's) is
with a Galaxy Prime with an older adb daemon and another Galaxy
Prime and Galaxy S both with the enhanced adb daemons:

List of devices attached
016B75D60A0060XX       device usb:2-5 product:mysid model:Galaxy_Nexus device:toro
3731B535FAC200XX       device usb:1-4.2 product:soju model:Nexus_S device:crespo
01498B1F020150XX       device usb:1-4.1

Note that the serial number and state are now column oriented
instead of tab delimited.  After the serial number and state, all
qualifiers are listed with each preceded by a space.  The output
of the original devices command (without -l) is unchanged.

Change-Id: Iceeb2789874effc25a630d514a375d6f1889dc56
Signed-off-by: Scott Anderson <saa@android.com>
2012-06-05 11:13:40 -07:00
Scott Anderson
e82c2db05c adb: Transmit key properties in banner of connect message
protocol.txt says that the connect message should have three
fields:

        <systemtype>:<serialno>:<banner>

In reality, what is transmitted is simply:

        <systemtype>::

The serialno is obtained via other means so doesn't really need
to be a part of the connect message.  This change puts the
ro.product.name, ro.product.model and ro.product.device
properties in the <banner> for devices.  Each property is
terminated by a semicolon (;) with the key and value separated by
an equals sign (=).  Example message:

device::ro.product.name=<prd>;ro.product.model=<mdl>;ro.product.device=<dev>;

Making this change will enable the device list to provide more
information to the user and to give the potential for being able
to select which device to talk to with the -s option.

Change-Id: I09200decde4facb8fc9b4056fdae910155f2bcb9
Signed-off-by: Scott Anderson <saa@android.com>
2012-06-05 11:04:55 -07:00
Scott Anderson
3608d83242 adb: Fix two problems with device path implementation.
The commands that use "host-serial:<serial-number>:<request>"
service did not handle "-s usb:<path>".  The -s parameter is
passed as the serial number in the protocol and then matched
against either the serial number or device path.  However,
skip_host_serial() in sockets.c did not know about the usb:
syntax, the serial number was parsed incorrectly.  Before this
change:
	$ adb -s usb:1-4.1 get-state
	error: unknown host service
After:
	$ adb -s usb:1-4.1 get-state
	device

Code was added in find_transport() in transport.c to match device
paths, but find_transport() is only used for socket connections
so matching device paths is not needed.

Change-Id: I922cec963659dafadd0fbc8fa36dee3b55fe366c
Signed-off-by: Scott Anderson <saa@android.com>
2012-05-31 14:06:07 -07:00
Scott Anderson
c7993af64b adb: Fix compiler warning
system/core/adb/adb.c: In function 'connect_device':
system/core/adb/adb.c:1001: warning: comparison between signed and unsigned integer expressions

Change-Id: I206f85395e1d7ad8d6ef130a26c95dcf0f498696
Signed-off-by: Scott Anderson <saa@android.com>
2012-05-31 11:29:49 -07:00
Scott Anderson
e109d266c1 adb: Add ability to specify device path
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>
2012-04-20 11:21:14 -07:00
Xavier Ducrohet
05025357e6 am 746f3243: Add USB vendor IDs for Quanta, INQ and Sony.
* commit '746f3243f6d30ab51a36dcfea76eac3ba29ac625':
  Add USB vendor IDs for Quanta, INQ and Sony.
2012-01-24 11:29:52 -08:00
Xavier Ducrohet
746f3243f6 Add USB vendor IDs for Quanta, INQ and Sony.
Change-Id: I224e067d9a64e8e9e7afbad0760a4b07f965bf83
2012-01-24 11:18:50 -08:00
Andrew Hsieh
80d50a4c99 am 4779e934: Add Intel\'s vendor ID to adb
* commit '4779e9344bb62208e4772ff6486b6df564f434b8':
  Add Intel's vendor ID to adb
2012-01-19 09:55:28 -08:00
Andrew Hsieh
4779e9344b Add Intel's vendor ID to adb
Change-Id: I81da3ea11bfd44395f6895fe51e477ff1e7fa25b
2012-01-18 14:30:11 -08:00
Xavier Ducrohet
95ec1ca903 am 07ad9f2a: Add USB Vendor ID for Fujitsu and Lumigon.
* commit '07ad9f2a127b2836c7d45a503a5f3ef7517218f3':
  Add USB Vendor ID for Fujitsu and Lumigon.
2012-01-11 12:03:32 -08:00
Xavier Ducrohet
07ad9f2a12 Add USB Vendor ID for Fujitsu and Lumigon.
Change-Id: Icd013b362366815527834cbf54aa4ecac2b7750d
2012-01-11 11:55:45 -08:00
Vladimir Chtchetkine
b125671921 am ae429828: Cherry-picked from c4f37eed7 in master. Do not merge.
* commit 'ae4298286896cbef22b2af285a3f651e8f498185':
  Cherry-picked from c4f37eed7 in master. Do not merge.
2012-01-10 16:28:43 -08:00
Vladimir Chtchetkine
9f55988343 am 74159657: Cherry-picked from c13daef7b on master. Do not merge.
* commit '74159657687aadab4c82e4fd7e7a54d16c045d95':
  Cherry-picked from c13daef7b on master. Do not merge.
2012-01-10 16:19:42 -08:00
Vladimir Chtchetkine
ae42982868 Cherry-picked from c4f37eed7 in master. Do not merge.
Fix the build.

Conditionally compile code that is intended to run inside the emulator only.

Change-Id: Ie82e415b2ff52395616f85871dddb38e65b0ed55
2012-01-10 16:19:09 -08:00
Vladimir Chtchetkine
7415965768 Cherry-picked from c13daef7b on master. Do not merge.
Use QEMU pipe for ADB communication when running in emulator.

Change-Id: I7934b6272c2a9825d244ce76ff65dbce6e54ebff
2012-01-10 16:03:17 -08:00
Christopher Tate
1131c1644f am b1dfffe6: Fix \'adb backup\' on Windows
* commit 'b1dfffe6bb506313a3bc9146d2f6f8c533213193':
  Fix 'adb backup' on Windows
2011-12-09 16:55:38 -08:00
Christopher Tate
b1dfffe6bb Fix 'adb backup' on Windows
Use the same call sequence that 'adb pull' uses for creating the
output file.  adb_open_mode() apparently does not work on Windows
hosts.

Bug 5733007

Change-Id: I48d719c4657c93e19f6790cf1c6da610d49f5806
2011-12-09 15:29:30 -08:00
Joe Onorato
ae868a4045 Allow adb to listen both on usb and tcp.
Change-Id: I98db594241631fa17e39686727392afc8b3124bc
2011-12-07 17:50:28 -08:00
Vladimir Chtchetkine
ce48083fc9 Fixes ADB crash on Windows due to large number of connections. do not merge.
The reason for the crash is that ADB on Windows uses WaitForMultipleObjects to
wait on connection events. When number of connections exceeds 64, ADB crashes,
because WaitForMultipleObjects API doesn't support more than 64 handles. This
CL contains a fixer routine that allows waiting on an arbitrary number of
handles.

(cherry picked from commit ac52833e48)

Change-Id: I8ad264765e5b38d01a31e42b445f97ea86e49948
2011-12-05 13:14:23 -08:00
JP Abgrall
61b90bd211 adb: grant it AID_NET_BW_STATS for full /proc/net/xt_qtaguid/stats
Normally only bandwidth stats for the uid reading .../stats is returned.
With the extra group, adb shell will be able to read stats from
all UIDs.
This is to be used to offer data usage profiling to developers.

Change-Id: If3d2941ce5aa4dbb1a23947b97b893149ba224f7
2011-11-09 10:30:08 -08:00
Christopher Tate
56885094b6 Add command line help for the new 'adb backup -all -nosystem'
Documentation-only change that supports the new framework-side
feature to omit system packages when you're using adb backup -all.
Bug 5361503.

Change-Id: I86bca8883a7fb8c713ca352ad5980e92fd640d18
2011-10-03 18:27:01 -07:00
Kenny Root
a031a91b95 Skip argument when parsing adb install
A command line flag with an argument was checked in the Pm.java code,
but it wasn't being checked by "adb install" so attempts to use it
failed.

Change-Id: I0b84a4203a416f7323fa823c0f1f1750670d0c76
2011-09-23 13:36:00 -07:00
Xavier Ducrohet
dd52e8c57b Add Positivo's vendor ID to adb.
Change-Id: Ida6fc323d766249f4f12708bae1c50ae5d937b2c
2011-09-16 13:48:50 -07:00
Mike Lockwood
aa61854645 adb: Add USB vendor IDs for K-Touch, Pegatron and Archos
Change-Id: Idbc212abfb7d4d0a53e6b8ecd55134b81f4e960d
Bug: 5182028
Bug: 5157478

Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-09-13 13:20:12 -04:00
Christopher Tate
bb86bc5892 Fix 'adb backup' command line validation
The host side wasn't properly checking for argument-list sufficiency
*after* removing any [-f filename] sequence.

Fixes bug 5164135

Change-Id: I7bc49e37ef168182088e0e664b6897dd2a088ebf
2011-08-22 17:12:08 -07:00
Kenny Root
75ae424629 Merge "Add install arg for verification" 2011-08-16 08:36:17 -07:00
Mike Lockwood
22268c720b am 549bfcda: am 003771d1: am 80d508fd: Merge "correct VID of Lenovo(0x2006 is for LenovoMobile,0x17EF is for Lenovo)"
* commit '549bfcda6df30dd00db254b3717fc8df463ce710':
  correct VID of Lenovo(0x2006 is for LenovoMobile,0x17EF is for Lenovo)
2011-08-15 10:29:03 -07:00
Mike Lockwood
549bfcda6d am 003771d1: am 80d508fd: Merge "correct VID of Lenovo(0x2006 is for LenovoMobile,0x17EF is for Lenovo)"
* commit '003771d1c0ad6c3c6cd0c82f787636111c9e193c':
  correct VID of Lenovo(0x2006 is for LenovoMobile,0x17EF is for Lenovo)
2011-08-15 10:25:47 -07:00
zhangclb
c11f99f40a correct VID of Lenovo(0x2006 is for LenovoMobile,0x17EF is for Lenovo)
Change-Id: I3466fdf7b03cf5da189efe4efb563d09f14b467a
2011-08-15 14:18:02 +08:00
Christopher Tate
de034ec83e Change default backup filename and terminology
We now use "backup.ab" as the default backup archive filename, and no longer
refer to "tar" or "tarfiles" in the help text.  The underlying format may
be tar, but we're certainly not interoperable even with ustar/pax thanks
to our compression & encryption layers and our custom header.

Change-Id: I3e74af96cfc102e94848c969eb36af54304bfd9b
2011-08-09 17:05:29 -07:00
Kenny Root
597ea5b63f Add install arg for verification
Allow "adb install" to transfer the file for the verification argument
to the package manager "pm install" command.

Change-Id: I4834f45019eb1387a5d2b205b53a67e91d5fa67e
2011-08-06 13:19:56 -07:00
Kenny Root
9ff99f6536 Merge "Default to secure mode" 2011-08-05 10:16:21 -07:00
Kenny Root
ff9d3484e6 Default to secure mode
If ro.secure is not set for some reason, default to secure mode.

Change-Id: Id0ce3ea5507a3f9690332fb5a2daef7d3303481d
2011-07-31 09:15:46 -07:00
Nick Kralevich
514b40bafa am 189de0c1: am adabe566: am 810cf41b: Merge "Fixed memory leak when using transport:serial."
* commit '189de0c1f4339abd7b938b4905775163d2a94bbe':
  Fixed memory leak when using transport:serial.
2011-07-29 16:51:35 -07:00
Nick Kralevich
189de0c1f4 am adabe566: am 810cf41b: Merge "Fixed memory leak when using transport:serial."
* commit 'adabe566906aa5e8ce791327559aeb10c139b365':
  Fixed memory leak when using transport:serial.
2011-07-29 16:47:31 -07:00
Nick Kralevich
810cf41b6d Merge "Fixed memory leak when using transport:serial." 2011-07-29 16:32:21 -07:00
Tom Marlin
3175c8e9bf Fixed memory leak when using transport:serial.
Fixed memory leak when using transport:serial. Code was previously
using strdup() to make a copy of the serial number which was not
necessary. Instead, just set serial=service.

Change-Id: Ifa8fe7999c6fb88955d2c6bdfcd3cd724ec1f020
Signed-off-by: Tom Marlin <tomm@bsquare.com>
2011-07-29 13:38:56 -05:00
Mike Lockwood
ea839db289 am b1cfa672: am 7d39463e: am d1015de9: Merge "adb: Add USB vendor ID for Vizio"
* commit 'b1cfa672014d197d6d4d12fca0d40cd59de436bc':
  adb: Add USB vendor ID for Vizio
2011-07-29 06:22:44 -07:00
Mike Lockwood
b1cfa67201 am 7d39463e: am d1015de9: Merge "adb: Add USB vendor ID for Vizio"
* commit '7d39463eff2a9002208f34f1d2ce4d62546f6c3a':
  adb: Add USB vendor ID for Vizio
2011-07-29 06:20:10 -07:00
Mike Lockwood
fb34e98bdd adb: Add USB vendor ID for Vizio
Change-Id: I280ff83d7f1fda1ed811bd42cb6fd65036525559
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-07-29 08:59:43 -04:00
Mike Lockwood
b32904a9ea am 01acea11: am 1f72fe99: am 7df080b2: am 3ddaa0ad: Merge "adb: Add USB vendor ID for Lenovo"
* commit '01acea112501f7d140f100591319781e59b90d0e':
  adb: Add USB vendor ID for Lenovo
2011-07-18 09:23:23 -07:00
Mike Lockwood
01acea1125 am 1f72fe99: am 7df080b2: am 3ddaa0ad: Merge "adb: Add USB vendor ID for Lenovo"
* commit '1f72fe991dc2e48c13518015c523f9e3ea048af2':
  adb: Add USB vendor ID for Lenovo
2011-07-18 09:18:58 -07:00
Jean-Baptiste Queru
7076831c7d am f75a2ed2: Merge from gingerbread-plus-aosp
* commit 'f75a2ed2138cd8b74597bd57e13d12e1f0b815c2':
  adb: Add vendor IDs for iRiver, Compal and T & A Mobile Phones
  Add Gigabyte's USB vendor ID to adb.
  Add Funai's USB vendor ID to adb.
2011-07-14 10:49:22 -07:00
Mike Lockwood
7c17d0932c adb: Add USB vendor ID for Lenovo
Change-Id: I1c2423f567272493067fae04e64fdcb651b0af62
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-07-14 09:00:33 -04:00
Jean-Baptiste Queru
f75a2ed213 Merge from gingerbread-plus-aosp
Change-Id: I55b84eda30edf0eade8b43712ab011cd3f65f0d9
2011-07-12 14:41:38 -07:00
Jeff Brown
29e1e7393d Remove the simulator target from all makefiles.
Bug: 5010576

Change-Id: I2fcf31af681d92880e5d31a46d5f6777f7ca1977
2011-07-11 22:12:32 -07:00
Mike Lockwood
292e86230e adb: Add vendor IDs for iRiver, Compal and T & A Mobile Phones
Change-Id: I4dafc43aa76049dd0075e1d70ba05d899e545c8d
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-07-11 09:39:39 -04:00
Joe Bass
7a5c1463ba Add Gigabyte's USB vendor ID to adb.
Bug #4452872

Change-Id: Ib97548d121d40e96ccc519323a335fc90f3b32b9
2011-07-11 09:39:02 -04:00
Xavier Ducrohet
cbe19cec61 Add Funai's USB vendor ID to adb.
Change-Id: Idc2974d4437ab1c79cfea5aade98b599a877aad3
2011-07-11 09:37:43 -04:00
Mike Lockwood
535164e9d9 Reimplement the "adb root" command to more closely match its previous behavior
The adb gadget driver used to reset the USB bus when the adbd daemon exited,
and the host side adb relied on this behavior to force it to reconnect
with the new adbd instance after init relaunches it.  The new gadget
drivers no longer automatically reset the USB bus when adbd is restarted
which caused adb to hang since it was no longer forced to reconnect with the
device.  We attempted to work around this on the host side adb, but that
work around has not been reliable.

This change adds a property trigger on the service.adb.root system property
which will reset the USB bus and restart the adbd daemon when adbd sets
the property to 1.  This should be much closer to the previous behavior
and will hopefully fix some problems with automated testing.

Change-Id: I177c37400009a3d83f21a5f9431f94fd1cc19b9b
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-06-22 08:36:53 -04:00