I've come across 2 CRCs so far - a 32 bit one used on the Class A cards, and a 16 bit one used on the Class B cards. I've tried a standard crc32 routine (stolen from ssh), but it doesn't match the CRC reported by the router. Is there anyone good at understanding CRC routines who can help me reverse-engineer the cisco CRC, or perhaps does someone have some inside information they would like to share?
After some suggestions from various people, I tried uploading a few test files onto a Cisco and seeing how the CRCs worked out. It turns out it's not a true CRC at all, but rather a variation on the TCP checksum algorithm.
Please don't ask me for the code yet! I'll let the list know when it's available...
v0.1 of the code is now available (read only at the moment): ftp://ftp.bbc.co.uk/pub/ciscoflash/ Enjoy, Simon -- Simon Lockhart | Tel: +44 (0)1737 839676 Internet Engineering Manager | Fax: +44 (0)1737 839516 BBC Internet Services | Email: Simon.Lockhart@bbc.co.uk Kingswood Warren,Tadworth,Surrey,UK | URL: http://support.bbc.co.uk/