<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Recently Active Topics]]></title><description><![CDATA[A list of topics that have been active within the past 24 hours]]></description><link>http://64.23.185.212/forum/recent</link><generator>RSS for Node</generator><lastBuildDate>Mon, 10 Aug 2026 23:31:05 GMT</lastBuildDate><atom:link href="http://64.23.185.212/forum/recent.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 05 Aug 2026 08:56:02 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[layer pipeline (modbus) crash in ARM SBC]]></title><description><![CDATA[<p dir="auto">Hello Vladimir,<br />
today I am at the lab. I tried and it works perfectly. Thank you!<br />
Regards</p>
]]></description><link>http://64.23.185.212/forum/topic/345/layer-pipeline-modbus-crash-in-arm-sbc</link><guid isPermaLink="true">http://64.23.185.212/forum/topic/345/layer-pipeline-modbus-crash-in-arm-sbc</guid><dc:creator><![CDATA[Jose Marro]]></dc:creator><pubDate>Wed, 05 Aug 2026 08:56:02 GMT</pubDate></item><item><title><![CDATA[setserial alternative]]></title><description><![CDATA[<p dir="auto">Hello Vladimir!<br />
Thank you. I have tried the code with the Moxa and it works perfectly.<br />
And also, it is very interesting to know about the dylib facility, it could be very useful!!<br />
Python is a great language, and it is great to be able to use it in ioninja as it is very popular and many people will appreciate it but I think that it is not designed for for working with structs -neither packet headers !!-.<br />
Jancy is very nice and very capable -and great for communications stuff!- and being able to use it as "in-app scripts" is great. The only problem is that sometimes it is not easy know how to use it (and know what it can do). But I think this is understandable given the context... and we can always ask you 😉<br />
Thank you and regards!<br />
Josep</p>
]]></description><link>http://64.23.185.212/forum/topic/344/setserial-alternative</link><guid isPermaLink="true">http://64.23.185.212/forum/topic/344/setserial-alternative</guid><dc:creator><![CDATA[Jose Marro]]></dc:creator><pubDate>Fri, 24 Jul 2026 08:41:33 GMT</pubDate></item><item><title><![CDATA[OSDP Support]]></title><description><![CDATA[<p dir="auto">I seem to remember seeing some OSDP support (in a jancy library?) in the past, but can't find it now. Any chance u could point me in the right direction? With the new serial-pro, the possibilities are greatly expanded.</p>
<p dir="auto">Thanks.</p>
]]></description><link>http://64.23.185.212/forum/topic/343/osdp-support</link><guid isPermaLink="true">http://64.23.185.212/forum/topic/343/osdp-support</guid><dc:creator><![CDATA[Kent Hauser 0]]></dc:creator><pubDate>Sun, 26 Apr 2026 00:26:15 GMT</pubDate></item><item><title><![CDATA[Card issue]]></title><description><![CDATA[<p dir="auto">Thank you!</p>
]]></description><link>http://64.23.185.212/forum/topic/342/card-issue</link><guid isPermaLink="true">http://64.23.185.212/forum/topic/342/card-issue</guid><dc:creator><![CDATA[Sec Experts]]></dc:creator><pubDate>Mon, 02 Mar 2026 08:26:39 GMT</pubDate></item><item><title><![CDATA[Injection of RTS with serial tap pro]]></title><description><![CDATA[<p dir="auto">The same way you would do that in a Serial Terminal:</p>
<p dir="auto">4121be35-62ae-4676-ae3e-b162cab49b68-image.png</p>
<p dir="auto">The term "injection" is normally used with data bytes; for RTS/DTR, it simply means "setting the state of the line".</p>
]]></description><link>http://64.23.185.212/forum/topic/341/injection-of-rts-with-serial-tap-pro</link><guid isPermaLink="true">http://64.23.185.212/forum/topic/341/injection-of-rts-with-serial-tap-pro</guid><dc:creator><![CDATA[Vladimir]]></dc:creator><pubDate>Mon, 26 Jan 2026 09:16:20 GMT</pubDate></item><item><title><![CDATA[Different between Serial Tap Pro and Serial Tap]]></title><description><![CDATA[<p dir="auto">Hello Sunny,</p>
<p dir="auto">Serial Tap Pro is a next-generation serial sniffer; the functional differences that distinguish it from the original Serial Tap (<a href="https://ioninja.com/hardware/serial-tap.html" rel="nofollow ugc">https://ioninja.com/hardware/serial-tap.html</a>) are as follows.</p>
<p dir="auto">Serial Tap Pro features:</p>

Galvanic isolation (for robustness and protection of all electrical circuits involved)
Twice as high baud rates (2.5 Mbps in Serial Tap Pro vs 1 Mbps in Serial Tap)
Automatic detection of baud rates and UART frame size (aka, ABR)
Guaranteed correct sequencing of all events with hardware-generated microsecond timestamps (in contrast, Serial Tap uses two independent USB-to-UART channels, timestamped at the PC side)
9-bit data frame support (used by some industrial equipment)
Half-duplex (two-wire) RS485 packet direction detection
Data and status line injection (so Serial Tap Pro can effectively be used in lieu of any USB-to-RS232/485/TTL adapter)

<p dir="auto">Read more at the product page: <a href="https://ioninja.com/hardware/serial-tap-pro.html" rel="nofollow ugc">https://ioninja.com/hardware/serial-tap-pro.html</a></p>
]]></description><link>http://64.23.185.212/forum/topic/340/different-between-serial-tap-pro-and-serial-tap</link><guid isPermaLink="true">http://64.23.185.212/forum/topic/340/different-between-serial-tap-pro-and-serial-tap</guid><dc:creator><![CDATA[Vladimir]]></dc:creator><pubDate>Mon, 15 Dec 2025 03:48:00 GMT</pubDate></item><item><title><![CDATA[Capture messages based on CR-LF]]></title><description><![CDATA[<p dir="auto">A simple <a href="https://ioninja.com/plugins/tx-rx-filter.html" rel="nofollow ugc">TX/RX Filter</a> could be sufficient in many cases. If you want to "de-interlace" the traffic by accumulating TX/RX data and postponing adding it to the log until a certain character (CR/LF) arrives -- a simple custom layer plugin could work. Finally, you can save captured data streams into an .njlog file and post-process it with any scripting language of your choice.</p>
<p dir="auto">Could you please share an .njlog or at least a screenshot of communications? That would help to choose the best approach.</p>
]]></description><link>http://64.23.185.212/forum/topic/338/capture-messages-based-on-cr-lf</link><guid isPermaLink="true">http://64.23.185.212/forum/topic/338/capture-messages-based-on-cr-lf</guid><dc:creator><![CDATA[Vladimir]]></dc:creator><pubDate>Fri, 21 Nov 2025 11:13:35 GMT</pubDate></item><item><title><![CDATA[Walking Your Log]]></title><description><![CDATA[<p dir="auto">A new blog post is out: <a href="https://ioninja.com/blog/walking-your-log/" rel="nofollow ugc">https://ioninja.com/blog/walking-your-log/</a></p>
<p dir="auto">Have questions or comments? Leave them here!</p>
]]></description><link>http://64.23.185.212/forum/topic/339/walking-your-log</link><guid isPermaLink="true">http://64.23.185.212/forum/topic/339/walking-your-log</guid><dc:creator><![CDATA[Vladimir]]></dc:creator><pubDate>Fri, 21 Nov 2025 11:03:23 GMT</pubDate></item><item><title><![CDATA[Concrete Examples]]></title><description><![CDATA[<p dir="auto">Here is a blog post on the subject: <a href="https://ioninja.com/blog/walking-your-log/" rel="nofollow ugc">https://ioninja.com/blog/walking-your-log/</a></p>
<p dir="auto">It doesn't dive into the internals of parsing Modbus RTU frames themselves, but you'll be able to enumerate and extract all Modbus RTU master and slave frames from your .njlog file -- and take it from there.</p>
]]></description><link>http://64.23.185.212/forum/topic/337/concrete-examples</link><guid isPermaLink="true">http://64.23.185.212/forum/topic/337/concrete-examples</guid><dc:creator><![CDATA[Vladimir]]></dc:creator><pubDate>Fri, 21 Nov 2025 10:56:10 GMT</pubDate></item><item><title><![CDATA[Welcome to the IO Ninja blog]]></title><description><![CDATA[<p dir="auto">We've just launched a new blog:</p>
<p dir="auto"><a href="https://ioninja.com/blog/welcome-to-io-ninja-blog/" rel="nofollow ugc">https://ioninja.com/blog/welcome-to-io-ninja-blog/</a></p>
<p dir="auto">Feel free to use this forum thread for comments &amp; discussion.</p>
]]></description><link>http://64.23.185.212/forum/topic/336/welcome-to-the-io-ninja-blog</link><guid isPermaLink="true">http://64.23.185.212/forum/topic/336/welcome-to-the-io-ninja-blog</guid><dc:creator><![CDATA[Vladimir]]></dc:creator><pubDate>Tue, 07 Oct 2025 09:46:04 GMT</pubDate></item><item><title><![CDATA[news about new Ethernet Tap?]]></title><description><![CDATA[<p dir="auto">Hi Paul,</p>
<p dir="auto">Thank you for your feedback, I really appreciate it!</p>
<p dir="auto">We released Serial Tap Pro two months ago, and a new revision for Ethernet Tap (Ethernet Tap Pro?) is our next goal! At the very least, it should include Gigabit Ehternet support, automatic port speed selection, optional packet injection (which could be disabled at hardware level via jumpers -- just like in Serial Tap Pro), guarantee of non-disrupting the original link in case of power loss, high-precision (at least 1 microsecond) hardware timestamps, optional enclosure -- and more (hopefully, Automotive Etherent, too). We are still in the research &amp; design stage, so there's no strict release date set -- sorry about that. As soon as we have a more definitive timeline, we will definitely post an update on this!</p>
]]></description><link>http://64.23.185.212/forum/topic/319/news-about-new-ethernet-tap</link><guid isPermaLink="true">http://64.23.185.212/forum/topic/319/news-about-new-ethernet-tap</guid><dc:creator><![CDATA[Vladimir]]></dc:creator><pubDate>Tue, 30 Sep 2025 06:51:48 GMT</pubDate></item><item><title><![CDATA[New Serial Tap Pro not an option]]></title><description><![CDATA[<p dir="auto">Hello Jason,</p>
<p dir="auto">I've replied to this request over email, but let's cover it here, too -- in case anyone else bumps into a similar problem.</p>
<p dir="auto">Support for Serial Tap Pro was added recently, in <strong>IO Ninja 5.8.0</strong> -- therefore, please make sure that you are on a version higher than this. Generally speaking, you always want to be running the latest and greatest version of IO Ninja.</p>
<p dir="auto">Also, on Windows, for Serial Tap Pro and other hardware sniffers to function correctly, the official hardware driver is required. This driver is actually nothing more than a manifest telling Windows to use the system winusb.sys for devices with our VID/PIDs (vendor and product IDs). Nevertheless, this step is essential -- without it, IO Ninja won't be able to communicate with the taps (and taps will have an exclamation mark in Windows Device Manager).</p>
<p dir="auto">If you install IO Ninja via the "FULL" MSI installer, those drivers should be installed automatically. Otherwise (e.g., you prefer a portable .7z archive), please download drivers separately at Download -&gt; <a href="https://ioninja.com/downloads.html#ioninja-hw-drivers" rel="nofollow ugc">IO Ninja Hardware Drivers</a>; install them either (a) using dpinst64/dpinst32 or (b) through the standard Update Driver process in Device Manager.</p>
<p dir="auto">After driver installation completes successfully, the taps in Device Manager should show no exclamation mark and use winusb.sys as a kernel-mode driver.</p>
]]></description><link>http://64.23.185.212/forum/topic/335/new-serial-tap-pro-not-an-option</link><guid isPermaLink="true">http://64.23.185.212/forum/topic/335/new-serial-tap-pro-not-an-option</guid><dc:creator><![CDATA[Vladimir]]></dc:creator><pubDate>Tue, 30 Sep 2025 06:00:58 GMT</pubDate></item><item><title><![CDATA[Serial port enumeration incomplete; cannot start capture]]></title><description><![CDATA[<p dir="auto">Greetings! The fact that IO Ninja doesn't enumerate this port on Windows means that its driver doesn't belong to the "Ports" device class:</p>
<p dir="auto">db0ff6d0-24b7-47dc-990b-5c09dc0cc709-image.png</p>
<p dir="auto">Could you please share the .inf file for this driver? Or better yet, can you provide a download link for this virtual serial port driver so that we can play with it locally?</p>
]]></description><link>http://64.23.185.212/forum/topic/334/serial-port-enumeration-incomplete-cannot-start-capture</link><guid isPermaLink="true">http://64.23.185.212/forum/topic/334/serial-port-enumeration-incomplete-cannot-start-capture</guid><dc:creator><![CDATA[Vladimir]]></dc:creator><pubDate>Wed, 10 Sep 2025 01:10:32 GMT</pubDate></item><item><title><![CDATA[IO Ninja 5 is finally out!]]></title><description><![CDATA[<p dir="auto">Appreciate the update to support newer Linux kernels</p>
]]></description><link>http://64.23.185.212/forum/topic/11/io-ninja-5-is-finally-out</link><guid isPermaLink="true">http://64.23.185.212/forum/topic/11/io-ninja-5-is-finally-out</guid><dc:creator><![CDATA[Dr Martin Bishop]]></dc:creator><pubDate>Fri, 04 Jul 2025 06:56:50 GMT</pubDate></item><item><title><![CDATA[Evaluation version&#x27;s will support  Named Pipe Server Terminal plugin]]></title><description><![CDATA[<p dir="auto">When on evaluation, you can use absolutely everything -- including Pipe Terminal and scripting.</p>
<p dir="auto">However, the your script is not a valid Jancy script.</p>
<p dir="auto">A simple echo script looks something like this:</p>
void main() {
	char buffer[256];
	for (;;) {
		size_t size = receive(buffer, sizeof(buffer));
		transmitAll(buffer, size);
	}
}

