I think I mentioned this in passing but the fletcher checksum impl. is fragile. Try changing "u16 length" to "u32 length" and watch it break for no apparent reason. Jocke