Commit Graph

273 Commits

Author SHA1 Message Date
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
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
Mike Lockwood 07edefe4ce Revert "adb: kick the transport after sending the "adb root" command"
This reverts commit d15e6ac95d.

Also increment adb version to 1.0.29

Change-Id: I890643f0c18a2fe90f170134df039c54116cecda
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-06-22 07:15:44 -04:00
Mike Lockwood 693e78b9b6 Merge "Fix hang after end of backup" 2011-06-21 16:44:32 -07:00
Christopher Tate 10f129ca8e Fix hang after end of backup
The buggy behavior was that the 'adb backup ....' host command line
invocation would hang forever, even after the backup finished and
the forked device-side subprocess had been reaped.  The reason for
this is that the device adbd end of the socketpair used to send
the data back from the forked subprocess was still stuck readable
even after the remote end of it had been closed.

With this patch, the thread whose job it is to waitpid() in order
to harvest the forked child process also closes the local (adbd)
end of the socketpair.  This makes the fdevent logic notice that
the socket is dead, at which point it cleans up everything including
the communication back to the host.

Change-Id: I90e7e4e5db36c5a6f7363708b29a6d2c56d1250e
2011-06-21 16:05:17 -07:00
Mike Lockwood b0bd6024e3 adb: Update version to 1.0.28
Change-Id: Ib8a98d3840abf24cf062112aca7ce462a0f44bc5
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-06-21 17:26:11 -04:00
Christopher Tate 5b811fa5dd Tidy up the end-of-data handling in backup
* Increase transfer buffer size to 32K
* Add logging about error conditions and fd teardown
* Pass the fd number as a command line option to the 'bu' subprocess
* Properly harvest the 'bu' subprocess after it's done

Change-Id: Id44dde25778ecf43c5604fd9d01d726ba58861e5
2011-06-20 16:19:42 -07:00
Kenny Root b0a8aae3ed Use adb_sleep_ms for Cygwin compat
Change-Id: Iabb2cddfb6740a35e4b6b1563a81b64972c29453
2011-06-15 20:03:49 -07:00
Mike Lockwood d15e6ac95d adb: kick the transport after sending the "adb root" command
This is needed because the USB driver on the device no longer resets the bus
when exits and restarts.
Since the host side adb no longer detects that adbd has restarted we need
to reset the connection on the host side now.

Change-Id: I1a8eabd292e8b45c34fa07a8a8b8c609cc15648d
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-06-12 16:09:27 -04:00
Nick Kralevich 37b9fc6e7c am 4ba5a8ac: am eafcbe10: am 072a0fac: Merge "Fixed adb crash due to accessing freed memory"
* commit '4ba5a8acba033127befd184f2f78cf0580995b07':
  Fixed adb crash due to accessing freed memory
2011-06-09 11:27:11 -07:00
Nick Kralevich 4ba5a8acba am eafcbe10: am 072a0fac: Merge "Fixed adb crash due to accessing freed memory"
* commit 'eafcbe109f97e5a687cc944e65c383fa45d71c8f':
  Fixed adb crash due to accessing freed memory
2011-06-07 16:28:09 -07:00
Tom Marlin 49f1857dd8 Fixed adb crash due to accessing freed memory
Reset peers to NULL after closing them down. This prevents
other code from attempting to access that freed memory
(which prevents crashes). Previously, it left pointers to
freed memory and the "if (s->peer)" guards could not block
the attempt to access that memory later. Resolves many
crashes seen while taking repeated screenshots on WinXP.

Change-Id: I32553f4d19f6ddc9b05b6ab4dc1e9efe69e5be4f
2011-06-03 11:29:17 -05:00
Christopher Tate c9cd3b9761 Make 'adb backup' -f handling more bulletproof and more flexible
* "adb backup" as the entire command line no longer crashes

* The "-f filename" option can now appear anywhere in the command line.
  A trailing "-f" at EOL prompts an error message and usage summary.

Change-Id: I040ed73c2ca3687e265e35600eb3ab2b3c879695
2011-06-01 17:56:23 -07:00
Joe Bass 2bc503e6a9 am 0efe2f2f: am b27c682e: am f5144d34: Add Gigabyte\'s USB vendor ID to adb.
* commit '0efe2f2f11d79060962f35a3fb4db525d3f12e9e':
  Add Gigabyte's USB vendor ID to adb.
2011-05-21 21:35:49 -07:00
Joe Bass 0efe2f2f11 am b27c682e: am f5144d34: Add Gigabyte\'s USB vendor ID to adb.
* commit 'b27c682e28a01b18f7506a9b35222453058107ad':
  Add Gigabyte's USB vendor ID to adb.
