Ign8 ModbusRTU serial port access on ARM hardware - Disconnected and jSerialComm.SerialPort error

I have installed full Ignition 8.0.15 on some ARMV71 hardware.
Everything seems to be working well other than the ModbusRTU serial port driver module.

The device simply shows as ‘disconnected’.

The path to the serial devices is correct.

user@lcben:/dev$ ls |grep USB
ttyUSB0

image.png

There are no errors in the Ignition log, but there are in Connections->Devices. (But only when I use Trace level).

image.png

The first line seems to be the important one.

java.io.IOException: java.lang.NoClassDefFoundError: Could not initialize class com.fazecast.jSerialComm.SerialPort

Looking at StackOverflow etc point to the fact that the jSerialComm does not have permissions to the serial port.

Apparently this is most often caused by the user that Ignition is running as is not a member of the ‘dialout’ group.

image.png

When I check the user that is running Ignition, I find it is ‘root’.

user@lcben:/dev$ ps aux |grep ignition
root      4540  0.1  0.1  13324  2832 ?        Sl   09:59   0:10 /opt/ignition/./ignition-gateway

When I check what groups ‘root’ is a member of, I find it is not a member of any.

As such I edited /etc/group and added ‘root’ to the ‘dialout’ group and rebooted the computer.

Ignition still shows the same ‘Disconnected’ error and the same Java error in the log.

With that, I am at a bit of dead end.

If you have any pointers, I am all ears.

Thanks for you help.

Do you have the Serial Support Gateway module installed?

Yes. Without it, I don’t even get the option for ModbusRTU devices
(Had to have some help to figure that one out as well!)

Can you upload your Ignition logs somewhere and tell me more about what Linux distro this is? What’s the output of uname -a?

uname -a
Linux lcben 4.1.15-rt18-nxtio-2.1.0+g57c90e9 #2 SMP PREEMPT RT Mon Jul 13 18:48:35 PDT 2020 armv7l GNU/Linux

You can download the logs from here; https://www.dropbox.com/t/cygxlhuDjp3M3cmQ

Thanks very much for your time to look at this.

That doesn’t seem to include Ignition logs. You’ll have to download them off the logs page in the gateway or gather up the wrapper.log files wherever it’s installed.

Oh, thats odd.
I clicked this icon here;

Where did I go wrong?

EDIT. Ah, I see, Windows has a file type assigned to that extension, My bad… Here they are;

Hmm… I need the wrapper.log files too…

I don’t know how or where Ignition gets installed on these grooves. Maybe in /opt/ignition you can find a log directory? Or in /var/log/ignition?

I can’t tell if the serial stuff isn’t on the class path or more likely if it’s failing to load because something about this platform isn’t supported.

Kevin,

Thanks very much for you help.
Having a LOT of trouble sending the file you need since this discord is super sensitive to spam it seems.
After accepting Dropbox links, its now flagging them as spam.
Try this.

Wrapper.log. https://wetransfer.com/downloads/f8283ad56e1d81566551b64e625e226920200901004543/9b3e30667cb249da54401006ae9131d320200901004619/304c51

Thanks.

Ben

Sorry, my best guess is that the native component of the serial module doesn’t work on the groove epic for some reason.

I’ll have to check around to see if we have one available in the office that we can troubleshoot with.

Until recently there was no ARM support at all in the serial module and I think we really only test it on Raspberry Pi.

1 Like

As far as I know, you have two of them… so uh… while not good news, you have some on site and its a massive sanity check for me, I was going nuts trying to figure out what was happening (or not happening as the case may be).

1 Like

For anybody that stumbles upon this in the future, the issue is the same as currently prevents running on (some versions of?) RPi: the version of GLIBC needs to be at least 2.28.

This is something we think we can resolve in a future release, though.

1 Like