Re: [Earthworm Forum] Issue about slink2ew timestamps

Skip to first unread message

Paul Friberg

Jan 27, 2023, 9:39:48 AMJan 27
I recommend running sniffwave on the data in the ring to see that the data in the ring are complete for a given SCNL. Note that it detects gaps and overlaps too. You can send the output to a file and then review the file later. Maybe you can capture the case where your router reboots.

Also, there is a nice feature in slink2ew called MseedRing that allows you to dump TYPE_MSEED into a separate ring and this is what we have ewmseedarchiver archive.

If you have it deal with the uncompressed TYPE_TRACEBUF2 packets, then it is just re-compressing data and wasting CPU cycles and possibly not getting a complete picture if there are problems with the TYPE_TRACEBUF2 overrflowing the ring....just a thought.


On Thu, Jan 26, 2023 at 8:15 AM El Berto <> wrote:

Hi to all! I'm having some issues about slink2ew on Earthworm v7.10 .

I'm collecting data from seedlink server using 4G router and saving data on disk using mseedarchiver.
I found several gaps on saved mseed files.

Here wave_serverV log example:

20230126_UTC_15:45:29 WARNING: Tracebuf fails validity check, discarding: <M0107.EHE.OY.-->
    packet start=1674747866.34 end=1674747868.41 nsamp=208 samprate=100.00 Tank-endtime=1674747868.41. datatype=[i4]
    packet's start (2023/01/26 15:44:26.34) is before end of tank's last good packet received time (2023/01/26 15:44:28.41)

So I added timestamp control on slink2ew to check packet starttime versus expected starttime of tracebuf data put into ring:

20230126_UTC_13:59:21 network timeout (600s), reconnecting in 30s
20230126_UTC_14:04:39 [ERROR] detected gap: received EHN [1674741731.240000 but expected starttime 1674741733.380000!!!

So I supposed something wrong with Nanometrics digitizer but locally saved mseed are all ok, the same for realtime data collected using SeisGram2K on same server, then I discovered this happens every time 4G router reboots.
So issue is on earthworm side.

Here my slink2ew:

StateFile     #[filename]
#StateFileInt   100
#NetworkTimeout 600
#NetworkDelay   30
#KeepAlive      0
#MaxRate        0
#SLRecSize       512

Is there something wrongly set or should I start debugging mseed packets?

You received this message because you are subscribed to the Google
Groups "Earthworm Community Forum" group.
To post to this group, send an email to
To unsubscribe from this group, send an email to
For more options, visit this group at

You received this message because you are subscribed to the Google Groups "Earthworm Community Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
To view this discussion on the web visit

Paul Friberg
ISTI==Instrumental Software Technologies, Inc.
Phone +1.518.602.0001  

El Berto

Jan 27, 2023, 10:54:18 AMJan 27
to Earthworm Community Forum
Goodmorning Paul,
my focus was on slink2ew side because I supposed there was something wrong reading warnings on wave_serverV log, but looking to the code it was just I was receiving double mseed packets due to .state file.
In fact I'm storing strange mseed files, I'll take a look on tbuf2mseed and ewmseedarchiver.

Paul Friberg

Jan 27, 2023, 12:40:26 PMJan 27

OK, got it.

Still, I would NOT use tbuf2mseed if you are using slink2ew. Use the MseedRing directive inside slink2ew instead. ewmseedarchiver can read TYPE_MSEED messages directly from this ring but you need to make sure it is a separate ring as there will be many packets.  Note that you can have Tracebuf's go to one ring, and MSEED to another purely for archiving via the ewmseedarchiver.



El Berto

Jan 30, 2023, 5:09:20 AMJan 30
to Earthworm Community Forum
I'll check your solution but my actual settings already have different rings:

slink2ew -> WAVE_RING
WAVE_RING -> tbuf2mseed -> MSEED_RING
MSEED_RING -> ewmseedarchiver

Paul Friberg

Jan 30, 2023, 7:55:01 AMJan 30

Yes, unless you have other non-seedlink data feeds, get rid of tbuf2mseed, it is not necessary and a waste of CPU cycles. You can just do MSEED directly using the method described earlier with the MSeedRing directive. Please let us know if your problem goes away.


El Berto

Mar 20, 2023, 4:27:47 AM (10 days ago) Mar 20
to Earthworm Community Forum
Goodmorning Paul,
I made a test and it seems working.
Here my actual configuration:


wave_serverV on WAVE_RING
statmgr on HYPO_RING
copystatus from WAVE_RING to HYPO_RING
slink2ew_1 on MSEED_RING sending TYPE_MSEED
slink2ew_2 on WAVE_RING
tbuf2mseed WAVE_RING => MSEED_RING (for modules collecting data different than seedlink)
ewmseedarchiver on MSEED_RING

Is this configuration correct?
I usually check data using getmenu but it's obviously not working for modules using TYPE_MSEED, how can I check these modules?
Reply all
Reply to author
0 new messages