2011-05-20 16:14:13 -07:00
Christopher Tate 5526ee0831 Merge "Add 'adb restore' to parallel 'adb backup'" 2011-05-20 15:36:55 -07:00
Joe Bass f5144d34fa Add Gigabyte's USB vendor ID to adb.
Bug #4452872

Change-Id: Ib97548d121d40e96ccc519323a335fc90f3b32b9
2011-05-19 11:40:23 -07:00
Xavier Ducrohet aff5d7870e am 44c336bf: am 830fc9af: am 30d916c3: Add Funai\'s USB vendor ID to adb.
* commit '44c336bfe9bbd400461b9b28a449a67145eaeeb8':
  Add Funai's USB vendor ID to adb.
2011-05-19 08:57:55 -07:00
Xavier Ducrohet 44c336bfe9 am 830fc9af: am 30d916c3: Add Funai\'s USB vendor ID to adb.
* commit '830fc9afbe3e83b3b39278d67a9680bb2068098a':
  Add Funai's USB vendor ID to adb.
2011-05-18 17:41:21 -07:00
Xavier Ducrohet 30d916c360 Add Funai's USB vendor ID to adb.
Change-Id: Idc2974d4437ab1c79cfea5aade98b599a877aad3
2011-05-18 16:57:26 -07:00
Christopher Tate 702967afb1 Add 'adb restore' to parallel 'adb backup'
It won't actually do anything until the 'bu' tool and framework are
updated to respond properly, but this is the adb side of the
necessary infrastructure: we copy the tarfile into the socket pointed
at the device, using the existing mechanisms.

Change-Id: Ic3b5779ade256bd1ad989a94b0685f7b1a7d59d2
2011-05-17 15:52:54 -07:00
Christopher Tate 024447c3c3 Use the new 'bu' syntax for backup vs restore operation
Change-Id: Ib007705ee562a41869f8add3408101b3a53aa2d7
2011-05-16 16:28:59 -07:00
Omari Stephens 35e6a003ca Merge "Add a 1000msec timeout for adb's USB control packets" 2011-05-16 15:42:26 -07:00
Christopher Tate 574ebc41f8 Merge "Add 'adb backup' for pulling a full backup tarfile to the host" 2011-05-11 12:51:14 -07:00
Omari Stephens 8bbae23915 Add a 1000msec timeout for adb's USB control packets
Includes a version bump to make it possible to determine if a given
binary has this fix or not.

Bug: 4111855
Change-Id: I86d902a7fa0c4b906264141d2467b7bdddb61801
2011-05-09 19:14:24 -07:00
Christopher Tate d2f5415c60 Add 'adb backup' for pulling a full backup tarfile to the host
The direct command interfaces with the 'bu' binary in /system/bin
on the device.

Change-Id: I4cd69eedfe5144c47277573c5626c6ad8755d70b
2011-04-27 15:27:23 -07:00
Mike Lockwood 224f9485f1 am 81ce51da: am 55537c34: am 2f7995ee: Merge "adb: fix typo in helptext"
* commit '81ce51dae95deb0dc6b07cbd96bd07d08aad5178':
  adb: fix typo in helptext
2011-04-26 16:06:04 -07:00
Mike Lockwood 81ce51dae9 am 55537c34: am 2f7995ee: Merge "adb: fix typo in helptext"
* commit '55537c347bb31d0e2b176ca2550d2054877f9d54':
  adb: fix typo in helptext
2011-04-26 16:00:55 -07:00
Bernhard Reutner-Fischer 6715a4390f adb: fix typo in helptext
s/ocmmand/command

Change-Id: I4ed17e8df9dc71a28e1caef5a21f6351e92628af
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2011-04-26 12:53:55 +02:00
JP Abgrall 112445b8a7 adb: Don't allow a forced exit if data is still in the socket
Fixes the  http://b/4271011 "adb shell cat /init.rc output gets truncated"


Change-Id: I6df64374b60789595fb18f96d429315dec032443
Signed-off-by: JP Abgrall <jpa@google.com>
2011-04-12 22:01:58 -07:00
Mike Lockwood 0ffe483a6a am e4bcf830: am d37e0840: Merge "In serial, skip over port as well if numbers found after colon."
* commit 'e4bcf8305748e8799df9047fb0f6881553dd43b5':
  In serial, skip over port as well if numbers found after colon.
2011-04-11 14:55:01 -07:00
Terence Haddock e994f18c53 In serial, skip over port as well if numbers found after colon.
Change-Id: Icd45f570a9527790eb0cd614a3f77da1a72375b1
2011-04-06 16:18:25 +02:00
JP Abgrall b40367e7bc adb: keep mac build happy
Use FIONREAD instead of TIOCINQ

