JT600 Protocol Error

Hi Anton, I'm experiencing a problem in the JT600 protocol.

The device is a GR4000. Both ignition and command sending are not working.

I'm sending DEBUG from the device to see if you give me some info.

2019-01-03 21:15:48 [1e0b8fb4: 5014 <200.186.166.85] HEX:24412010930421001b03011920154603435230038306323900000000d30001000031461331
2019-01-03 21:16:25 INFO: [1e0b8fb4: 5014 <200.186.166.85] HEX: 28343132303130393330342c322c5530312c29ffe72c332c372c412c3032303131393139333535372c572c30333833302e363334342c532c303334332e353136362
2019-01-03 21:16:25 WARN: [1e0b8fb4] error - java.text.ParseException - DecoderException (... <WrapperInboundHandler: 53 <... <BasePipelineFactory: 130 <... <*: 107 <. ..)
2019-01-03 21:16:25 WARN: [1e0b8fb4] error - java.text.ParseException - DecoderException (... <WrapperInboundHandler:
46 <... <BasePipelineFactory: 92 <...)
Anton Tananaev5 years ago

Enable full stack traces and try again:

<entry key = 'logger.fullStackTraces'>true</ entry>
2019-01-04 13:11:37  INFO: [94d242e6] connected
2019-01-04 13:11:37  INFO: [94d242e6: 5014 < 200.186.166.77] HEX: 28343132303130393330342c322c5530332c29ffe72c332c312c312c412c3034303131393132313131312c572c30333833302e363337302c532c303334332e353230372c302c302c303044333030303129
2019-01-04 13:11:37  WARN: [94d242e6] error - 
io.netty.handler.codec.DecoderException: java.text.ParseException
    at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:472)
    at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:278)
    at org.traccar.WrapperInboundHandler.channelRead(WrapperInboundHandler.java:53)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
    at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
    at org.traccar.BasePipelineFactory$StandardLoggingHandler.channelRead(BasePipelineFactory.java:130)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
    at org.traccar.BasePipelineFactory$NetworkMessageHandler.channelRead(BasePipelineFactory.java:107)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
    at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
    at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1434)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
    at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:965)
    at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163)
    at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:644)
    at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:579)
    at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:496)
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458)
    at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:897)
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    at java.base/java.lang.Thread.run(Thread.java:844)
Caused by: java.text.ParseException
    at org.traccar.protocol.Jt600FrameDecoder.decode(Jt600FrameDecoder.java:49)
    at org.traccar.BaseFrameDecoder.decode(BaseFrameDecoder.java:29)
    at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:502)
    at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:441)
    ... 30 more
Anton Tananaev5 years ago

Looks like there is some issue with your device. It sends malformed messages or the protocol is different. You would need to get protocol documentation or discuss this issue with your device vendor.

I own the protocol documentation. How do I send you?

Anton Tananaev5 years ago

Send to support address.