tl;dr
I just freshly installed openHABian 1.2 and had difficulties getting a Razberry Z-Wave module to work on a RaspberryPi3 although I used openhabian-config for disabling the console. I fixed the issue by manually removing the console=serial0,115200
part in /boot/cmdline.txt
.
Long Story
After installation of openHABian 1.2 on a RaspberryPi3 I disabled the serial console using sudo openhabian-config
and disabled the serial console, disabled the Bluetooth module, and added common serial ports to JVM by ticking of the three items in 30 Serial Port
. After doing so I rebooted.
I then installed the Z-Wave binding and configured to use /dev/ttyAMA0 where a Razberry module is plugged in. The binding complained that /dev/ttyAMA0 does not exist. I checked with ls /dev/ttyA*
and it existed.
After some more sudo openhabian-config
retries and rebooting I reminded myself what I did to get the Razberry working in my previous openHAB 1.x installation (manual setup). While checking /boot/config.txt
I realized that the console was still activated.
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
I removed the console=serial0,115200
part and after a reboot the Z-Wave binding started to work.
I verified that also with sudo lsof | grep ttyAMA0
. When the kernel command line is kept like it is then agetty locks /dev/ttyAMA0. After my patch java starts to use it instead.
Conclusion
There is a bug in the openHABian configuration tool which does not fully disable the serial console on RaspberryPi3.
I opened an issue for this in openHABian’s GitHub repository: https://github.com/openhab/openhabian/issues/138