Change-Id: Ic9db0228a51c546a798c70f08f2e644a1a376120
2011-03-29 12:36:22 -07:00
JP Abgrall 408fa57864 adb: fix subprocess exit handling, oom adjust fixes, extra debugging.
* 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
2011-03-28 14:12:22 -07:00
Terence Haddock 28e1390e68 In serial, skip over port as well if numbers found after colon.
Change-Id: Icd45f570a9527790eb0cd614a3f77da1a72375b1
2011-03-16 09:43:56 +01:00
Ken Sumrall e3aeeb4de3 Try to unmount writable filesystems when rebooting
Ext4 filesystems like to be unmounted before rebooting.  The Android system
doesn't have a traditional Linux init setup, and shutting down the system
was not much more than calling sync(2) and reboot(2).  This adds a new
function to libcutils called android_reboot().  By default, it calls sync()
and then remounts all writable filesystems as read-only and marks them clean.
There is a flag parameter in which the caller can ask for sync() not to be
called, or to not remount the filesystems as read-only.  Then it will call
reboot(2) as directed by the other parameters.  This change also updates
adb, init and toolbox to call the new android_reboot() function.
Fixes bugs 3350709 and 3495575.

Change-Id: I16d71ffce3134310d7a260f61ec6f4dd204124a7
2011-03-10 18:11:46 -08:00
JP Abgrall 0e7c4274c6 Revert "Fix adb hang when subprocess dies early."
This is for http://b/3482112 "adb interactions with device causing test harness failures".

This reverts commit 69c5c4c45b.

Change-Id: I630bf2e04d2ecf0223bd2af4e87136754ff880d3
2011-02-23 18:49:00 -08:00
JP Abgrall 69c5c4c45b Fix adb hang when subprocess dies early.
* 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>
2011-02-18 14:16:59 -08:00
Mathias Agopian 0909af57d5 am c1fbf7c1: fix [3374821] Cannot take screenshot of HC preview
* commit 'c1fbf7c1638cb4f1f139edf74562fcfbaa6f3435':
  fix [3374821] Cannot take screenshot of HC preview
2011-02-09 13:22:39 -08:00
Mathias Agopian c1fbf7c163 fix [3374821] Cannot take screenshot of HC preview
don't hardcode the pixelformat to RGBA_8888 when taking
screenshots.

Change-Id: I3a76b49275acfce9a2994436f521b76310cd8fb2
2011-02-09 12:56:25 -08:00
Mike Lockwood 67afaad585 am d4894f4b: am 034117e4: Merge changes I8df51128,Ie922b3e7,I31f78419,I7e8df44d,I6067857b,Ifd35587c,Ie8d66740
* commit 'd4894f4be608c28ef0f39c7794ba865ac812dff9':
  Fix adb leaking file descriptors to forked processes
  adb: Fix command-line parser.
  adb: Increase device descriptor buffer size in Linux host USB support
  adb: improve debug traces readability.
  adb: Don't report negative number of bytes after pushing file > 2 gigabytes
  Adding Texas Instruments to the VID list.
  Support an additional alias for 'adb shell.'
2011-02-03 12:59:03 -08:00
Benoit Goby 3b4a0c81c4 Fix adb leaking file descriptors to forked processes
accept() creates a new file descriptor that should be closed on exec so
that forked processes don't keep a fd opened on the socket.

This also fixes b/3297070 where adb hangs after running adb on the
target.

Change-Id: I8df511289e5549ae49b4824c9dfb71a3bf85eae8
2011-02-03 15:26:45 -05:00
David 'Digit' Turner eb5df470e6 adb: Fix command-line parser.
This fixes the command-line parser to accept both "daemon server"
and "server nodaemon". Before the patch, the second string would
ignore the "nodaemon" flag.

Fixes b/2191598

Change-Id: Ie922b3e7bf57a6e334fc448cec33fb340ca6abc4
2011-02-03 15:26:43 -05:00
Mike Lockwood a5d4694846 adb: Increase device descriptor buffer size in Linux host USB support
256 bytes wasn't big enough for some complicated USB configurations

Change-Id: I31f7841953d73b06958f44040f58166b159faff4
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-02-03 15:26:41 -05:00
David 'Digit' Turner 3e42db23fb adb: improve debug traces readability.
This patch makes the traces easier to read. For example transports are
displayed by name/serial instead of their hex address.

Change-Id: I7e8df44ddbec19754d63d989bd56485998b4627b
2011-02-03 15:26:37 -05:00