Package: mtkbabel Version: 0.8.3.1-1 Severity: normal Tags: patch upstream Sometimes it happens that a packet is received with bad checksum. Which means, the next packet received will be considered out-of-order. And every next packet as well. To cope with that, we need to re-request the packet we're still waiting for.
A patch attached which solves this problem. -- System Information: Debian Release: wheezy/sid APT prefers unstable APT policy: (500, 'unstable'), (500, 'stable'), (1, 'experimental') Architecture: i386 (i686) Kernel: Linux 3.3.0-trunk-686-pae (SMP w/2 CPU cores) Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_GB.UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages mtkbabel depends on: ii libdevice-serialport-perl 1.04-2+b3 ii libtimedate-perl 1.2000-1 mtkbabel recommends no packages. mtkbabel suggests no packages. -- no debconf information -- debsums errors found: debsums: changed file /usr/bin/mtkbabel (from mtkbabel package)
Description: Retry when an out-of-order packet received. Sometimes it happens that a packet is received with bad checksum. Which means, the next packet received will be considered out-of-order. And every next packet as well. To cope with that, we re-request the packet we're still waiting for. Author: Andrew Shadura <bugzi...@tut.by> --- a/mtkbabel +++ b/mtkbabel @@ -750,6 +750,7 @@ if ($pkt_offset != $log_offset) { printf("ERROR: Chunk out of sequence: expected %08X, got %08X\n", $log_offset, $pkt_offset) if ($debug >= $LOG_ERR); + $offset = $log_offset - $SIZEOF_CHUNK; } else { printf("Saving log data, offset: 0x%08X\n", $log_offset) if ($debug >= $LOG_INFO); # Convert the string of hex values into binary data.