rtlamr icon indicating copy to clipboard operation
rtlamr copied to clipboard

io.ReadFull error when executing rtlamr after running successfully for a while

Open stazeo opened this issue 9 months ago • 2 comments

Hello rtlamr community,

I am running rtl_tcp as a service on Ubuntu 22.04.2 LTS and executing rtlamr as a cronjob for 15 meters to read the values once a day. I am encountering this error after running for a while. In the latest instance it failed on day 24. I stopped rtl_tcp service and started in manually as shown in the trace below, however it didn't help, as shown in the trace of rtlamr

The previous time this happened some time ago - I rebooted the server and it helped, however the issue reappeared. I am wondering if there's a way to address this without rebooting.

This time, instead of rebooting the server, I removed and reinserted Nooelec RTL-SDR USB and it fixed the issue.

It seems that the problem is between rtl_tcp server and Nooelec USB. I wonder if anyone has ideas on how to fix this, or a way restart software service(s) instead of manual USB removal

Thank you in advance for your help!

  • Stas

========================================= script output follows:

I am getting the following error while running rtlamr:

root@rapps:/work/dev/sh/altre/utils/meters# /root/go/bin/rtlamr --msgtype R900BCD -format json -single=true -filterid=1000594126 15:35:46.332791 decode.go:45: CenterFreq: 912380000 15:35:46.332883 decode.go:46: SampleRate: 2359296 15:35:46.332891 decode.go:47: DataRate: 32768 15:35:46.332898 decode.go:48: ChipLength: 72 15:35:46.332904 decode.go:49: PreambleSymbols: 32 15:35:46.332911 decode.go:50: PreambleLength: 4608 15:35:46.332919 decode.go:51: PacketSymbols: 116 15:35:46.332926 decode.go:52: PacketLength: 16704 15:35:46.332932 decode.go:59: Protocols: r900 15:35:46.332940 decode.go:60: Preambles: 00000000000000001110010101100100 15:35:46.332954 main.go:124: GainCount: 29 15:35:51.334303 main.go:343: Receiver context cancelled. 15:35:51.334476 main.go:320: read tcp 127.0.0.1:47846->127.0.0.1:1234: i/o time out io.ReadFull main.(*Receiver).Run.func2 /root/go/pkg/mod/github.com/bemasher/[email protected]/main.go:181 runtime.goexit /usr/lib/go-1.18/src/runtime/asm_amd64.s:1571 root@rapps:/work/dev/sh/altre/utils/meters#

=========================================

Here's the output from rtl_tcp

root@rapps:~# /usr/bin/rtl_tcp Found 1 device(s): 0: Nooelec, NESDR SMArt v5, SN: 00000001

Using device 0: Generic RTL2832U OEM Found Rafael Micro R820T tuner [R82XX] PLL not locked! Tuned to 100000000 Hz. listening... Use the device argument 'rtl_tcp=127.0.0.1:1234' in OsmoSDR (gr-osmosdr) source to receive samples in GRC and control rtl_tcp parameters (frequency, gain, ...). client accepted! localhost 47846 Allocating 15 zero-copy buffers set freq 912380000 set sample rate 2359296 set gain mode 0 worker cond timeout Signal caught, exiting! comm recv bye Signal caught, exiting! all threads dead.. listening... Use the device argument 'rtl_tcp=127.0.0.1:1234' in OsmoSDR (gr-osmosdr) source to receive samples in GRC and control rtl_tcp parameters (frequency, gain, ...).

=========================================

stazeo avatar Apr 12 '25 19:04 stazeo

Same issue for me, except removing and re-inserting the SDR doesn't help, nor does restarting the service

onetrueandrew avatar May 25 '25 21:05 onetrueandrew

I had the same problem on my Ubuntu 24.04.2 LTS x86_64 (Lubuntu) system. I finally tried sudo apt remove rtl-sdr and then sudo apt install rtl-sdr and it all started working again.

My system has been monitoring usage at a non-profilt for more than a year (big leak caused a big budget problem). This is the first problem I ever had like this.

GH15ADF avatar May 29 '25 15:05 GH15ADF