allangood / rtlamr2mqtt

Docker container to send rtlamr readings to a mqtt broker
MIT License
326 stars 51 forks source link

Receiver Context Cancelled. I/O Timeout #235

Open lohannasberg opened 4 months ago

lohannasberg commented 4 months ago

I have been running this docker for ~18 months without issue for my gas meter. About a month ago, it randomly stopped working. For reference, this is my SDR, plugged into a 6ft USB 2.0 extension cable.

If I run the container from docker compose, I never get an error message' it just "stalls" and it never receives any data

Trying to start RTL_TCP: /usr/bin/rtl_tcp -d 0 -s 2048000
RTL_TCP started with PID 9
RTL_TCP is ready to receive connections!
Trying to start RTLAMR: /usr/bin/rtlamr -msgtype=scm -format=json -filterid={{REDACTED}}-unique=true -symbollength=32
RTLAMR started with PID 14

When I run the container in listen only mode, It successfully reads data from neighboring meters, but it errors out within ~5-15 minutes of running with:

main.go:343: Receiver context cancelled.
main.go:320: read tcp 127.0.0.1:59170->127.0.0.1:1234: i/o timeout
io.ReadFull
main.(*Receiver).Run.func2
/go/pkg/mod/github.com/bemasher/rtlamr@v0.9.3/main.go:181
runtime.goexit
/usr/local/go/src/runtime/asm_amd64.s:1650

I have tried the following without success:

No idea what else to try or what the root cause is here. I figured my SDR went bad and bought a new one, but got the exact same error with the new SDR.

Looking for advice on how to resolve. Any help is greatly apprcaited.

ve6rah commented 1 week ago

I'm afraid I don't know the solution, but I'm putting a "me too" here to bump it as I'm having the exact same problem. Worked fine for over a year, now won't last a day before I have to do a full system reboot to get back on track.