Can you please provide proper logs, not just single HEX samples.
Thanks — here's a proper continuous log with the device reporting live. Full connect/frame/error/disconnect cycles:
2026-08-27 19:20:35 INFO: [T6d7dc7d8: gl200 < 185.166.245.59] 2b000038000865134050947226820300030000216a908d67247f5000521619fa8b85e702ab64326a908d670000050082000aa51da13d0424
2026-08-27 19:20:35 WARN: [T6d7dc7d8] error - readerIndex: 8561, writerIndex: 56 (expected: 0 <= readerIndex <= writerIndex <= capacity(56)) - IndexOutOfBoundsException (... < Gl200BinaryProtocolDecoder:442 < *:458 < Gl200ProtocolDecoder:52 < ExtendedObjectDecoder:72 < ... < WrapperContext:102 < ...)
2026-08-27 19:20:35 INFO: [T6d7dc7d8] disconnected
2026-08-27 19:20:35 INFO: [T6e7e7e44] connected
2026-08-27 19:20:35 INFO: [T6e7e7e44: gl200 < 185.166.245.57] 2b000038000865134050947226820300030000216a908d67247f5000521619fa8b85e702ab64326a908d670000050082000aa51da13d0424
2026-08-27 19:20:35 WARN: [T6e7e7e44] error - readerIndex: 8561, writerIndex: 56 (expected: 0 <= readerIndex <= writerIndex <= capacity(56)) - IndexOutOfBoundsException (... < Gl200BinaryProtocolDecoder:442 < *:458 < Gl200ProtocolDecoder:52 < ExtendedObjectDecoder:72 < ... < WrapperContext:102 < ...)
2026-08-27 19:20:35 INFO: [T6e7e7e44] disconnected
2026-08-27 19:20:36 INFO: [T89516a0b] connected
2026-08-27 19:20:36 INFO: [T89516a0b: gl200 < 185.166.245.60] 2b000038000865134050947226820300030000216a908d67247f5000521619fa8b85e702ab64326a908d670000050082000aa51da13d0424
2026-08-27 19:20:36 WARN: [T89516a0b] error - readerIndex: 8561, writerIndex: 56 (expected: 0 <= readerIndex <= writerIndex <= capacity(56)) - IndexOutOfBoundsException (... < Gl200BinaryProtocolDecoder:442 < *:458 < Gl200ProtocolDecoder:52 < ExtendedObjectDecoder:72 < ... < WrapperContext:102 < ...)
2026-08-27 19:20:36 INFO: [T89516a0b] disconnected
2026-08-27 19:20:36 INFO: [T119ffa68] connected
2026-08-27 19:20:37 INFO: [T119ffa68: gl200 < 185.166.245.60] 2b000038000865134050947226820300030000216a908d67247f5000521619fa8b85e702ab64326a908d670000050082000aa51da13d0424
2026-08-27 19:20:37 WARN: [T119ffa68] error - readerIndex: 8561, writerIndex: 56 (expected: 0 <= readerIndex <= writerIndex <= capacity(56)) - IndexOutOfBoundsException (... < Gl200BinaryProtocolDecoder:442 < *:458 < Gl200ProtocolDecoder:52 < ExtendedObjectDecoder:72 < ... < WrapperContext:102 < ...)
2026-08-27 19:20:37 INFO: [T119ffa68] disconnected
2026-08-27 19:20:37 INFO: [Td240f650] connected
2026-08-27 19:20:37 INFO: [Td240f650: gl200 < 185.166.245.59] 2b000038000865134050947226820300030000216a908d67247f5000521619fa8b85e702ab64326a908d670000050082000aa51da13d0424
2026-08-27 19:20:37 WARN: [Td240f650] error - readerIndex: 8561, writerIndex: 56 (expected: 0 <= readerIndex <= writerIndex <= capacity(56)) - IndexOutOfBoundsException (... < Gl200BinaryProtocolDecoder:442 < *:458 < Gl200ProtocolDecoder:52 < ExtendedObjectDecoder:72 < ... < WrapperContext:102 < ...)
2026-08-27 19:20:37 INFO: [Td240f650] disconnected
2026-08-27 19:20:38 INFO: [Tfd20b53a] connected
2026-08-27 19:20:38 INFO: [Tfd20b53a: gl200 < 185.166.245.60] 2b000038000865134050947226820300030000216a908d67247f5000521619fa8b85e702ab64326a908d670000050082000aa51da13d0424
2026-08-27 19:20:38 WARN: [Tfd20b53a] error - readerIndex: 8561, writerIndex: 56 (expected: 0 <= readerIndex <= writerIndex <= capacity(56)) - IndexOutOfBoundsException (... < Gl200BinaryProtocolDecoder:442 < *:458 < Gl200ProtocolDecoder:52 < ExtendedObjectDecoder:72 < ... < WrapperContext:102 < ...)
2026-08-27 19:20:38 INFO: [Tfd20b53a] disconnected
2026-08-27 19:20:38 INFO: [Te961f9fe] connected
2026-08-27 19:20:39 INFO: [Te961f9fe: gl200 < 185.166.245.59] 2b000038000865134050947226820300030000216a908d67247f5000521619fa8b85e702ab64326a908d670000050082000aa51da13d0424
2026-08-27 19:20:39 WARN: [Te961f9fe] error - readerIndex: 8561, writerIndex: 56 (expected: 0 <= readerIndex <= writerIndex <= capacity(56)) - IndexOutOfBoundsException (... < Gl200BinaryProtocolDecoder:442 < *:458 < Gl200ProtocolDecoder:52 < ExtendedObjectDecoder:72 < ... < WrapperContext:102 < ...)
2026-08-27 19:20:39 INFO: [Te961f9fe] disconnected
2026-08-27 19:20:39 INFO: [T540ce17b] connected
2026-08-27 19:20:39 INFO: [T540ce17b: gl200 < 185.166.245.60] 2b000038000865134050947226820300030000216a908d7c24802100510f19fa8b85e702ab64326a908d7c00005b05000000000ca13e4924
2026-08-27 19:20:39 WARN: [T540ce17b] error - readerIndex: 136, writerIndex: 56 (expected: 0 <= readerIndex <= writerIndex <= capacity(56)) - IndexOutOfBoundsException (... < Gl200BinaryProtocolDecoder:442 < *:458 < Gl200ProtocolDecoder:52 < ExtendedObjectDecoder:72 < ... < WrapperContext:102 < ...)
2026-08-27 19:20:39 INFO: [T540ce17b] disconnected
2026-08-27 19:20:40 INFO: [T60bf3df4] connected
2026-08-27 19:20:40 INFO: [T60bf3df4: gl200 < 185.166.245.58] 2b000038000865134050947226820300030000216a908d7c24802100510f19fa8b85e702ab64326a908d7c00005b05000000000ca13e4924
2026-08-27 19:20:40 WARN: [T60bf3df4] error - readerIndex: 136, writerIndex: 56 (expected: 0 <= readerIndex <= writerIndex <= capacity(56)) - IndexOutOfBoundsException (... < Gl200BinaryProtocolDecoder:442 < *:458 < Gl200ProtocolDecoder:52 < ExtendedObjectDecoder:72 < ... < WrapperContext:102 < ...)
2026-08-27 19:20:40 INFO: [T60bf3df4] disconnected
2026-08-27 19:20:40 INFO: [T493e118f] connected
2026-08-27 19:20:41 INFO: [T493e118f: gl200 < 185.166.245.60] 2b000038000865134050947226820300030000216a908d7c24802100510f19fa8b85e702ab64326a908d7c00005b05000000000ca13e4924
2026-08-27 19:20:41 WARN: [T493e118f] error - readerIndex: 136, writerIndex: 56 (expected: 0 <= readerIndex <= writerIndex <= capacity(56)) - IndexOutOfBoundsException (... < Gl200BinaryProtocolDecoder:442 < *:458 < Gl200ProtocolDecoder:52 < ExtendedObjectDecoder:72 < ... < WrapperContext:102 < ...)
2026-08-27 19:20:41 INFO: [T493e118f] disconnected
2026-08-27 19:20:41 INFO: [Tceefd91a] connected
2026-08-27 19:20:41 INFO: [Tceefd91a: gl200 < 185.166.245.60] 2b000038000865134050947226820300030000216a908d8524815000521619fa8b85e702ab64326a908d850000050082000aa51da13fe024
2026-08-27 19:20:41 WARN: [Tceefd91a] error - readerIndex: 8563, writerIndex: 56 (expected: 0 <= readerIndex <= writerIndex <= capacity(56)) - IndexOutOfBoundsException (... < Gl200BinaryProtocolDecoder:442 < *:458 < Gl200ProtocolDecoder:52 < ExtendedObjectDecoder:72 < ... < WrapperContext:102 < ...)
2026-08-27 19:20:41 INFO: [Tceefd91a] disconnected
2026-08-27 19:20:42 INFO: [T9aa8ab0b] connected
2026-08-27 19:20:42 INFO: [T9aa8ab0b: gl200 < 185.166.245.58] 2b000038000865134050947226820300030000216a908d8524815000521619fa8b85e702ab64326a908d850000050082000aa51da13fe024
Two things that might help: there are two frame variants interleaving — most are Data 82 location reports (the 5216... ones, failing at readerIndex ~8560+), but every few cycles a different 510f... frame appears that fails at readerIndex 136. And the readerIndex on the location frames increments in step with the frame's trailing Count Number field (8561, 8563, 8565...), which made me wonder if that 2-byte count is being read as an offset. Happy to provide the protocol doc for the frame structure or capture more.
Thanks — here's a proper continuous log with the device reporting live. Full connect/frame/error/disconnect cycles:
2026-08-27 19:20:35 INFO: [T6d7dc7d8: gl200 < 185.166.245.59] 2b000038000865134050947226820300030000216a908d67247f5000521619fa8b85e702ab64326a908d670000050082000aa51da13d0424
2026-08-27 19:20:35 WARN: [T6d7dc7d8] error - readerIndex: 8561, writerIndex: 56 (expected: 0 <= readerIndex <= writerIndex <= capacity(56)) - IndexOutOfBoundsException (... < Gl200BinaryProtocolDecoder:442 < *:458 < Gl200ProtocolDecoder:52 < ExtendedObjectDecoder:72 < ... < WrapperContext:102 < ...)
2026-08-27 19:20:35 INFO: [T6d7dc7d8] disconnected
2026-08-27 19:20:35 INFO: [T6e7e7e44] connected
2026-08-27 19:20:35 INFO: [T6e7e7e44: gl200 < 185.166.245.57] 2b000038000865134050947226820300030000216a908d67247f5000521619fa8b85e702ab64326a908d670000050082000aa51da13d0424
2026-08-27 19:20:35 WARN: [T6e7e7e44] error - readerIndex: 8561, writerIndex: 56 (expected: 0 <= readerIndex <= writerIndex <= capacity(56)) - IndexOutOfBoundsException (... < Gl200BinaryProtocolDecoder:442 < *:458 < Gl200ProtocolDecoder:52 < ExtendedObjectDecoder:72 < ... < WrapperContext:102 < ...)
2026-08-27 19:20:35 INFO: [T6e7e7e44] disconnected
2026-08-27 19:20:36 INFO: [T89516a0b] connected
2026-08-27 19:20:36 INFO: [T89516a0b: gl200 < 185.166.245.60] 2b000038000865134050947226820300030000216a908d67247f5000521619fa8b85e702ab64326a908d670000050082000aa51da13d0424
2026-08-27 19:20:36 WARN: [T89516a0b] error - readerIndex: 8561, writerIndex: 56 (expected: 0 <= readerIndex <= writerIndex <= capacity(56)) - IndexOutOfBoundsException (... < Gl200BinaryProtocolDecoder:442 < *:458 < Gl200ProtocolDecoder:52 < ExtendedObjectDecoder:72 < ... < WrapperContext:102 < ...)
2026-08-27 19:20:36 INFO: [T89516a0b] disconnected
2026-08-27 19:20:36 INFO: [T119ffa68] connected
2026-08-27 19:20:37 INFO: [T119ffa68: gl200 < 185.166.245.60] 2b000038000865134050947226820300030000216a908d67247f5000521619fa8b85e702ab64326a908d670000050082000aa51da13d0424
2026-08-27 19:20:37 WARN: [T119ffa68] error - readerIndex: 8561, writerIndex: 56 (expected: 0 <= readerIndex <= writerIndex <= capacity(56)) - IndexOutOfBoundsException (... < Gl200BinaryProtocolDecoder:442 < *:458 < Gl200ProtocolDecoder:52 < ExtendedObjectDecoder:72 < ... < WrapperContext:102 < ...)
2026-08-27 19:20:37 INFO: [T119ffa68] disconnected
2026-08-27 19:20:37 INFO: [Td240f650] connected
2026-08-27 19:20:37 INFO: [Td240f650: gl200 < 185.166.245.59] 2b000038000865134050947226820300030000216a908d67247f5000521619fa8b85e702ab64326a908d670000050082000aa51da13d0424
2026-08-27 19:20:37 WARN: [Td240f650] error - readerIndex: 8561, writerIndex: 56 (expected: 0 <= readerIndex <= writerIndex <= capacity(56)) - IndexOutOfBoundsException (... < Gl200BinaryProtocolDecoder:442 < *:458 < Gl200ProtocolDecoder:52 < ExtendedObjectDecoder:72 < ... < WrapperContext:102 < ...)
2026-08-27 19:20:37 INFO: [Td240f650] disconnected
2026-08-27 19:20:38 INFO: [Tfd20b53a] connected
2026-08-27 19:20:38 INFO: [Tfd20b53a: gl200 < 185.166.245.60] 2b000038000865134050947226820300030000216a908d67247f5000521619fa8b85e702ab64326a908d670000050082000aa51da13d0424
2026-08-27 19:20:38 WARN: [Tfd20b53a] error - readerIndex: 8561, writerIndex: 56 (expected: 0 <= readerIndex <= writerIndex <= capacity(56)) - IndexOutOfBoundsException (... < Gl200BinaryProtocolDecoder:442 < *:458 < Gl200ProtocolDecoder:52 < ExtendedObjectDecoder:72 < ... < WrapperContext:102 < ...)
2026-08-27 19:20:38 INFO: [Tfd20b53a] disconnected
2026-08-27 19:20:38 INFO: [Te961f9fe] connected
2026-08-27 19:20:39 INFO: [Te961f9fe: gl200 < 185.166.245.59] 2b000038000865134050947226820300030000216a908d67247f5000521619fa8b85e702ab64326a908d670000050082000aa51da13d0424
2026-08-27 19:20:39 WARN: [Te961f9fe] error - readerIndex: 8561, writerIndex: 56 (expected: 0 <= readerIndex <= writerIndex <= capacity(56)) - IndexOutOfBoundsException (... < Gl200BinaryProtocolDecoder:442 < *:458 < Gl200ProtocolDecoder:52 < ExtendedObjectDecoder:72 < ... < WrapperContext:102 < ...)
2026-08-27 19:20:39 INFO: [Te961f9fe] disconnected
2026-08-27 19:20:39 INFO: [T540ce17b] connected
2026-08-27 19:20:39 INFO: [T540ce17b: gl200 < 185.166.245.60] 2b000038000865134050947226820300030000216a908d7c24802100510f19fa8b85e702ab64326a908d7c00005b05000000000ca13e4924
2026-08-27 19:20:39 WARN: [T540ce17b] error - readerIndex: 136, writerIndex: 56 (expected: 0 <= readerIndex <= writerIndex <= capacity(56)) - IndexOutOfBoundsException (... < Gl200BinaryProtocolDecoder:442 < *:458 < Gl200ProtocolDecoder:52 < ExtendedObjectDecoder:72 < ... < WrapperContext:102 < ...)
2026-08-27 19:20:39 INFO: [T540ce17b] disconnected
2026-08-27 19:20:40 INFO: [T60bf3df4] connected
2026-08-27 19:20:40 INFO: [T60bf3df4: gl200 < 185.166.245.58] 2b000038000865134050947226820300030000216a908d7c24802100510f19fa8b85e702ab64326a908d7c00005b05000000000ca13e4924
2026-08-27 19:20:40 WARN: [T60bf3df4] error - readerIndex: 136, writerIndex: 56 (expected: 0 <= readerIndex <= writerIndex <= capacity(56)) - IndexOutOfBoundsException (... < Gl200BinaryProtocolDecoder:442 < *:458 < Gl200ProtocolDecoder:52 < ExtendedObjectDecoder:72 < ... < WrapperContext:102 < ...)
2026-08-27 19:20:40 INFO: [T60bf3df4] disconnected
2026-08-27 19:20:40 INFO: [T493e118f] connected
2026-08-27 19:20:41 INFO: [T493e118f: gl200 < 185.166.245.60] 2b000038000865134050947226820300030000216a908d7c24802100510f19fa8b85e702ab64326a908d7c00005b05000000000ca13e4924
2026-08-27 19:20:41 WARN: [T493e118f] error - readerIndex: 136, writerIndex: 56 (expected: 0 <= readerIndex <= writerIndex <= capacity(56)) - IndexOutOfBoundsException (... < Gl200BinaryProtocolDecoder:442 < *:458 < Gl200ProtocolDecoder:52 < ExtendedObjectDecoder:72 < ... < WrapperContext:102 < ...)
2026-08-27 19:20:41 INFO: [T493e118f] disconnected
2026-08-27 19:20:41 INFO: [Tceefd91a] connected
2026-08-27 19:20:41 INFO: [Tceefd91a: gl200 < 185.166.245.60] 2b000038000865134050947226820300030000216a908d8524815000521619fa8b85e702ab64326a908d850000050082000aa51da13fe024
2026-08-27 19:20:41 WARN: [Tceefd91a] error - readerIndex: 8563, writerIndex: 56 (expected: 0 <= readerIndex <= writerIndex <= capacity(56)) - IndexOutOfBoundsException (... < Gl200BinaryProtocolDecoder:442 < *:458 < Gl200ProtocolDecoder:52 < ExtendedObjectDecoder:72 < ... < WrapperContext:102 < ...)
2026-08-27 19:20:41 INFO: [Tceefd91a] disconnected
2026-08-27 19:20:42 INFO: [T9aa8ab0b] connected
2026-08-27 19:20:42 INFO: [T9aa8ab0b: gl200 < 185.166.245.58] 2b000038000865134050947226820300030000216a908d8524815000521619fa8b85e702ab64326a908d850000050082000aa51da13fe024
Two things that might help: there are two frame variants interleaving — most are Data 82 location reports (the 5216... ones, failing at readerIndex ~8560+), but every few cycles a different 510f... frame appears that fails at readerIndex 136. And the readerIndex on the location frames increments in step with the frame's trailing Count Number field (8561, 8563, 8565...), which made me wonder if that 2-byte count is being read as an offset. Happy to provide the protocol doc for the frame structure or capture more.
Hi,
Thanks again for adding GV500CNA support earlier ( https://www.traccar.org/forums/topic/gv500cna-gl200-binary-data-id-82-frames-received-but-not-decoded-to-position/ ). The device worked for a period, but after it went offline overnight and reconnected, I'm now seeing decode failures on three distinct frame variants. I've captured samples of each (IMEI 865134050947226, device type 8203, protocol version 0003). All produce IndexOutOfBoundsException in Gl200BinaryProtocolDecoder. Sharing all three together so they can be addressed comprehensively rather than one at a time.
The record area begins 21 6a90741b2372 5000 52 16 ... — the 52 16 is the Data 82 (Full Location) record with length 0x16. The incrementing readerIndex suggests a counter/sequence field is being read as an offset.
All three share the same header structure (Header / 00H / Frame Length / MultiPkt flag / IMEI / DeviceType 8203 / ProtoVer 0003 / CustomVer / Reserved). The differences are: header byte 2B vs 2D, and the Data 82 record being present-with-length-16H, present-with-length-00H, or (in the buffer case) the same record body under a 2D header.
I have the full "GV500CNA @Track Protocol Pro V10" documentation and can share any section — the report frame structure, Data 82 definition, or buffer-report handling. Happy to provide more captures or test any fix against the live device. Thanks very much for your help.