From: Tom Rini <trini@ti.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v3] dfu: Introduction of the "dfu_hash_algo" env variable for checksum method setting
Date: Mon, 12 May 2014 10:45:12 -0400 [thread overview]
Message-ID: <20140512144512.GC22182@bill-the-cat> (raw)
In-Reply-To: <20140509083154.2B66038060C@gemini.denx.de>
On Fri, May 09, 2014 at 10:31:54AM +0200, Wolfgang Denk wrote:
> Dear Lukasz,
>
> In message <20140509085203.31133238@amdc2363> you wrote:
> >
> > For automated tests I use MD5 and compare this value before sending
> > data to target via DFU and after I read it. This testing is done purely
> > on HOST machine.
>
> This is unsufficient. You should always verify the image on the
> target after the download has completed.
True. But this patch doesn't really change what you would have to do,
and arguably make it easier.
> > Participants have agreed, that we shall optionally enable crc32 (or
> > other algorithm) calculation.
>
> If this is the default now, it should remain the default.
Keep in mind what this current default is. We say "here was the CRC32".
We do not compare it with an expected value nor do we have the ability
to since we're not passed from the host what the value was.
> > 2. The current crc32 implementation is painfully slow (although I have
> > only L1 enabled on my target).
>
> This is an unrelated problem then, which should excluded from this
> discussion here.
Agreed.
> > 3. With large files (like rootfs images) we store data (to medium) with
> > 32 MiB chunks, which means that when we calculate complete crc32 the
> > image is already written to its final destination.
>
> You can still detect if the download was corrupted, report a proper
> error and initiate a re-download. This would at least give you a
> chance to react to corrupted data. Just closing the eyes and hoping
> no errors will ever happen has always been a bad strategy.
Before and after this change, only if the console is being monitored by
some script. We do not nor are we given an expected hash so we cannot
say data was corrupted.
> > 4. This patch also allows some flexibility: by setting the env variable
> > we can decide which algorithm to use (crc32, sha1, etc). It is
> > appealing since we use the hash_* code anyway.
>
> Agreed. This was not my point.
>
> What I complained about is the change in behaviour. I asked to make
> the existing behaviour the default, so unaware users will not be
> affected. Only if you intentionally want some other behaviour you can
> then enable this by setting the env variable.
Well, looking at mainline usage of DFU, Lukasz is speaking for about
half of the users / implementors. Since Denx is working with the other
half, can you shed some light on actual use vs theoretical
possibilities?
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140512/e1ebdeff/attachment.pgp>
next prev parent reply other threads:[~2014-05-12 14:45 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-31 8:48 [U-Boot] [PATCH 0/3] dfu: Several enhancements for dfu subsystem Lukasz Majewski
2014-03-31 8:48 ` [U-Boot] [PATCH 1/3] dfu: mmc: Provide support for eMMC boot partition access Lukasz Majewski
2014-03-31 8:59 ` Marek Vasut
2014-03-31 9:14 ` Lukasz Majewski
2014-05-09 14:58 ` [U-Boot] [PATCH v2] " Lukasz Majewski
2014-05-14 22:24 ` Marek Vasut
2014-03-31 8:48 ` [U-Boot] [PATCH 2/3] dfu: add static alt num count in dfu_config_entities() Lukasz Majewski
2014-03-31 9:01 ` Marek Vasut
2014-03-31 9:15 ` Lukasz Majewski
2014-04-01 6:47 ` Przemyslaw Marczak
2014-04-01 6:49 ` Marek Vasut
2014-04-01 7:45 ` Lukasz Majewski
2014-03-31 8:48 ` [U-Boot] [PATCH 3/3] dfu: Introduction of the "dfu_checksum_method" env variable for checksum method setting Lukasz Majewski
2014-03-31 9:04 ` Marek Vasut
2014-03-31 9:24 ` Lukasz Majewski
2014-03-31 9:29 ` Marek Vasut
2014-03-31 9:49 ` Lukasz Majewski
2014-03-31 11:19 ` Pantelis Antoniou
2014-03-31 12:04 ` Lukasz Majewski
2014-03-31 12:10 ` Pantelis Antoniou
2014-03-31 12:16 ` Pantelis Antoniou
2014-03-31 18:05 ` Tom Rini
2014-03-31 18:15 ` Marek Vasut
2014-03-31 18:26 ` Tom Rini
2014-03-31 20:44 ` Lukasz Majewski
2014-03-31 21:04 ` Tom Rini
2014-04-01 9:05 ` Lukasz Majewski
2014-03-31 21:44 ` Tormod Volden
2014-04-01 9:00 ` Lukasz Majewski
2014-04-01 9:15 ` Stefan Schmidt
2014-04-01 11:31 ` Lukasz Majewski
2014-05-05 13:16 ` [U-Boot] [PATCH v2] " Lukasz Majewski
2014-05-05 17:47 ` Marek Vasut
2014-05-08 12:27 ` [U-Boot] [PATCH v3] dfu: Introduction of the "dfu_hash_algo" " Lukasz Majewski
2014-05-08 13:07 ` Marek Vasut
2014-05-09 4:27 ` Wolfgang Denk
2014-05-09 6:52 ` Lukasz Majewski
2014-05-09 8:31 ` Wolfgang Denk
2014-05-09 9:54 ` Lukasz Majewski
2014-05-12 14:45 ` Tom Rini [this message]
2014-05-15 7:09 ` Lukasz Majewski
2014-05-15 9:27 ` Heiko Schocher
2014-05-15 11:19 ` Wolfgang Denk
2014-05-15 13:43 ` Lukasz Majewski
2014-05-15 14:07 ` Wolfgang Denk
2014-05-16 6:08 ` Lukasz Majewski
2014-05-16 8:58 ` Lukasz Majewski
2014-05-19 14:02 ` Heiko Schocher
2014-05-20 17:22 ` Lukasz Majewski
2014-05-22 9:46 ` Lukasz Majewski
2014-05-12 8:43 ` [U-Boot] [PATCH v4] " Lukasz Majewski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140512144512.GC22182@bill-the-cat \
--to=trini@ti.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox