Ringserver configuration

60 views
Skip to first unread message

Mingyu Do

unread,
Jun 26, 2025, 7:10:22 PMJun 26
to Earthworm Community Forum
Hello everyone,

I need some assistance with setting up real-time seismic waveform monitoring using Earthworm(v7.10) and SeedLink.

Currently, I'm collecting data from ETNA 2 and importing it into Earthworm using import_generic. After this, I want to transmit this data in SeedLink format using ew2ringserver and ringserver, so that It can be received by Seisgram2K via the SeedLink protocol.

Since I am relatively new to Earthworm, I have followed several guides(1, 2) to configure ew2ringserver and ringserver. However, when I try to verify the data transmission using slinktool, I receive no response.

I would greatly appreciate it if you could let me know whether I’m missing any required modules or if there are any conceptual issues with my setup.

I’ve attached the relevant configuration and log files for your reference. Thank you very much for your help.



rxlog-20250625T0000-20250626T0000
txlog-20250625T0000-20250626T0000
ew2ringserver_20250625.log
startstop_unix_20250625.log
ringserver.d
ew2ringserver.d

Paul Friberg

unread,
Jun 26, 2025, 7:15:37 PMJun 26
to earthwo...@googlegroups.com
Hi Mingyu Do,

First off, are you receiving the data into the EW system from the Etna2? Run sniffwave on the ring where you import the data to verify that and let us know

Instead of using the EW import_ module, many set up the Rock2SLink module on the Etna2 and then use slink2ew to pull data into EW. This has the advantage of using MiniSeed packets which are compressed for transmission. Once you have data flowing from slink2ew, you can separate out the EW packets (TBUF2) from the MiniSeed packets into different rings and have ew2ringserver use the MSEED ring to send the data to the ringserver. This is generally the better way to go.

I haven't looked at your .d or logs yet, so will try and get to that tomorrow.

Which network are you with?

Best regards,

Paul

--
--
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 earthwo...@googlegroups.com
 
To unsubscribe from this group, send an email to
earthworm_for...@googlegroups.com
 
For more options, visit this group at
http://groups.google.com/group/earthworm_forum?hl=en

---
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 earthworm_for...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/earthworm_forum/d3c618fe-de70-4243-9467-9c3e893abdf8n%40googlegroups.com.


--
===================================
Paul Friberg   p.fr...@isti.com
CEO/Seismologist
ISTI==Instrumental Software Technologies, Inc.
Phone +1.518.602.0001  

Rahul Singh

unread,
Jun 30, 2025, 12:07:34 PMJun 30
to earthwo...@googlegroups.com
Hey Mingyu,

Jumping in here — your setup looks solid overall, and I think you're really close to getting it working. From what you've described, it seems like the main issue might just be a classic case of "talking on different ports and expecting to be heard" 😄

Here’s what I suspect is happening:

  • Your ew2ringserver is sending data to port 16000

  • But your ringserver is listening on port 18000

So they're not exactly speaking the same language yet. Just make sure both modules are using the same port (either both 16000 or both 18000) and restart them. Once that’s done, slinktool should be able to connect and list the streams properly.

Also, double-check that the source_ring in your ew2ringserver.d config matches the ring that import_generic is writing to (usually WAVE_RING or whatever you’ve defined in earthworm.d). If that’s missing or mismatched, ew2ringserver won’t be able to pick up any data.

Now, Paul made a really good point — about using Rock2SLink on the ETNA2 and then pulling data into Earthworm using slink2ew. This method uses MiniSEED, which is more efficient and robust, especially if you’re looking at long-term or production deployments. It also gives you the flexibility to split Earthworm-native and MiniSEED packets into different rings — which can make things cleaner when you want to pass MiniSEED data directly to SeedLink clients via ew2ringserver.

So, in short:

  • If you just want to get your current setup working, sync the ports and check source_ring — should be good to go.

  • If you're planning something more robust, Paul’s approach is definitely worth implementing down the line.

Hope this helps! Happy to dig deeper if you run into more weirdness.

Cheers,
Rahul Singh
Project Assistant, IIT Roorkee



Paul Friberg

unread,
Jul 1, 2025, 3:44:14 PMJul 1
to Earthworm Community Forum

Actually, Mingyu has it correct. The ringserver receives data on port 16000 and sends data out on 18000. So the ew2ringserver needs to be pointed at port 16000. That is the correct way to do things with the Earthscope ringserver module and the ew2ringserver.

Paul Friberg

unread,
Jul 1, 2025, 3:50:47 PMJul 1
to Earthworm Community Forum
Ha! I should have looked at the .d files first. I now see that Mingyu  is using 16100 for the datalink port (sending from ew2ringserver to ringserver). As long as both are correct you are good. Please let us know if you are seeing data though on the ring being used....I noticed that your ew2ringserver is only looking for TYPE_MSEED packets and not TRACEBUF2... There will be no TYPE_MSEED packets with your current configuration....

Mingyu, you are also running ew2mseed. That is not a module you need if you are using ringserver. That is a module to make miniseed day files from an EW wave server.

Mingyu Do

unread,
Jul 2, 2025, 10:25:36 AMJul 2
to Earthworm Community Forum

Hello both,

Thank you for your kind and detailed responses.

Paul — I'm currently working under a firewall environment with a single ETNA 2 unit. 
My goal is to transmit the data via Earthworm in SeedLink protocol format, so it can be received from either an internal or external PC. 
As you suggested, I first verified that data was being received correctly using Sniffwave
Before implementing Rock2SLink, I wanted to test whether I could send the data using the import_ module and then transmit it through the ringserver. 
I aimed to confirm that the stream could be received properly via slinktool.

Rahul — Following your advice, I verified that all modules are using the same WAVE_RING
As you correctly suspected, the issue was a port mismatch between ew2ringserver and ringserver
After correcting that, I was able to see the stream successfully with slinktool. 
I’m currently reviewing the firewall settings to allow data reception on other PCs inside and outside the network.

Thank you both again for your generous support. I’ll reach out if I run into any further questions.

Best regards,
Mingyu Do

Rahul Singh

unread,
Jul 2, 2025, 10:25:44 AMJul 2
to earthwo...@googlegroups.com
Hi Paul,

My apologies for the confusion regarding the ports. I initially assumed that both `ew2ringserver` and `ringserver` needed to use the same port, which is common in some custom setups, but that's not the case here.

As Mingyu correctly configured:
* `ew2ringserver` should send data to `ringserver` on port 16000.
* Clients like `slinktool` should connect to `ringserver` on port 18000.

That's the standard way the Earthscope `ringserver` module is designed to operate. Thanks for pointing that out – I'm still learning every day!

Best,
Rahul


Rahul Singh

unread,
Jul 2, 2025, 11:23:02 AMJul 2
to earthwo...@googlegroups.com
Hey Mingyu,

That’s awesome to hear — glad to know the stream is showing up now!

You’ve got the setup flowing just right now. Best of luck with opening up the firewall — that’s usually the last boss in the network dungeon 😄

Feel free to reach out anytime if you hit more snags. Happy to help.

Best,
Rahul



Reply all
Reply to author
Forward
0 new messages