Steuerung des Software Defined Switch der FWA-1012VC-4CA1S per Software unter FreeBSD

Aus Thomas-Krenn-Wiki
Zur Navigation springen Zur Suche springen

Bei dem FWA-1012VC-4CA1S besteht die Möglichkeit softwareseitig den Software Defined Switch (auf der Rückseite des Gerätes) zu steuern.

Damit können Betriebszustände, Dienste und auch eventuell Alarmierungen zusätzlich getriggert werden.

In diesem Artikel zeigen wir, wie Sie diesen Switch unter OPNsense/FreeBSD ansteuern.


Anschlüsse der FWA-1012VC-4CA1S

Setup des Systems

Folgende Komponenten wurden für den Testaufbau verwendet:

  • FWA-1012VC-4CA1S
  • OPNsense 24.7.10_2 FreeBSD 14.1-RELEASE-p6 stable/24.7 SMP amd64

devd stoppen

Den Dev Daemon vorübergehend stoppen.

service devd stop
devd vorübergehend stoppen

devd im Debug Modus starten

Nun wird der devd Deamon im Debug Modus gestartet.

devd -d -n

ACPI Event erkennen

Jetzt den Button drücken, wird via ACPI Event erkannt, hieraus kann dann das event codeseitig gebaut werden:

acpi button event

Eventsteuerung einrichten

Jetzt wird die Eventsteuerung eingerichtet. Erstellen Sie die Datei /etc/devd/sd-button.conf mit einem Editor Ihrer Wahl:

notify 10 {
    match "system" "ACPI";
    match "subsystem" "Button";
    match "type" "\\_SB_.SLPB";
    action "/usr/local/bin/sd-button.sh";
};

Hinweis: Bitte beachten Sie, dass der Backslash (\) in der Regel doppelt geschrieben werden muss (\\), um ihn hier korrekt zu escapen.

Aktion festlegen

Jetzt wird die Aktion festgelegt. Erstellen Sie dazu die Datei /usr/local/bin/sd-button.sh:

#!/bin/sh
echo "SD Switch pressed!"
/sbin/shutdown -p now

Datei ausführbar machen:

 chmod +x /usr/local/bin/sd-button.sh 

devd wieder restarten

Nachdem das Event eingepflegt wurde muss der devd wieder gestartet werden:

$ service devd restart

Testen des Buttons

Wenn der Button gedrückt wird, kann bereits jetzt das ACPI Event verarbeitet werden. In diesem Fall: Shutdown des Systems.


* Über den oben abgebildeten Code können jetzt beliebige Aktionen bei Drücken des Buttons gefahren werden.


Autor: Wilfried Seifert

Wilfried Seifert, tätig in der Abteilung Systems Engineering bei Thomas-Krenn, ist in seinem Arbeitsbereich für die System-/Prototypenentwicklung sowie Softwaredeployment / Rollout zuständig. LPIC 3 zertifiziert, beschäftigt sich u.a. mit Aufbau / Programmierung Embedded Systemen.


Das könnte Sie auch interessieren

Advantech Software Defined Switch konfigurieren unter FreeBSD und OPNsense
LES plus v2 RS485 konfigurieren
Softwareseitige Front LED Steuerung mit Thomas-Krenn Edge 4L