Port /dev/ttyACM0 does not exist

  • Platform information:
    • Hardware: Linux rk64 4.4.77-rockchip-ayufan-136 #1 SMP Thu Oct 12 09:14:48 UTC 2017 aarch64 GNU/Linux 4GBs RAM
    • OS: see above
    • Java Runtime Environment:java version “1.8.0_151” Java™ SE Runtime Environment (build 1.8.0_151-b12) Java HotSpot™ 64-Bit Server VM (build 25.151-b12, mixed mode)
    • openHAB version: 2.2.0-1
  • Issue of the topic:
    Ive installed OH2 in Rock64… but cannot detect Zwave stick

cponte124@rk64:~$ lsusb
Bus 003 Device 002: ID 0658:0200 Sigma Designs, Inc.
cponte124@rk64:~$ dmesg|grep acm
[ 6.381166] cdc_acm 3-1:1.0: ttyACM0: USB ACM device
[ 6.387656] usbcore: registered new interface driver cdc_acm
[ 6.391481] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
cponte124@rk64:~$ ls -lisa /dev/ttyACM0
13875 0 crw-rw-rw- 1 root dialout 166, 0 Jan 5 11:50 /dev/ttyACM0
cponte124@rk64:~$ cat /etc/default/openhab2
EXTRA_JAVA_OPTS="-Dos.arch=arm -Dgnu.io.rxtx.SerialPorts=/dev/ttyACM0"
cponte124@rk64:~$ cat /etc/group|grep openhab
tty:x:5:openhab
dialout:x:20:openhab
audio:x:29:openhab
openhab:x:117:

!!! Ive tested that OZWCP works OK with my STICK in this machine

but OH2 keeps telling port “does not exist”

2018-01-05 11:34:09.260 [hingStatusInfoChangedEvent] - ‘zwave:serial_zstick:casaponte124’ changed from OFFLINE (BRIDGE_OFFLINE): Controller is offline to OFFLINE (COMMUNICATION_ERROR): Serial Error: Port /dev/ttyACM0 does not exist
2018-01-05 11:35:52.951 [hingStatusInfoChangedEvent] - ‘zwave:serial_zstick:casaponte124’ changed from OFFLINE (COMMUNICATION_ERROR): Serial Error: Port /dev/ttyACM0 does not exist to UNINITIALIZED
2018-01-05 11:35:52.958 [hingStatusInfoChangedEvent] - ‘zwave:serial_zstick:casaponte124’ changed from UNINITIALIZED to UNINITIALIZED (HANDLER_MISSING_ERROR)

¿Any ideas?

There are several posts on this topic that points to problems with access rights to the port. Please see Serial Error: Port /dev/ttyACM0 does not exist or do a search for /dev/ttyACM0 on the forum. You could do

ls -l /dev/ttyACM0

to check the access rights

as you can see in my post… i’ve checked the “normal” problems.

  • You can see permissions of /dev/ttyACM0 to group dialout
  • You can see openhab is in groups: dialout, tty
  • You can see EXTRA_JAVA_OPTS is set with dev
1 Like

Sorry, my bad… your post was hard to read without code brackets

I couldn’t see much more… but i think (suppose):

  • Its NOT a hw problem (zwave stick works in same machine with ozwcp)
  • Its a problem in JAVA-Serial interface
  • Its a problem related to arm64 architecture

Browsing i found problems with nrjavaserial lib but I CAN’T CONFIRM it because i get no more details in log.

I do agree that you can rule out hw zwave problem and I do not think that you will get a whole lot more information setting debug level to TRACE in Karaf either. I seem to remember that there have been some compatibility issues with nrjavaserial on 64-bit ARM java, maybe the same problem for your platform… have this ever worked for you and would it be worth a try to switch to 32-bit java? The post below is a bit “old”, but it might still be the case

I too am having this same problem. I have checked permissions for the ports, ensured openhab is in the tty and dialout groups, and checked /etc/default/openhab2 Java OPTs. Everything is according to the advice of the experts. OH2.2 simply doesn’t work on my RPI3. I’ll be keeping an eye out for OH2.2.1, hopefully it will solve this problem. Until then I will stick with v2.1

