fix: improvements all around

* add our own fan controller, will need more tuning with time, but it's a great start
* add restart/shutdown hooks for ulcmd, so the display shows the state of the system
* change how we expose unifi's libs to binaries
* Fixup systemd hang at boot due to networking
* move ubnthal to systemd task, since we don't load modules due to the unifi initramfs in the prebuilt kernel
This commit is contained in:
Chris Blake 2024-05-22 11:42:34 -05:00
parent 459d0a4758
commit a4f7f862c2
14 changed files with 235 additions and 27 deletions

View file

@ -0,0 +1,11 @@
[Unit]
Description=Load UBNT kernel modules
[Service]
User=root
Type=oneshot
ExecStart=/usr/sbin/modprobe ubnthal
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target

View file

@ -0,0 +1,3 @@
[Service]
ExecStart=
ExecStart=/lib/systemd/systemd-networkd-wait-online --any

View file

@ -0,0 +1,11 @@
[Unit]
Description=ulcmd reboot hook
DefaultDependencies=no
Before=reboot.target
[Service]
ExecStart=/usr/bin/ulcmd --sender system-hook --command restart
Type=oneshot
[Install]
WantedBy=reboot.target

View file

@ -0,0 +1,11 @@
[Unit]
Description=ulcmd shutdown hook
DefaultDependencies=no
Before=shutdown.target halt.target
[Service]
ExecStart=/usr/bin/ulcmd --sender system-hook --command poweroff
Type=oneshot
[Install]
WantedBy=shutdown.target halt.target

View file

@ -0,0 +1,15 @@
[Unit]
Description=Daemon for MCU based LCM control
Requires=load-ubnt-modules.service
Requires=mock-ubnt-api.service
[Service]
Type=simple
ExecStart=/usr/bin/ulcmd
KillMode=process
Restart=on-failure
RestartSec=2s
TimeoutStopSec=2s
[Install]
WantedBy=multi-user.target

View file

@ -0,0 +1,14 @@
[Unit]
Description=Fan Controller daemon for the UNVR Pro
Requires=load-ubnt-modules.service
[Service]
Type=simple
ExecStart=/usr/bin/unvr-fan-daemon
KillMode=process
Restart=on-failure
RestartSec=2s
TimeoutStopSec=2s
[Install]
WantedBy=multi-user.target