Sending Kingneed (tk103) data getting a broken pipe

David Cole6 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 Tananaev6 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 Cole6 years ago

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

Anton Tananaev6 years ago

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

David Cole6 years ago

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

Anton Tananaev6 years ago

What port?

David Cole6 years ago

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

Anton Tananaev6 years ago

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

David Cole6 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 Cole6 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 Tananaev6 years ago

Looks like you lost some database information.