Hi.
I had a working OH1.8.3 installation on Windows. Now I’m trying to move it to Linux (CentOS7).
There isn’t an RPM for CentOS/RHEL, so I just moved my working directory from the Windows machine to my CentOS machine, with the changes detailed below.
But I keep get these errors:
Serial Error: Port /dev/ttyACM0 does not exist
And
10:32:20.149 [DEBUG] [.z.internal.ZWaveActiveBinding:225 ] - internalReceiveCommand Called, But Not Properly Configure yet, returning.
I have followed all advices that I found…
I’ve verified that my port is /dev/ttyACM0 by diffing the output of ls /dev/tty* with and without the stick (AEON Gen5) plugged.
Updated openhab.cfg to use: zwave:port=/dev/ttyACM0
Added the user running openhab to dialout group, and rebooted
Couldn’t find no lock in /var/lock/
Added to start_debug.sh: -Dgnu.io.rxtx.SerialPorts=/dev/ttyACM0 \
But still, nothing improves
Few additional points:
This is a ‘minimal’ installation of CentOS7, with few packages that I’ve added. Maybe I’m missing some package?
(tried to ‘update’ my original post, but it failed…)
I’ve copied the directory aside, and run OH as root. And it works great!
So, it’s definitely permissions problems.
But I don’t want to run as root…
So - back to my original directory -
I tried also adding tty group, as it was mentioned somewhere, and of course, didn’t help.
What have have I missed?
Additional info, just to demonstrate the permissions:
Maybe it’s related my Java version?
I’ve installed Orcale Java:
$ java -version
java version "1.8.0_111"
Java(TM) SE Runtime Environment (build 1.8.0_111-b14)
Java HotSpot(TM) Server VM (build 25.111-b14, mixed mode)
That demonstrates that user zvika doesn’t have permission to read from ttyACM0 (BTW - it’s not saying device doesn't exist, or something similar, like seen in the log file)
And after changing permissions of ttyACM0:
$ cat /dev/ttyACM0
^C
(it behaved just like when root was catting it)
To summarize
When running OH as root, everything works fine.
When trying to cat /dev/ttyACM0 - it’s working (after fixing udev rules).
But when running OH as user - it fails.
What’s next?
How can I debug it? @chris, maybe you can help?
I’m not sure if it’s important, but I’ve also installed uucp package - it gave me better error messages in the log file, before fixing permissions for /var/lock.
The /run/lock directory (/var/lock is a symlink to this) will be recreated after each reboot. My wife did a writeup (look about half way down), with a way to make the permissions stick. It depends on your Linux distribution, but you can also install lockdev, recompile the nrjavaserial jar with the lockdev-devel headers, uninstall the existing bundle and then drop in your modified jar. Working on Fedora28. Much easier to just change the permissions, but this works too!