Sending Kingneed (tk103) data getting a broken pipe

David Cole 7 years ago

Hi. I don't believe it's a traccar problem...but I had a traccar server on "bare metal" and use to have a script that would take entries from my gpsgate terminal logs, which are a raw dump of the tk103 packets received. https://www.traccar.org/forums/topic/migrating-from-gpsgate/page/2/

The script would just open up port 30181 (where I have the tk103) protocol mapped, and mean I had a dual feed in both systems (while I transition).

I've now moved to a docker container instance on traccar and all the data has been imported.
I tried my script and I get a broken pipe after the 2nd line has been sent.

I'm not seeing anything in the traccar logs (should I? Is there a higher logging level that will show me everything, ie any client connection?)
The python is just doing a socket.send, the line as read from the other log.

If I'm not seeing anything in the traccar logs, do I assume there's no connection being made?

Anton Tananaev 7 years ago

Broken pipe usually indicates a network error where messages are not acknowledged by the receiver. I don't think it's caused by Traccar. I suspect it's something wrong with Docker.

David Cole 7 years ago

Yeah, I thought that also, but am kinda stuck as to where to trace it.

Anton Tananaev 7 years ago

Try to collect network traffic using Wireshark. Or check system logs at the time of the error.

David Cole 7 years ago

Oh that port, it def, tcp right? Not udp?

Anton Tananaev 7 years ago

What port?

David Cole 7 years ago

<entry key='tk103.port'> (which I've moved to 30181)

Anton Tananaev 7 years ago

TK103 supports both UDP and TCP. I don't know what you are using.

David Cole 7 years ago

I believe it's TCP.....so some progress.
I reset the default.xml so that tk103 was back on 5002.....and lo and behold it stopped refusing me.
I;ve got a different problem but I think that's db related.

So interestingly enough, this was a config I'd taken from my running baremetal traccar, which I had <entry key='tk103.port'>30181 But in the docker container it didn't seem to accept that.

So I'm using the port mapping of docker to go 30181 > 5002.

David Cole 7 years ago

So the db error is something about

WARN: Field 'id' doesn't have a default value - SQLException (... < QueryBuilder:477 < DataManager:453 < NotificationManager:62 < ...)

Which both dockers seem to get. So I assume I've done something wrong in my original database backup for moving it to the container from baremetal.

Anton Tananaev 7 years ago

Looks like you lost some database information.