in serial, if bad checksum, uses chksum as first byte