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

  1. Use a linux host for k3s
  2. Install pivccu-modules-dkms on the host
  3. Connect HMIP-RFUSB to the host
  4. Install Helm chart of RaspberryMatic -> privileged true
  5. 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

Most upvoted comments

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:

  1. decide method to detect OCI: https://github.com/jens-maus/RaspberryMatic/issues/1678#issuecomment-1022634220
  2. avoid module load/unload for OCI
  3. document k3s in the how to setup wiki

@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.