RaspberryMatic: k3s: rfd error with HmIP-RFUSB
Describe the issue you are experiencing
RaspberryMatic is currently running perfectly fine on Proxmox and I would like to switch to k3s.
I tried to install RaspberryMatic on k3s based on https://github.com/jens-maus/RaspberryMatic/wiki/Installation-Kubernetes#install-raspberrymatic-helm-chart. Installation of pivccu-modules-dkms was also done on the host machine.
The HmIP-RFUSB stick is also connected to the host machine.
After the installation of the Helm chart I get following logs and RaspberryMatic is not working:
Identifying onboard hardware: couldn't identify hardware platform (). Using RaspberryPi3 as fallback
--
Tue, Jan 25 2022 9:59:20 am | /etc/init.d/S01InitHost: line 145: /usr/bin/tvservice: not found
Tue, Jan 25 2022 9:59:20 am | /etc/init.d/S01InitHost: line 150: /usr/bin/tvservice: not found
Tue, Jan 25 2022 9:59:20 am | /etc/init.d/S01InitHost: line 151: /usr/bin/tvservice: not found
Tue, Jan 25 2022 9:59:20 am | /etc/init.d/S01InitHost: line 152: /usr/bin/vcgencmd: not found
Tue, Jan 25 2022 9:59:20 am | rpi3, OK
Tue, Jan 25 2022 9:59:20 am | modprobe: can't change directory to '/lib/modules': No such file or directory
Tue, Jan 25 2022 9:59:20 am | modprobe: can't change directory to '/lib/modules': No such file or directory
Tue, Jan 25 2022 9:59:19 am | Initializing RTC Clock: onboard, OK
Tue, Jan 25 2022 9:59:19 am | Running sysctl: OK
Tue, Jan 25 2022 9:59:19 am | Checking for Factory Reset: not required
Tue, Jan 25 2022 9:59:19 am | Checking for Backup Restore: not required
Tue, Jan 25 2022 9:59:20 am | modprobe: can't change directory to '/lib/modules': No such file or directory
Tue, Jan 25 2022 9:59:20 am | Initializing System: OK
Tue, Jan 25 2022 9:59:20 am | Starting logging: OK
Tue, Jan 25 2022 9:59:20 am | Populating /dev using udev: done
Tue, Jan 25 2022 9:59:20 am | Init onboard LEDs: init, OK
Tue, Jan 25 2022 9:59:20 am | Starting irqbalance: OK
Tue, Jan 25 2022 9:59:20 am | Starting iptables: OK
Tue, Jan 25 2022 9:59:20 am | Starting network: eth0: missing, OK
Tue, Jan 25 2022 9:59:23 am | Identifying Homematic RF-Hardware: ....HmRF: HMIP-RFUSB/eQ-3 HmIP-RFUSB@usb-0000:00:14.0-8, HmIP: HMIP-RFUSB/eQ-3 HmIP-RFUSB@usb-0000:00:14.0-8, OK
Tue, Jan 25 2022 9:59:23 am | Updating Homematic RF-Hardware: HMIP-RFUSB: 4.4.16, OK
Tue, Jan 25 2022 9:59:23 am | Starting hs485dLoader: disabled
Tue, Jan 25 2022 9:59:23 am | Starting xinetd: OK
Tue, Jan 25 2022 9:59:23 am | Starting eq3configd: OK
Tue, Jan 25 2022 9:59:23 am | Starting lighttpd: OK
Tue, Jan 25 2022 9:59:23 am | Starting ser2net: disabled
Tue, Jan 25 2022 9:59:23 am | Starting ssdpd: OK
Tue, Jan 25 2022 9:59:23 am | Starting NUT services: disabled
Tue, Jan 25 2022 9:59:23 am | Initializing Third-Party Addons: OK
Tue, Jan 25 2022 9:59:23 am | Starting LGWFirmwareUpdate: ...OK
Tue, Jan 25 2022 9:59:23 am | Setting LAN Gateway keys: OK
Tue, Jan 25 2022 9:59:23 am | Starting hs485d: disabled
Tue, Jan 25 2022 9:59:25 am | Starting multimacd: .OK
Tue, Jan 25 2022 10:00:05 am | Starting rfd: ....................ERROR
Tue, Jan 25 2022 10:05:06 am | Starting HMIPServer: .......................................................................................................................................................ERROR
Tue, Jan 25 2022 10:05:08 am | Starting ReGaHss: .OK
Tue, Jan 25 2022 10:05:08 am | Starting CloudMatic: OK
Tue, Jan 25 2022 10:05:08 am | Starting NeoServer: disabled
Tue, Jan 25 2022 10:05:08 am | Starting Third-Party Addons: OK
Tue, Jan 25 2022 10:05:08 am | Starting crond: OK
Tue, Jan 25 2022 10:05:08 am | Setup onboard LEDs: booted, OK
Describe the behavior you expected
RaspberryMatic is working and I can use the webUI.
Steps to reproduce the issue
- Use a linux host for k3s
- Install pivccu-modules-dkms on the host
- Connect HMIP-RFUSB to the host
- Install Helm chart of RaspberryMatic -> privileged true
- Try to open the webUI …
What is the version this bug report is based on?
3.61.7.20220115
Which base platform are you running?
oci (Open Container Infrastructure)
Which HomeMatic/homematicIP radio module are you using?
HmIP-RFUSB
Anything in the logs that might be useful for us?
Logs
Jan 25 10:09:51 de.eq3.cbcs.vertx.management.VertxManager INFO [Thread-0] SYSTEM: added for deployment [KeyServerWorker] (1) *worker
Jan 25 10:09:51 de.eq3.cbcs.vertx.management.VertxManager INFO [Thread-0] SYSTEM: added for deployment [KryoPersistenceWorker] (1) *worker
Jan 25 10:09:51 de.eq3.cbcs.vertx.management.VertxManager INFO [Thread-0] SYSTEM: added for deployment [TransactionSubsystemHandler] (1) *worker
Jan 25 10:09:51 de.eq3.cbcs.vertx.management.VertxManager INFO [Thread-0] SYSTEM: added for deployment [FirmwareLoaderFileSystem] (1) *worker
Jan 25 10:09:51 de.eq3.cbcs.vertx.management.VertxManager INFO [Thread-0] SYSTEM: added for deployment [LocalServerPersistentDataLoader] (1)
Jan 25 10:09:51 de.eq3.cbcs.vertx.management.VertxManager INFO [Thread-0] SYSTEM: added for deployment [LocalServerAdapterInitialization] (1)
Jan 25 10:09:51 de.eq3.cbcs.vertx.management.VertxManager INFO [Thread-0] SYSTEM: added for deployment [TransactionManagementVerticle] (1)
Jan 25 10:09:51 de.eq3.cbcs.vertx.management.VertxManager INFO [Thread-0] SYSTEM: added for deployment [BackendCommandHandler] (1)
Jan 25 10:09:51 de.eq3.cbcs.vertx.management.VertxManager INFO [Thread-0] SYSTEM: added for deployment [DeviceInclusionAcceptHandler] (1)
Jan 25 10:09:51 de.eq3.cbcs.vertx.management.VertxManager INFO [Thread-0] SYSTEM: added for deployment [CheckDeviceExistHandler] (1)
Jan 25 10:09:51 de.eq3.cbcs.vertx.management.VertxManager INFO [Thread-0] SYSTEM: added for deployment [IncomingHMIPFrameHandler] (1)
Jan 25 10:09:51 de.eq3.cbcs.vertx.management.VertxManager INFO [Thread-0] SYSTEM: added for deployment [DeviceBackgroundUpdateSubsystem] (1)
Jan 25 10:09:51 de.eq3.cbcs.vertx.management.VertxManager INFO [Thread-0] SYSTEM: added for deployment [DeviceLiveUpdateSubsystem] (1)
Jan 25 10:09:51 de.eq3.cbcs.vertx.management.VertxManager INFO [Thread-0] SYSTEM: added for deployment [DeviceDefaultConfigurationChanger] (1)
Jan 25 10:09:51 de.eq3.cbcs.vertx.management.VertxManager INFO [Thread-0] SYSTEM: added for deployment [CyclicSmokeDetectorAwakening] (1)
Jan 25 10:09:51 de.eq3.cbcs.vertx.management.VertxManager INFO [Thread-0] SYSTEM: added for deployment [LocalServerFirmwareUpdateInitialization] (1)
Jan 25 10:09:51 de.eq3.cbcs.vertx.management.VertxManager INFO [Thread-0] SYSTEM: added for deployment [RoutingNotificationHandler] (1)
Jan 25 10:09:51 de.eq3.cbcs.vertx.management.VertxManager INFO [Thread-0] SYSTEM: added for deployment [BackboneWorker] (1) *worker
Jan 25 10:09:51 de.eq3.cbcs.vertx.management.VertxManager INFO [Thread-0] SYSTEM: added for deployment [RouteManagementWorker] (1) *worker
Jan 25 10:09:51 de.eq3.cbcs.vertx.management.VertxManager INFO [Thread-0] SYSTEM: added for deployment [LegacyNotificationHandler] (1) *worker
Jan 25 10:09:51 de.eq3.cbcs.vertx.management.VertxManager INFO [Thread-0] SYSTEM: added for deployment [LegacyAPIWorker] (1) *worker
Jan 25 10:09:51 de.eq3.cbcs.vertx.management.VertxManager INFO [Thread-0] SYSTEM: added for deployment [LegacyBackendNotificationHandler] (3) *worker
Jan 25 10:09:51 de.eq3.cbcs.vertx.management.VertxManager INFO [Thread-0] SYSTEM: added for deployment [LegacyBlindLevelCorrectionHandler] (1) *worker
Jan 25 10:09:51 de.eq3.cbcs.vertx.management.VertxManager INFO [Thread-0] SYSTEM: added for deployment [LegacyInitializion] (1)
Jan 25 10:09:51 de.eq3.cbcs.vertx.management.VertxManager INFO [Thread-0] SYSTEM: deploying 25 classes to Vert.x
Jan 25 10:09:51 de.eq3.cbcs.server.core.vertx.HMIPAbstractWriterWorker INFO [vert.x-worker-thread-2] SYSTEM: HMIPTRXWriterWorker Verticle or Worker started
Jan 25 10:09:51 de.eq3.cbcs.server.core.vertx.KeyServerWorker ERROR [vert.x-worker-thread-0] Missing key server configuration parameter (Network.Key) for mode: KEYSERVER_LOCAL
Jan 25 10:09:51 de.eq3.cbcs.server.core.vertx.KeyServerWorker INFO [vert.x-worker-thread-0] SYSTEM: KeyServerWorker Verticle or Worker started
Jan 25 10:09:51 de.eq3.cbcs.server.core.vertx.TransactionSubsystemHandler INFO [vert.x-worker-thread-1] SYSTEM: TransactionSubsystemHandler Verticle or Worker started
Jan 25 10:09:51 de.eq3.cbcs.server.core.vertx.CheckDeviceExistHandler INFO [vert.x-eventloop-thread-1] SYSTEM: CheckDeviceExistHandler Verticle or Worker started
Jan 25 10:09:51 de.eq3.cbcs.vertx.management.VertxManager INFO [vert.x-eventloop-thread-1] SYSTEM: start of HMIPTRXWriterWorker succeeded (7fa4cc84-61de-43d4-9e3b-82c5fa8d6dc1)
Jan 25 10:09:51 de.eq3.cbcs.server.core.vertx.RoutingNotificationHandler INFO [vert.x-eventloop-thread-1] SYSTEM: RoutingNotificationHandler Verticle or Worker started
Jan 25 10:09:51 de.eq3.cbcs.server.core.vertx.CyclicSmokeDetectorAwakening INFO [vert.x-eventloop-thread-1] SYSTEM: CyclicSmokeDetectorAwakening Verticle or Worker started
Jan 25 10:09:51 de.eq3.cbcs.vertx.management.VertxManager INFO [Thread-0] SYSTEM: 25 VertxDeployers initialized
Jan 25 10:09:51 de.eq3.cbcs.legacy.bidcos.rpc.internal.LegacyBlindLevelCorrectionHandler INFO [vert.x-worker-thread-3] SYSTEM: LegacyBlindLevelCorrectionHandler Verticle or Worker started
Jan 25 10:09:51 de.eq3.cbcs.vertx.management.VertxManager INFO [vert.x-eventloop-thread-1] SYSTEM: start of KryoPersistenceWorker succeeded (88e7d05e-8960-4502-a9cc-5a53d29682dc)
Jan 25 10:09:51 de.eq3.cbcs.server.local.base.internal.LocalServerPersistentDataLoader INFO [vert.x-eventloop-thread-1] SYSTEM: LocalServerPersistentDataLoader Verticle or Worker started
Jan 25 10:09:51 de.eq3.cbcs.server.core.otau.AbstractUpdateSubsystem INFO [vert.x-eventloop-thread-0] SYSTEM: DeviceLiveUpdateSubsystem Verticle or Worker started
Jan 25 10:09:51 de.eq3.cbcs.server.core.live_otau.DeviceLiveUpdateSubsystem INFO [vert.x-eventloop-thread-0] SYSTEM: DeviceLiveUpdateSubsystem started
Jan 25 10:09:51 de.eq3.cbcs.vertx.management.VertxManager INFO [vert.x-eventloop-thread-0] SYSTEM: start of KeyServerWorker succeeded (47518dd4-a3c9-449f-b048-f3c664bb2714)
Jan 25 10:09:51 de.eq3.cbcs.server.core.vertx.DeviceDefaultConfigurationChanger INFO [vert.x-eventloop-thread-0] SYSTEM: DeviceDefaultConfigurationChanger Verticle or Worker started
Jan 25 10:09:51 de.eq3.cbcs.vertx.management.VertxManager INFO [vert.x-eventloop-thread-0] SYSTEM: start of TransactionSubsystemHandler succeeded (f1c52d16-9f98-413d-befe-c1b7838fc7fb)
Jan 25 10:09:51 de.eq3.cbcs.vertx.management.VertxManager INFO [vert.x-eventloop-thread-1] SYSTEM: start of DeviceDefaultConfigurationChanger succeeded (5684c311-3560-404f-bafe-8852551ee05f)
Jan 25 10:09:51 de.eq3.cbcs.vertx.management.VertxManager INFO [vert.x-eventloop-thread-0] SYSTEM: start of CheckDeviceExistHandler succeeded (acfb7d87-c779-489c-8d47-1278910cdb04)
Jan 25 10:09:51 de.eq3.cbcs.vertx.management.VertxManager INFO [vert.x-eventloop-thread-0] SYSTEM: start of RoutingNotificationHandler succeeded (952408f7-c245-4918-ac04-e3014dc144ab)
Jan 25 10:09:51 de.eq3.cbcs.vertx.management.VertxManager INFO [vert.x-eventloop-thread-0] SYSTEM: start of CyclicSmokeDetectorAwakening succeeded (4a02278d-0b5f-477e-b5a5-18a380cc41ed)
Jan 25 10:09:51 de.eq3.cbcs.vertx.management.VertxManager INFO [vert.x-eventloop-thread-0] SYSTEM: start of LegacyBlindLevelCorrectionHandler succeeded (0aa0a88c-bccf-4ee7-94e8-a7de1bcfda6d)
Jan 25 10:09:51 de.eq3.cbcs.server.core.otau.AbstractUpdateSubsystem INFO [vert.x-eventloop-thread-0] SYSTEM: DeviceBackgroundUpdateSubsystem Verticle or Worker started
Jan 25 10:09:51 de.eq3.cbcs.vertx.management.VertxManager INFO [vert.x-eventloop-thread-0] SYSTEM: start of LocalServerPersistentDataLoader succeeded (0caeb14d-5a4f-4ca1-9963-2e51440adb07)
Jan 25 10:09:51 de.eq3.cbcs.vertx.management.VertxManager INFO [vert.x-eventloop-thread-1] SYSTEM: start of DeviceBackgroundUpdateSubsystem succeeded (b9ffeeaa-9e89-4faa-b57f-feeb8e640856)
Jan 25 10:09:51 de.eq3.cbcs.vertx.management.VertxManager INFO [vert.x-eventloop-thread-0] SYSTEM: start of DeviceLiveUpdateSubsystem succeeded (9aaefbff-1f07-4511-b9d4-2c28c17306fe)
Jan 25 10:09:53 de.eq3.cbcs.server.core.otau.util.FirmwareLoaderFileSystem INFO [vert.x-worker-thread-1] SYSTEM: Firmware update directory is set to /etc/config/firmware
Jan 25 10:09:53 de.eq3.cbcs.server.core.otau.util.FirmwareLoaderFileSystem INFO [vert.x-worker-thread-1] SYSTEM: FirmwareLoaderFileSystem Verticle or Worker started
Jan 25 10:09:53 de.eq3.cbcs.vertx.management.VertxManager INFO [vert.x-eventloop-thread-0] SYSTEM: start of FirmwareLoaderFileSystem succeeded (2f104f84-25d1-49a3-a955-aec0afc87e78)
Jan 25 10:09:53 de.eq3.cbcs.server.core.vertx.IncomingHMIPFrameHandler INFO [vert.x-eventloop-thread-1] SYSTEM: IncomingHMIPFrameHandler Verticle or Worker started
Jan 25 10:09:53 de.eq3.cbcs.vertx.management.VertxManager INFO [vert.x-eventloop-thread-0] SYSTEM: start of IncomingHMIPFrameHandler succeeded (bb61d4d5-db02-4bce-b86f-d79e5408b06c)
Jan 25 10:09:53 de.eq3.cbcs.server.core.vertx.DeviceInclusionAcceptHandler INFO [vert.x-eventloop-thread-0] SYSTEM: DeviceInclusionAcceptHandler Verticle or Worker started
Jan 25 10:09:53 de.eq3.cbcs.vertx.management.VertxManager INFO [vert.x-eventloop-thread-1] SYSTEM: start of DeviceInclusionAcceptHandler succeeded (7f0c8aff-0ded-4ccb-a58c-53709f89c943)
Jan 25 10:09:53 de.eq3.cbcs.server.core.transaction.TransactionManagementVerticle INFO [vert.x-eventloop-thread-1] SYSTEM: TransactionManagementVerticle Verticle or Worker started
Jan 25 10:09:53 de.eq3.cbcs.vertx.management.VertxManager INFO [vert.x-eventloop-thread-0] SYSTEM: start of TransactionManagementVerticle succeeded (c09d65dd-6cb8-4fb8-ae77-40b6c3d206b9)
Jan 25 10:09:53 de.eq3.cbcs.server.local.base.internal.LocalServerAdapterInitialization ERROR [vert.x-eventloop-thread-1] Error 'LOCAL_ADAPTER_NO_SUCH_PORT' while trying to open port '/dev/mmd_hmip':
de.eq3.cbcs.lib.commdevice.CommDeviceException: Exception while trying to open serial port. Check configured port '/dev/mmd_hmip'
at de.eq3.cbcs.lib.nrjavaserialdevice.SerialCommDevice.open(SerialCommDevice.java:103)
at de.eq3.cbcs.lib.hmiptrxcommadapter.HomeMaticIPTRXCommAdapter.open(HomeMaticIPTRXCommAdapter.java:894)
at de.eq3.cbcs.lib.hmiptrxcommadapter.HomeMaticIPTRXCommAdapter.<init>(HomeMaticIPTRXCommAdapter.java:103)
at de.eq3.cbcs.server.local.base.internal.ShareableHomeMaticIPTRXCommAdapter.<init>(ShareableHomeMaticIPTRXCommAdapter.java:34)
at de.eq3.cbcs.server.local.base.internal.LocalServerAdapterInitialization.start(LocalServerAdapterInitialization.java:109)
at io.vertx.core.AbstractVerticle.start(AbstractVerticle.java:111)
at io.vertx.core.impl.DeploymentManager.lambda$doDeploy$8(DeploymentManager.java:434)
at io.vertx.core.impl.ContextImpl.lambda$wrapTask$2(ContextImpl.java:337)
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:403)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:445)
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
at java.lang.Thread.run(Thread.java:748)
Caused by: gnu.io.NoSuchPortException
at gnu.io.CommPortIdentifier.getPortIdentifier(CommPortIdentifier.java:274)
at de.eq3.cbcs.lib.nrjavaserialdevice.SerialCommDevice.open(SerialCommDevice.java:95)
... 12 more`
Additional information
No response
About this issue
- Original URL
- State: closed
- Created 2 years ago
- Comments: 29 (19 by maintainers)
Commits related to this issue
- added kubepods to cgroup check for identifying oci-based container environments. This should allow to run the oci containers also in k3s correctly. This refs #1678. — committed to jens-maus/RaspberryMatic by jens-maus 2 years ago
- fixed an issue with k8s/k3s use where mounting of /lib/modules was missing to load all necessary kernel modules from within the container (#1712, #1678, @angelnu) — committed to jens-maus/RaspberryMatic by angelnu 2 years ago
I had the exact same situation, wanting to run raspberrymatic on k3s. Using the provided helm template, it failed as described by @floriandrott (I use an RPI-RF-MOD, but it was the same situation).
I rendered the helm templates and added a dummy
.dockerenv
as well as the/lib/modules
as additional volume mounts and now it appears to work fine.that looks like a bug - we might be removing the module on shutdown. I think we should not try to load/unload any modules for OCI…
So thinks to do:
@floriandrott - would you volunteer for 3?
Update: it is indeed a bug at https://github.com/jens-maus/RaspberryMatic/blob/6ae7004901be4072bbd9ebd3eccaeba5e21fad19/buildroot-external/overlay/RFD/etc/init.d/S60multimacd#L93-L96
@jens-maus - the comment there that OCI needs that is surprising as I would expect actually the opposite - a container should not touch the underlying kernel.
Did you try with subpath?
If you do a shutdown in Raspberrymatic then the POD is restarted without it being recreated. If you scale it down/up then you end with a new Pod.