jens-maus / RaspberryMatic

:house: A feature-rich but lightweight, buildroot-based Linux operating system alternative for your CloudFree CCU3/ELV-Charly 'homematicIP CCU' IoT smarthome central. Running as a pure virtual appliance (ProxmoxVE, Home Assistant, LXC, Docker/OCI, Kubernetes/K8s, etc.) on a dedicated embedded device (RaspberryPi, etc.) or generic x86/ARM hardware.
https://raspberrymatic.de
Apache License 2.0
1.53k stars 187 forks source link

HmIP-RFUSB wird nicht erkannt unter Proxmox/LXC #2730

Closed Cubikon closed 5 months ago

Cubikon commented 5 months ago

Describe the issue you are experiencing

Ich habe RaspberryMatic auf Proxmox als Lxc Container mithilfe des install-proxmox.sh Skripts installiert. Das Funkmodul wird nicht erkannt, beim Booten meldet er: Identifying Homematic RF-Hardware: HmRF: n/a, HmIP: n/a, OK Updating Homematic RF-Hardware: HMIP-RFUSB: =>4.4.18, ERROR ( != 4.4.18)

Eingebunden ist er aber: Bus 001 Device 002: ID 1b1f:c020 wird unter lsusb angezeigt

Mit allen aktuell verfügbaren Versionen aus dem Script getestet: 3.75.7 release, 3.75.6 release, 3.75.7 snapshot

Dann habe ich es mit dem gleichen Script als VM aufgesetzt und der Stick wird sofort erkannt. Muss man sonst noch was einstellen oder installieren, was das Skript nicht durchführt ?

Describe the behavior you expected

Das auch als Lxc Container der Stick erkannt wird

Steps to reproduce the issue

Auf Proxmox 8.2.2 wget -qO - https://raspberrymatic.de/install-proxmox.sh | bash - ausführen Als Lxc Container installieren Dann starten Stick wird nicht erkannt

Gleiches als VM installieren Starten Stick wird erkannt

What is the version this bug report is based on?

3.75.7.20240420

Which base platform are you running?

lxc_amd64 (Linux Container Infrastructure, AMD64/x86_64)

Which HomeMatic/homematicIP radio module are you using?

HmIP-RFUSB

Anything in the logs that might be useful for us?

Identifying host system: AZW MINI S (lxc), OK
Initializing RTC Clock: no hardware found
Running sysctl: OK
Checking for Factory Reset: not required
Checking for Backup Restore: not required
Running seedrng: OK
Initializing System: OK
Setup ca-certificates: OK
Starting logging: OK
Init onboard LEDs: init, OK
Starting iptables: OK
Starting network: eth0: link up, dhcp, firewall, inet up, 192.168.2.69, OK
Identifying Homematic RF-Hardware: HmRF: n/a, HmIP: n/a, OK
Updating Homematic RF-Hardware: HMIP-RFUSB: =>4.4.18, ERROR ( != 4.4.18)
Starting hs485dLoader: disabled
Starting xinetd: OK
Starting eq3configd: OK
Starting lighttpd: creating new SSL cert... OK
Starting ser2net: disabled
Starting ssdpd: OK
Starting NUT services: disabled
Initializing Third-Party Addons: OK
Starting LGWFirmwareUpdate: ...OK
Setting LAN Gateway keys: OK
Starting hs485d: disabled
Starting multimacd: not required
Starting rfd: no BidCos-RF hardware found
Starting HMIPServer: ...OK
Starting ReGaHss: .OK
Starting CloudMatic: OK
Starting NeoServer: OK
Starting Third-Party Addons: OK
Starting crond: OK
Setup onboard LEDs: booted, OK
Finished Boot: 3.75.7.20240420 (raspmatic_lxc_amd64)

Additional information

No response

jens-maus commented 5 months ago

Auch das wird das "übliche" Problem wie z.B. bei der Docker-Variante sein: Der generic_raw_uart kernel treiber wird im Hostsystem (im Proxmox 8.2 System) selbst nicht sauber geladen oder kompiliert sein bzw. mit dem Kernel 6.8 von Proxmox 8.2 ggf. irgendwelche Probleme haben. Daher erst einmal im Hostsystem schauen ob dort das generic_raw_uart kernel modul sauber geladen ist und dmesg ggf. irgendwelche zusatzinfos ausgibt wo das Problem liegen könnte.

Cubikon commented 5 months ago

