Hallo, habe ein QNAP TS-251D auf dem ein Debian läuft. (Intel, HW Spec: https://www.qnap.com/en/product/ts-251d/specs/hardware) Das System nutze ich für Backups was super funktioniert. Jetzt würde ich gerne den "one-touch" Taster nutzen um ein Script zu starten ohne dass ich mich dazu auf dem System einloggen muss. Aktuell muss ich mich an dem System anmelden um entweder ein Backup auf eine externe Festplatte zu machen, oder ein Backup von Geräten zu ziehen die nicht dauerhaft an sind (Bsp. Laptop). Habe es schon mal im QNAP Forum versucht, jedoch ohne Erfolgt. Alte Beiträge welche die Buttons verwenden laufen über qcontrol (nur für ARM Systeme) oder lirc. Beides funktioniert mit meinem System nicht. Ist so etwas mit Debian überhaupt möglich? Hat jemand einen Ansatz zur Umsetzung? Komme gerade mit meinen google Begriffen nicht weiter. Eine Nachfrage im QNAP Forum (das recht tot zu sein scheint) liegt seit über 1er Woche quasi ungelesen rum...
Du hast zwei Fragen. Erstens: "Wie kann man den button unter linux einbinden?" - dazu kann ich wenig sagen, weil ich mich mit dem System nicht auskenne. Das wäre eine Frage davon, wie das angeschlossen ist und welche Treiber es dazu gibt. Wie machen's denn die ARM-Systeme? Zweitens: "Wie kann man ohne Anmelden auf einen Tastendruck hin eine Aktion ausführen?" - Dazu gibt es sicherlich geeignetere Vorschläge, sobald man mehr über den use case weiß. Aber sehr flexibel wäre folgender Pfusch: schreib ein skript, dass 59 Sekunden lang den button immer und immer wieder ausliest und dann entweder die aktion ausführt oder beendet. Starte das skript alle Minute mit einem cron job. Bonusfrage: finde eine Lösung dass nicht zwei backups parallel laufen. Stichwort: file locks.
Hubert schrieb: > oder lirc. Beides funktioniert mit meinem System nicht. lirc wäre schon ein passender Weg, nicht wegen Infrarot-Fernbedienung, sondern weil das einen einfachen Weg bietet, Scripte an Input-Events zu binden, ohne dass ein User eingeloggt sein muss. Wär aber kein Muss. Warum klappt Lirc bei dir nicht? Grobe Vorgehensweise:
1 | sudo lsinput |
2 | #oder |
3 | sudo evtest |
-> Lange Liste an Input-Devices. Such ein's raus, was sich richtig anhört, bsp. Nummer 42, /dev/input/event42 Test:
1 | sudo input-event 42 |
und dann deinen Button drücken. Wenn eine Ausgabe kommt, sollte alles fein sein. (Optional: Such das device unter /dev/input/by-{id,path}/..., die Nummer könnte sich nach einem Reboot ändern) Das zusammen in eine config für inputlircd und irexec basteln, oder eigenes Script laufen lassen, was in Endlosschleife auf dem event-device wartet, notfalls was zusammengefrickeltes in der Art
1 | evtest --grab /dev/input/event42 | grep "Dein Event Type" | while read event ; do MeinProgramm ; done |
Εrnst B. schrieb: > Grobe Vorgehensweise: > >
1 | > sudo lsinput |
2 | > #oder |
3 | > sudo evtest |
4 | > |
Hallo Ernst, Danke für den Hinweis. Habe es mit lsinput/evemu-record (scheinbar Nachfolger von evtest) versucht, leider erfolglos. Es gibt nur 7 Input-Events (2 davon Power-Button), aber keiner der Events (habe einfach alle durchprobiert) reagiert auf den one-touch Button. Das würde für mich heißen das dieser nicht erkannt wurde/ein Treiber fehlt (weil evtl. proprietär von Qnap angebunden?). Habe ich hier noch eine Chance irgendwie weiter zu kommen?
Hubert schrieb: > Habe ich hier noch eine Chance irgendwie weiter zu kommen? Ohne die Hardware zu kennen schwer zu sagen. Ich würde damit anfangen versuchen herauszufinden, wie der Button angebunden ist. Also lspci, lsusb, etc, Suche im sysfs nach GPIO's die evtl. exportiert oder an den "gpio-keys"-Kerneltreiber übergeben werden können.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.