alexreinert / piVCCU

piVCCU is a project to install the original Homematic CCU3 firmware inside a virtualized container (lxc) on ARM based single board computers.
Apache License 2.0
300 stars 62 forks source link

ccu3-webui nicht mehr erreichbar #520

Closed jagiella closed 5 months ago

jagiella commented 5 months ago

Das web interface ist plötzlich nicht mehr erreichbar, auch nach einer kompletten Neuinstallation des Systems.

Ich benutze armbian (aktuell: trixie rolling release, vorher: noble rolling release) auf einem odroid c2.

$ sudo pivccu-info 
piVCCU version: 3.73.9-87
OS:             Armbian 24.5.0-trunk.89 trixie
Kernel:         6.1.63-current-meson64 aarch64
Kernel modules: Available
Raw UART dev:   Available
HMRF Hardware:  HM-MOD-RPI-PCB
 Connected via: GPIO@c11084c0.serial (/dev/raw-uart)
 Board serial:  #######
 Radio MAC:     #######
HMIP Hardware:  HM-MOD-RPI-PCB
 Connected via: GPIO@c11084c0.serial (/dev/raw-uart)
 SGTIN:         3014F711A061A7D8A99187EB
 Radio MAC:     #######
State:          RUNNING
PID:            2087
IP:             192.168.0.28
Link:           vethpivccu
 TX bytes:      48.45 KiB
 RX bytes:      552.16 KiB
 Total bytes:   600.61 KiB
$ sudo systemctl status pivccu
● pivccu.service - piVCCU
     Loaded: loaded (/usr/lib/systemd/system/pivccu.service; enabled; preset: enabled)
     Active: active (running) since Sat 2024-03-02 13:10:38 CET; 42min ago
   Main PID: 2086 (lxc-start)
      Tasks: 0 (limit: 1987)
     Memory: 3.7M (peak: 7.1M)
        CPU: 1.631s
     CGroup: /system.slice/pivccu.service
             ‣ 2086 "[lxc monitor] /var/lib/piVCCU3 lxc"

Mär 02 13:10:31 odroidc2 systemd[1]: Starting pivccu.service - piVCCU...
Mär 02 13:10:36 odroidc2 start_container.sh[1770]: cat: /sys/class/net//address: No such file or directory
Mär 02 13:10:38 odroidc2 start_container.sh[2083]: kernel.sched_rt_runtime_us = -1
Mär 02 13:10:38 odroidc2 systemd[1]: Started pivccu.service - piVCCU.
$ sudo nmcli connection show --active
NAME               UUID                                  TYPE      DEVICE 
br0                ####### bridge    br0    
bridge-slave-end0  #######  ethernet  end0   
lo                 #######  loopback  lo     
lxcbr0             #######  bridge    lxcbr0
$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute 
       valid_lft forever preferred_lft forever
2: end0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br0 state UP group default qlen 1000
    link/ether 00:1e:06:35:4a:cd brd ff:ff:ff:ff:ff:ff
3: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 02:e3:c6:9d:a2:f4 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.10/24 brd 192.168.0.255 scope global dynamic noprefixroute br0
       valid_lft 861972sec preferred_lft 861972sec
    inet6 fe80::727b:43a6:fef0:ea/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
4: lxcbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 00:16:3e:00:00:00 brd ff:ff:ff:ff:ff:ff
    inet 10.0.3.1/24 brd 10.0.3.255 scope global lxcbr0
       valid_lft forever preferred_lft forever
5: vethpivccu@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br0 state UP group default qlen 1000
    link/ether fe:03:ce:aa:65:44 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet6 fe80::fc03:ceff:feaa:6544/64 scope link proto kernel_ll 
       valid_lft forever preferred_lft forever

image

alexreinert commented 5 months ago

Wurde zufällig IPv6 auf dem Host deaktiviert?

jagiella commented 5 months ago

Ich kann die virtuelle Maschine über die IP4-Addresse anpingen:

$ ping 192.168.0.28
PING 192.168.0.28 (192.168.0.28) 56(84) bytes of data.
64 bytes from 192.168.0.28: icmp_seq=1 ttl=64 time=10.8 ms
64 bytes from 192.168.0.28: icmp_seq=2 ttl=64 time=12.3 ms
64 bytes from 192.168.0.28: icmp_seq=3 ttl=64 time=9.59 ms
64 bytes from 192.168.0.28: icmp_seq=4 ttl=64 time=10.0 ms
^C
--- 192.168.0.28 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 9.592/10.679/12.322/1.037 ms

Komisch finde ich folgende Medlung vom pivccu.service: Mär 02 13:10:36 odroidc2 start_container.sh[1770]: cat: /sys/class/net//address: No such file or directory

Der Pfad sollte doch eigentlich ein Netzwerkinterface enthalten, wie z.B. /sys/class/net/end0/address

alexreinert commented 5 months ago

Wie sieht die /etc/network/interfaces aus?

jagiella commented 5 months ago
$ cat /etc/network/interfaces
source /etc/network/interfaces.d/*
# Network is managed by Network manager
auto lo
iface lo inet loopback
alexreinert commented 5 months ago

Was bedeutet komplette Neuinstallation: Gesamtes OS oder nur piVCCU? War nach der Installation die WebUI nicht erreichbar oder erst nach Einspielen eines Backups?

alexreinert commented 5 months ago

Die Netzwerkkonfiguration ist also schonmal nicht wie in der Anleitung beschrieben.

jagiella commented 5 months ago

Ich hab das aktuelle Armbian image Armbian Trixie Minimal neugeflasht, den Kernel hab ich aber downgegraded auf 6.1.63-current-meson64 (wegen der kernel header) und pivccu installiert nach der Anleitung https://github.com/alexreinert/piVCCU/blob/master/docs/setup/armbian.md.

Das Backup konnte ich nicht installieren, weil das web-Interface schon nach der Neuinstallation nicht mehr geht.

alexreinert commented 5 months ago

Die Netzwerkkonfiguration ist also schonmal nicht wie in der Anleitung beschrieben.

Halt, mein Fehler, ist ja Armbian.

jagiella commented 5 months ago

Irgendwas scheint mit dem Start als Service nicht zu funktionieren.

Wenn ich denn Service stoppe und pivccu "händisch" per Skript starte, dann funktioniert das Webfrontend wieder.

$ sudo /var/lib/piVCCU3/start_container.sh 
<14>Mar  2 16:19:24 piVCCU3: MAIN_INTERFACE=br0
kernel.sched_rt_runtime_us = -1

image

Wenn ich dann pivccu per Skript wieder stoppe und erneut über systemd starte, bleibt das Webfrontend wieder unerreichbar.

jagiella commented 5 months ago

Ich habe den odroid nun nochmals neu aufgesetzt: Diesmal mit Armbian 24.2.1 Bookworm CLI und da funktioniert komischerweise wieder alles.

Vielleicht war in dem rolling release von armbian irgendein breaking change an anderer Stelle.