Danke für die schnelle Rückmeldung

[dmesg.txt](https://github.com/jens-maus/RaspberryMatic/files/15209400/dmesg.txt)

Und wie seh ich, ob das generic_raw_uart modul richtig läuft ?

jens-maus commented 5 months ago

Und wie seh ich, ob das generic_raw_uart modul richtig läuft ?

Also offensichtlich ist das kernel modul gar nicht geladen worden!??! Man sieht das zumindest gar nicht in der ausgabe von dmesg bei dir. Hast du denn überhaupt nach dem install-promox.sh ausführen deinen Proxmox Host komplett neugestartet wie das da auch bei der ausführung dann am schluss angeraten wird?

Cubikon commented 5 months ago

Hab jetzt nochmal die Kernel module deinstalliert und neu installiert und dann kommen diese Fehler: Preconfiguring packages ... Selecting previously unselected package pivccu-modules-dkms. (Reading database ... 78588 files and directories currently installed.) Preparing to unpack .../pivccu-modules-dkms_1.0.84_all.deb ... Unpacking pivccu-modules-dkms (1.0.84) ... Setting up pivccu-modules-dkms (1.0.84) ... Create kernel modules ... FAILED Check kernel headers ... Done Prepare kernel headers ... Done Install DKMS package ... FAILED Sign command: /lib/modules/6.8.4-2-pve/build/scripts/sign-file Signing key: /var/lib/dkms/mok.key Public certificate (MOK): /var/lib/dkms/mok.pub Creating symlink /var/lib/dkms/pivccu/1.0.84/source -> /usr/src/pivccu-1.0.84

Building module: Cleaning build area... make -j4 KERNELRELEASE=6.8.4-2-pve ARCH=x86 all...(bad exit status: 2) Error! Bad return status for module build on kernel: 6.8.4-2-pve (x86_64) Consult /var/lib/dkms/pivccu/1.0.84/build/make.log for more information. Enable DKMS service ... Done Redundant argument in sprintf at /usr/share/perl5/Debconf/Element/Noninteractive/Error.pm line 54, line 3. Configuring pivccu-modules-dkms

WARNING: A reboot is required to enable the modules.

Job for pivccu-dkms.service failed because the control process exited with error code. See "systemctl status pivccu-dkms.service" and "journalctl -xeu pivccu-dkms.service" for details. [ERROR] 1@592: Unknown failure occured. root@home:~# systemctl status pivccu-dkms.service × pivccu-dkms.service - piVCCU DKMS Modules Loaded: loaded (/lib/systemd/system/pivccu-dkms.service; enabled; preset: enabled) Active: failed (Result: exit-code) since Sat 2024-05-04 14:43:06 CEST; 47s ago Process: 2297 ExecStart=/var/lib/piVCCU/dkms/ensure_modules.sh (code=exited, status=1/FAILURE) Main PID: 2297 (code=exited, status=1/FAILURE) CPU: 546ms

May 04 14:43:06 home ensure_modules.sh[2297]: Public certificate (MOK): /var/lib/dkms/mok.pub May 04 14:43:06 home ensure_modules.sh[2297]: Creating symlink /var/lib/dkms/pivccu/1.0.84/source -> /usr/src/pivccu-1.0.84 May 04 14:43:06 home ensure_modules.sh[2297]: Building module: May 04 14:43:06 home ensure_modules.sh[2297]: Cleaning build area... May 04 14:43:06 home ensure_modules.sh[2297]: make -j4 KERNELRELEASE=6.8.4-2-pve ARCH=x86 all...(bad exit status: 2) May 04 14:43:06 home ensure_modules.sh[2297]: Error! Bad return status for module build on kernel: 6.8.4-2-pve (x86_64) May 04 14:43:06 home ensure_modules.sh[2297]: Consult /var/lib/dkms/pivccu/1.0.84/build/make.log for more information. May 04 14:43:06 home systemd[1]: pivccu-dkms.service: Main process exited, code=exited, status=1/FAILURE May 04 14:43:06 home systemd[1]: pivccu-dkms.service: Failed with result 'exit-code'. May 04 14:43:06 home systemd[1]: Failed to start pivccu-dkms.service - piVCCU DKMS Modules.

May 04 14:43:06 home ensure_modules.sh[2297]: Install DKMS package ... FAILED May 04 14:43:06 home ensure_modules.sh[2297]: /usr/sbin/dkms: line 2497: echo: write error: Broken pipe May 04 14:43:06 home ensure_modules.sh[2297]: Sign command: /lib/modules/6.8.4-2-pve/build/scripts/sign-file May 04 14:43:06 home ensure_modules.sh[2297]: Signing key: /var/lib/dkms/mok.key May 04 14:43:06 home ensure_modules.sh[2297]: Public certificate (MOK): /var/lib/dkms/mok.pub May 04 14:43:06 home ensure_modules.sh[2297]: Creating symlink /var/lib/dkms/pivccu/1.0.84/source -> /usr/src/pivccu-1.0.84 May 04 14:43:06 home ensure_modules.sh[2297]: Building module: May 04 14:43:06 home ensure_modules.sh[2297]: Cleaning build area... May 04 14:43:06 home ensure_modules.sh[2297]: make -j4 KERNELRELEASE=6.8.4-2-pve ARCH=x86 all...(bad exit status: 2) May 04 14:43:06 home ensure_modules.sh[2297]: Error! Bad return status for module build on kernel: 6.8.4-2-pve (x86_64) May 04 14:43:06 home ensure_modules.sh[2297]: Consult /var/lib/dkms/pivccu/1.0.84/build/make.log for more information. May 04 14:43:06 home systemd[1]: pivccu-dkms.service: Main process exited, code=exited, status=1/FAILURE ░░ Subject: Unit process exited ░░ Defined-By: systemd ░░ Support: https://www.debian.org/support ░░ ░░ An ExecStart= process belonging to unit pivccu-dkms.service has exited. ░░ ░░ The process' exit code is 'exited' and its exit status is 1. May 04 14:43:06 home systemd[1]: pivccu-dkms.service: Failed with result 'exit-code'. ░░ Subject: Unit failed ░░ Defined-By: systemd ░░ Support: https://www.debian.org/support ░░ ░░ The unit pivccu-dkms.service has entered the 'failed' state with result 'exit-code'. May 04 14:43:06 home systemd[1]: Failed to start pivccu-dkms.service - piVCCU DKMS Modules. ░░ Subject: A start job for unit pivccu-dkms.service has failed ░░ Defined-By: systemd ░░ Support: https://www.debian.org/support ░░ ░░ A start job for unit pivccu-dkms.service has finished with a failure. ░░ ░░ The job identifier is 648 and the job result is failed.

Das hab ich beim ersten mal wohl einfach wegedrückt und nochmal probiert und ab dann wird beim prüfen gesagt, es wäre alles installiert

Baxxy13 commented 5 months ago

Hilft zwar nicht, aber Alex rät davon ab LXC unter Proxmox zu nutzen. https://homematic-forum.de/forum/viewtopic.php?f=65&t=81735&p=798096&hilit=Lxc+proxmox#p798093

jens-maus commented 5 months ago

Das sind halt genau die Dinge die eine LXC bzw. Docker Installation von RaspberryMatic für Otto-Normal-Nutzer so schwierig machen und auch mitunter probleme mit sich bringen können bei zukünftigen Kernel Updates des Hostsystems (hier Proxmox). Da Verhält sich das mit Proxmox nicht anders als bei einem anderen Linux wo man via LXC oder Docker ein RaspberryMatic umsetzen will. Genauso treten diese Art der Kernel-Modul Problematik z.B. auch bei piVCCU und debmatic hier+da auf, je nachdem welches OS man da im Hintergrund nutzt.

Ergo, das Problem/Issue ist jedoch kein grundsätzlicher Bug in/von RaspberryMatic, sondern eine Problematik der DKMS Kernelmodul kompilierung auf solchen Systemen wo es mit den Kernel Headers solche clashes gibt die dann zu solchen Problemen führen. Es liegt also mehr an Proxmox aktuell (denn jetzt gibts ja kernel 6.8 und vmtl. passen da die kernel header wieder nicht ganz zum kernel bzw. dkms mag da irgendwas nicht.

Ich schieb das "Problem" auf jeden fall mal in den Diskussionsbereich wo es eher hingehört.

Und ja, man macht sich das leben viel einfacher wenn man RaspberryMatic als VM betreibt und nicht als LXC/CT Container, vor allem wenn man wie hier sich selbst nicht zu helfen weiss. Genau deshalb gibt es ja auch den fetten Hinweis zur Installation eines LXC/CT Containers (siehe https://github.com/jens-maus/RaspberryMatic/wiki/Installation-LXC#hinweis)