Re: [PATCH 2/8] firmware: Sigma: Skip header during CRC generation

From: Mike Frysinger
Date: Tue Nov 29 2011 - 00:12:09 EST


On Monday 28 November 2011 02:56:33 Lars-Peter Clausen wrote:
> On 11/25/2011 09:00 PM, Mike Frysinger wrote:
> > On Friday 25 November 2011 03:55:42 Lars-Peter Clausen wrote:
> >> On 11/24/2011 06:21 PM, Mike Frysinger wrote:
> >>> On Thursday 24 November 2011 07:48:21 Lars-Peter Clausen wrote:
> >>>> The firmware header is not part of the CRC, so skip it. Otherwise the
> >>>> firmware will be rejected due to non-matching CRCs.
> >>>
> >>> that's because you didn't compare to the right value ;). include the
> >>> CRC -> compare to 0. omit the CRC -> compare to the CRC value.
> >>
> >> Does this really work if the CRC is inserted somewhere in the middle of
> >> the bytestream?
> >
> > i don't think the position matters to the CRC algorithm used by sigmadsp.
> > math principle: a ^ b ^ c is the same thing as b ^ a ^ c and c ^ b ^ a.
>
> If CRC algorithms were commutative they would be pretty weak, I guess ;)

that doesn't stop people from implementing them this way ;). the last CRC
code i did actually implement and test related to the Blackfin arch did have
this property (the bootrom). so i just included the computed CRC value and
made sure the end result is 0.

> > i could be wrong as to the CRC algo used though. simple enough for you
> > to check -- i implemented this firmware code based on a spec i wrote up
> > for the sigmadsp peeps; i never actually had real firmware to test with.
>
> It does not work.

ok, i withdraw my complaints here then :)
-mike

Attachment: signature.asc
Description: This is a digitally signed message part.