I’m not sure is the same problem because with Rpi3 you’ll have a 32bits OS… ¿is it correct? … and in this case i think it could be related to the cpu architecture

Have you tried to do a clean installation of 2.2? (i’ve had problems with packages update in my RPI3 from 2.1 to 2.2… and I reverted to 2.1 in RPI3… then i installed rock64 from scratch with 2.2 and worked ok… almost everything but this problem with /dev/ACM0).

I’m using the actual openhabian with openhab2.2 on a Raspi3 and my CUL Stick is connected to ttyACM0.
My etc/default/openhab2 contains this line:

EXTRA_JAVA_OPTS=“-Dgnu.io.rxtx.SerialPorts=/dev/ttyUSB0:/dev/ttyS0:/dev/ttyS2:/dev/ttyACM0:/dev/ttyAMA0”

which doesn’t look like the one posted above!

I have spent the past few days doing a clean install of openhab2.2/openhabian1.4.

At first it went well. I installed the Zwave binding and configured the Things. Then I rewrote my config files using the new channel info.

The next step was the Mysensors binding. That took a couple of days. I had to enable the mysensors-serial-port through the karaf console, then install a jar file with the latest MySensors binding.

That went successful up until I rebooted the system. After a reboot the Zwave binding and the network binding disappeared. Completely gone. I had to reinstall them. When I did the Zwave serial port was once again not there. I couldn’t type in a serial port in the configuration window. It just gave me a dropdown list of /dev/ttyUSB0. If I unplugged the MySensors gateway and rebooted then I could manually enter a serial port (/dev/ttyACM0) but the system still insisted it didn’t exist. The same old problem as before. Basically all the work I had done for the past 3 days was gone.

At this point I have no idea how to proceed.

Sorry. I feel guilty for telling you to try the clean install. I only wanted to help.

In the past when i had problems with “Ghost” config that disappears after reboot… they were caused by FS corruptions (too common in rpi)… but i can’t be sure in your case. Maybe all these problems are caused by an oh2.2 bug.

My problem still is here and i got back to my old rpi3 with oh2.1 instead of rk64 with oh2.2. when i hace more free time maybe i’ll try again with 32bits JVM, etc.

Any chance or hint will be appreciated.

I have the same issue with abrand new installation on intel7700 debian. aeon stick
tried all suggestions.

It looks like all users that report such a problem are using ZWAVE,

Yes, or maybe mysensors, LG serial?

Zwave was working until I added MySensors.

Mine to until I added the LG serial.
If I remove LG serial binding it starts to work again. I am sure it’s the same for mysensors.
Right now I have to remove the LG serial binding before restart and then re add it again when OH has started…

I’ve decided to stick with v2.1 until the bugs are worked out of v2.2 I have enough work to do to learn writing rules. My Unix skills are at the beginner’s level and despite the statement on the openhabian page, you have to be a Unix enthusiast to effectively manage a Raspberry Pi based system. Besides, my current system isn’t broken, so I’m not going to mess with it. Upgrading was a nice to have, not a necessity.

THANKS, Martin.

Finally i’ve solved the problem:

  1. Install 32b system libs
  2. Install 32b jvm (without apt) and configuring it as system default
  3. Install docker and run OH2.2 docker container pointing to /dev/ttyACM0 device for zwave (i’ve done it with docker in order to keep as “clean” as possible my distro)

So… to sum up… it seems than MY problem (in this thread i think there are several users with maybe different problems) was really about ARM64 and zwave JAR pointing to a native lib for arm32.

I suggest try to improve this jar to support also arm64 architectures (like ROCK64).

THANKS again.

1 Like

Just for the heck of it I decided to install Openhab 2.2.0.1 on a computer running Ubuntu 16.04. I followed the directions in the forum. Openhab is in the dialout and tty groups, EXTRA JAVA ARGS are as specified in the instructions. The first time I plugged my AEON Z-stick into the USB slot everything worked fine. I then attached the Mysensors serial gateway into another USB port and it worked. Then I shutdown the system. When I restarted the system with just the Zwave stick in a USB port Openhab claimed “/dev/ttyACM0 does not exist”. This problem isn’t confined to the raspberry pi.

Hi.

No, it’s not limitied to the Rpi.
I use a 64bit ubuntu with the same problem.