<p dir="auto">Of course, you can modify the reply packet before transmission as you like, e.g.:</p>
void main() {
	char buffer[256];
	for (int i;; i++) {
		size_t size = receive(buffer, sizeof(buffer));
		string_t reply = $"received block %1: '%2'"(i, string_t(buffer, size));
		transmitAll(reply);
	}
}

<p dir="auto">You can also try our stock scripts ("Load stock script" in the drop-down next to the "Open" button on the Script pane) -- they can be used as a starting point for something more meaningful.</p>
<p dir="auto">Also, check in-app scripting tutorials here:</p>
<p dir="auto"><a href="https://ioninja.com/doc/developer-manual/tutorials.html" rel="nofollow ugc">https://ioninja.com/doc/developer-manual/tutorials.html</a></p>
]]></description><link>http://64.23.185.212/forum/topic/333/evaluation-version-s-will-support-named-pipe-server-terminal-plugin</link><guid isPermaLink="true">http://64.23.185.212/forum/topic/333/evaluation-version-s-will-support-named-pipe-server-terminal-plugin</guid><dc:creator><![CDATA[Vladimir]]></dc:creator><pubDate>Wed, 21 May 2025 09:43:44 GMT</pubDate></item><item><title><![CDATA[IO ninja doesn&#x27;t attempt to connect via IPv4 if IPv6 is resolvable]]></title><description><![CDATA[<p dir="auto">Hi Jeremy,</p>
<p dir="auto">Apologies for the delayed response.</p>
<p dir="auto">You are 100% correct -- the hostname resolver should respect the IPv4 address when present. IPv6 should not be required when IPv4 is available.</p>
<p dir="auto">Actually, the logic here is a bit more complex -- all socket-based plugins can optionally bind to local IPv4 or IPv6 adapters. So, when this binding is in place, the hostname resolver should choose the corresponding address family and ignore everything else.</p>
<p dir="auto">We'll add this for the upcoming release in June. I'll share a link to the internal build after we have it done if you wish to try it before the official release.</p>
]]></description><link>http://64.23.185.212/forum/topic/332/io-ninja-doesn-t-attempt-to-connect-via-ipv4-if-ipv6-is-resolvable</link><guid isPermaLink="true">http://64.23.185.212/forum/topic/332/io-ninja-doesn-t-attempt-to-connect-via-ipv4-if-ipv6-is-resolvable</guid><dc:creator><![CDATA[Vladimir]]></dc:creator><pubDate>Wed, 21 May 2025 09:22:24 GMT</pubDate></item><item><title><![CDATA[Can monitoring Modbus TCP PtP(Point to Point)]]></title><description><![CDATA[<p dir="auto">With IO Ninja, you can monitor Modbus TCP, analyze communications, and export data for further processing.</p>
<p dir="auto">However, there's no out-of-the-box integration with data acquisition services.</p>
<p dir="auto">If it's the monitor-and-analyze part you are interested in, then the roadmap is as follows.</p>
<p dir="auto">The first stage is to acquire the TCP conversation between Modbus Master and Modbus Slave. In IO Ninja, this can be done via two alternative approaches.</p>
<p dir="auto">(a) You can capture Ethernet packets using <a href="https://ioninja.com/hardware/ethernet-tap.html" rel="nofollow ugc">Ethernet Tap</a> or <a href="https://ioninja.com/plugins/pcap-sniffer.html" rel="nofollow ugc">Pcap Sniffer</a> (capturing via Pcap could require some trickery if the Modbus Master is not running on the same workstation as IO Ninja), then reconstruct TCP conversation by attaching <a href="https://ioninja.com/plugins/tcp-flow.html" rel="nofollow ugc">TCP Flow Analyzer</a>.</p>
<p dir="auto">(b) But a more straightforward approach would be to use IO Ninja as a man-in-the-middle and let it forward TCP traffic between the Master and Slave using <a href="https://ioninja.com/plugins/tcp-proxy.html" rel="nofollow ugc">TCP Proxy</a>. Whenever this man-in-the-middle approach is applicable (i.e., you are in control of the Master and can redirect it to IO Ninja), that should be your choice -- it's much more straightforward and reliable.</p>
<p dir="auto">After you set everything up for reconstruction of the raw TCP conversation between Master and Slave, you attach the <a href="https://ioninja.com/plugins/modbus.html" rel="nofollow ugc">Modbus Analyzer</a> to decode the raw bytes into human-readable Modbus frames.</p>
<p dir="auto">IO Ninja log is very powerful and should be more than enough to inspect and analyze the Modbus conversation.</p>
<p dir="auto">If you need to post-process it further, one option would be to create a <a href="https://ioninja.com/doc/developer-manual/logging-engine.html#converters" rel="nofollow ugc">Log Layer</a> to do the job (remember, IO Ninja is <a href="https://ioninja.com/doc/developer-manual/tutorials.html" rel="nofollow ugc">scriptable</a>!). However, for people who have never touched IO Ninja scripting before, a much more straightforward path would be to save the log as .njlog and use any scripting language of their choice to walk over it.</p>
<p dir="auto">The .njlog file format is <a href="https://ioninja.com/doc/developer-manual/logging-engine.html#log-files" rel="nofollow ugc">very simple</a> and all the relevant data structures &amp; constants are open-source and defined in scripts/api/log_RecordCode.jnc and scripts/api/log_RecordFile.jnc (included in IO Ninja packages).</p>
<p dir="auto">Hope this helps; feel free to follow up with any questions!</p>
]]></description><link>http://64.23.185.212/forum/topic/331/can-monitoring-modbus-tcp-ptp-point-to-point</link><guid isPermaLink="true">http://64.23.185.212/forum/topic/331/can-monitoring-modbus-tcp-ptp-point-to-point</guid><dc:creator><![CDATA[Vladimir]]></dc:creator><pubDate>Tue, 01 Apr 2025 08:17:17 GMT</pubDate></item><item><title><![CDATA[Custom serial protocol parsing and Automation]]></title><description><![CDATA[<p dir="auto">Hello Ivan,</p>
<blockquote>
<p dir="auto">capture serial communication with up to 3.3mbps</p>
</blockquote>
<p dir="auto">3.3 Mbps is beyond the maximum baud rate supported by Serial Tap. Baud rates &lt;= 1 Mbps are guaranteed to be reliably captured; ~2 Mbps could work in theory, but errors are possible, and I think 3 Mbps would be outright rejected by the UART controller we use in Serial Tap.</p>
<blockquote>
<p dir="auto">add custom protocol parsing logic</p>
</blockquote>
<p dir="auto">This is possible; IO Ninja supports so called "layer" plugins that can transform original logs and add decoded protocol messages. See the <a href="https://ioninja.com/plugins/modbus.html" rel="nofollow ugc">Modbus Analyzer</a> for an example of such layer plugin (it's open-source and located at /scripts/plugins/Modbus/)</p>
<blockquote>
<p dir="auto">perform time event measurement</p>
</blockquote>
<p dir="auto">Events are timestamped on the PC side -- the Serial Tap reports raw bytes and status line changes, IO Ninja adds timestamps and writes them to log.</p>
<blockquote>
<p dir="auto">be controlled by Python with ability to get parsed data, set time markers ad get time for each events</p>
</blockquote>
<p dir="auto">If you need to implement custom processing in Python, you can use ioninja-hwc (<a href="https://ioninja.com/features/hardware-client.html#cli" rel="nofollow ugc">https://ioninja.com/features/hardware-client.html#cli</a>) -- capture Serial Tap events from the command line and redirect those to a file or stdout; then implement whichever custom logic you need in Python.</p>
]]></description><link>http://64.23.185.212/forum/topic/330/custom-serial-protocol-parsing-and-automation</link><guid isPermaLink="true">http://64.23.185.212/forum/topic/330/custom-serial-protocol-parsing-and-automation</guid><dc:creator><![CDATA[Vladimir]]></dc:creator><pubDate>Sat, 22 Feb 2025 15:13:23 GMT</pubDate></item><item><title><![CDATA[Help parsing modbus correctly]]></title><description><![CDATA[<p dir="auto">Hello,</p>
<p dir="auto">Regarding the gauge of the wire, as long as it can be fit to the connector of the Serial Tap, it should be fine. The noise should not depend on the gauge of the wire in such a short length.<br />
Unfortunately, I cannot see your connection to Serial Tap very clearly from your attached image. Generally, many of these errors on RS485 can happen because of impedance mismatch on the line. For example, I am not sure you have termination resistors on the bus or not. If not, you can add one 120Ohm resistor at each end of the bus and see if things get corrected. This is quite important in the long buses.<br />
Another thing to try is to ensure you connect the ground between your board and Serial Tap. I assume you are already using a shielded cable between your board and Serial Tap. Join the GND and shield and connect them to GND pin on Serial Tap. Of course, RS485 does not need the Ground connection but as you are adding a stub to your RS485 bus and we don't know you have proper termination or not, so I offer this to try.<br />
By the way, I recommend taking a look into the following article that we have created for Modbus and RS485 connections:<br />
<a href="https://support.tibbo.com/hc/en-us/articles/40709215801369-FAQ-What-are-the-consideration-of-implementing-RS485-example-with-Modbus-sensors" rel="nofollow ugc">https://support.tibbo.com/hc/en-us/articles/40709215801369-FAQ-What-are-the-consideration-of-implementing-RS485-example-with-Modbus-sensors</a></p>
]]></description><link>http://64.23.185.212/forum/topic/329/help-parsing-modbus-correctly</link><guid isPermaLink="true">http://64.23.185.212/forum/topic/329/help-parsing-modbus-correctly</guid><dc:creator><![CDATA[Mohammad]]></dc:creator><pubDate>Tue, 18 Feb 2025 02:54:09 GMT</pubDate></item></channel></rss>