summaryrefslogtreecommitdiffstats
path: root/fastboot
diff options
context:
space:
mode:
authorjp abgrall <jpa@google.com>2013-06-26 03:51:29 +0000
committerjp abgrall <jpa@google.com>2013-06-26 03:51:29 +0000
commit88e8f61a9ef5cda24932f669d3b224e0216deba9 (patch)
tree0b2f5c6ab3c46ca1c36202c7381b61a73bc5bbd9 /fastboot
parent6f1cd0b2ad7a16d4ec0b5324f992cae33dc34f34 (diff)
downloadsystem_core-88e8f61a9ef5cda24932f669d3b224e0216deba9.zip
system_core-88e8f61a9ef5cda24932f669d3b224e0216deba9.tar.gz
system_core-88e8f61a9ef5cda24932f669d3b224e0216deba9.tar.bz2
Revert "fastboot: add preflash command to help with large downloads+flash"
This reverts commit 6f1cd0b2ad7a16d4ec0b5324f992cae33dc34f34. It causes some devices to fail (b/9581613). Revert for now. Change-Id: I076158c704c2b4f0459322aa157c19ebd0c4615f
Diffstat (limited to 'fastboot')
-rw-r--r--fastboot/engine.c13
-rw-r--r--fastboot/fastboot_protocol.txt18
2 files changed, 10 insertions, 21 deletions
diff --git a/fastboot/engine.c b/fastboot/engine.c
index 4045759..8d46991 100644
--- a/fastboot/engine.c
+++ b/fastboot/engine.c
@@ -76,7 +76,6 @@ char *mkmsg(const char *fmt, ...)
#define OP_NOTICE 4
#define OP_FORMAT 5
#define OP_DOWNLOAD_SPARSE 6
-#define OP_COMMAND_IGNORE_FAIL 7
typedef struct Action Action;
@@ -375,8 +374,6 @@ int fb_format(Action *a, usb_handle *usb, int skip_if_not_supported)
// Following piece of code is similar to fb_queue_flash() but executes
// actions directly without queuing
- snprintf(cmd, sizeof(cmd), "preflash:%s", partition);
- fb_command(usb, cmd); /* Ignore status */
fprintf(stderr, "sending '%s' (%lli KB)...\n", partition, image.image_size/1024);
status = fb_download_data(usb, image.buffer, image.image_size);
if (status) goto cleanup;
@@ -405,8 +402,6 @@ void fb_queue_flash(const char *ptn, void *data, unsigned sz)
{
Action *a;
- a = queue_action(OP_COMMAND_IGNORE_FAIL, "preflash:%s", ptn);
- a->msg = mkmsg("prep for '%s' (%d KB)", ptn, sz / 1024);
a = queue_action(OP_DOWNLOAD, "");
a->data = data;
a->size = sz;
@@ -420,8 +415,6 @@ void fb_queue_flash_sparse(const char *ptn, struct sparse_file *s, unsigned sz)
{
Action *a;
- a = queue_action(OP_COMMAND_IGNORE_FAIL, "preflash:%s", ptn);
- a->msg = mkmsg("prep for sparse '%s' (%d KB)", ptn, sz / 1024);
a = queue_action(OP_DOWNLOAD_SPARSE, "");
a->data = s;
a->size = 0;
@@ -582,9 +575,7 @@ void fb_queue_command(const char *cmd, const char *msg)
void fb_queue_download(const char *name, void *data, unsigned size)
{
- Action *a;
- a = queue_action(OP_COMMAND_IGNORE_FAIL, "preflash:");
- a = queue_action(OP_DOWNLOAD, "");
+ Action *a = queue_action(OP_DOWNLOAD, "");
a->data = data;
a->size = size;
a->msg = mkmsg("downloading '%s'", name);
@@ -623,8 +614,6 @@ int fb_execute_queue(usb_handle *usb)
status = fb_command(usb, a->cmd);
status = a->func(a, status, status ? fb_get_error() : "");
if (status) break;
- } else if (a->op == OP_COMMAND_IGNORE_FAIL) {
- fb_command(usb, a->cmd); /* Ignore status */
} else if (a->op == OP_QUERY) {
status = fb_command_response(usb, a->cmd, resp);
status = a->func(a, status, status ? fb_get_error() : resp);
diff --git a/fastboot/fastboot_protocol.txt b/fastboot/fastboot_protocol.txt
index eede5d1..2248992 100644
--- a/fastboot/fastboot_protocol.txt
+++ b/fastboot/fastboot_protocol.txt
@@ -1,5 +1,5 @@
-FastBoot Version 0.4++
+FastBoot Version 0.4
----------------------
The fastboot protocol is a mechanism for communicating with bootloaders
@@ -67,6 +67,10 @@ Transport and Framing
Example Session
---------------
+Host: "getvar:version" request version variable
+
+Client: "OKAY0.4" return version "0.4"
+
Host: "getvar:nonexistant" request some undefined variable
Client: "OKAY" return value ""
@@ -119,11 +123,6 @@ Command Reference
"flash:%s" Write the previously downloaded image to the
named partition (if possible).
- "preflash:%s" Optionally prepare for a download + flash.
- E.g. flash directly during download. To deal with a
- failed "flash" followed by a "boot", we send
- "preflash:".
-
"erase:%s" Erase the indicated partition (clear to 0xFFs)
"boot" The previously downloaded data is a boot.img
@@ -141,9 +140,7 @@ Command Reference
"powerdown" Power off the device.
-* Note about sparse files
- Large files can be split up using libsparse, and sent to the bootloader
- as repeated chunks of "download:%08x" + "flash:%s".
+
Client Variables
----------------
@@ -154,6 +151,9 @@ on it.
The various currently defined names are:
+ version Version of FastBoot protocol supported.
+ It should be "0.3" for this document.
+
version-bootloader Version string for the Bootloader.
version-baseband Version string of the Baseband Software