USB Serial Gerät richtig konfigurieren (udev): Z-Wave USB Stick für Domoticz/Docker

burnersk

Benutzer
Mitglied seit
15. Nov 2017
Beiträge
2
Punkte für Reaktionen
0
Punkte
1
Ich möchte auf meiner DiskStation DS918+ mein Z-Wave Hausautomationsnetzwerk mittels Domoticz steuern. Zuvor habe ich schon das Domoticz-DSM-Paket ausprobiert; jedoch sorgte dies schnell dafür, dass die Root-Partition mit Protokollinformationen vollgeschrieben wurde und die DiskStation mittels Hard-Reset zurückgesetzt werden musste (kein Einloggen mehr möglich über Web/SSH/Telnet).

Nun möchte ich Domoticz über das Docker-DSM-Paket nutzen, damit die Protokollinformationen "auf dem Storage" landen und nicht auf der (zu) kleinen DSM-Systempartition.

Mein Problem ist jetzt, dass ich nach jedem DSM-Neustart mich per SSH auf der DiskStation einloggen muss und die Rechte der seriellen Schnittstelle /dev/ttyACM0 manuell setzen. Dies möchte ich automatisieren bzw. unnötig machen.

Dazu habe ich eine udef-Regel angedacht; leider funktioniert diese Regel nur nicht.

Auf meiner DiskStation mit DSM Version 6.2.2 gibt es kein /etc/udev/rules.d, aber ein /lib/udev/rules.d/ mit einigen udev-Regeln. Hier habe ich auch meine udev-Regel hinterlegt:
Rich (BBCode):
-rwxr-xr-x 1 root root  116 Nov 11 10:05 99-zwave.rules
Der Inhalt sieht wie folgt aus:
Rich (BBCode):
SUBSYSTEM="tty", ATTRS{idVendor}=="0658", ATTRS{idProduct}=="0200", MODE="0660", GROUP="Domoticz", SYMLINK+="ZWave"

Die ID-Werte habe ich aus dem Infocenter der DSM-Systemsteuerung:
Rich (BBCode):
Aeotec Z-Stick Gen5 (ZW090) - UZB - Sigma Designs, Inc. VID:0658 PID:0200 REV:0.00
udevadm sieht die Schnittstelle auch:
Rich (BBCode):
$udevadm info -q path -n /dev/ttyACM0
/devices/pci0000:00/0000:00:15.0/usb1/1-1/1-1.1/1-1.1:1.0/tty/ttyACM0

Jedoch sind die Rechte von /tty/ttyACM0 immer noch "nur-Root" (-rwx------ root root) sowohl nach einem Neustart als auch über
Rich (BBCode):
udevadm control --reload-rules && udevadm trigger
Das ZWave-Device wurde nicht "angelegt" (Symlink).

Später ist mir auch noch aufgefallen, dass die anderen udev-Regeln anders aussehen, als wie ich udev kenne:
Rich (BBCode):
# author: ANT
# only handle usb-wifi dongle
 
ENV{SUBSYSTEM}!="usb", GOTO="wifi_end"
ACTION!="add|remove", GOTO="wifi_end"
ENV{SYNO_USB_DRIVER}=="", GOTO="wifi_end"
ENV{SYNO_USB_DEVICE}!="WIFI", GOTO="wifi_end"
ENV{INTERFACE}=="", GOTO="wifi_end"
ENV{SYNO_SUPPORT_DUALHEAD}=="yes", GOTO="wifi_end"
ENV{SYNO_BLOCK_OPTIONAL_USB}=="yes", GOTO="wifi_end"
 
ACTION=="add", RUN+="/lib/udev/script/usb-wifi-util.sh plug-in"
ACTION=="remove", RUN+="/lib/udev/script/usb-wifi-util.sh plug-out"
 
LABEL="wifi_end"

Was muss ich machen, damit das Standard-Device die Rechte 0660 und root Domoticz bekommt und zusätzlich ein Symlink angelegt wird (/dev/ZWave) mit den gleichen Rechten?
 

Schmello

Benutzer
Mitglied seit
30. Jan 2018
Beiträge
61
Punkte für Reaktionen
0
Punkte
6
Bist du mit dem Thema weiter gekommen? Stehe vor der gleichen Situation.
Wie hast du eine neue Udev Datei /lib/udev/rules.d/ angelegt? Wenn ich mich über WinSCP einlogge habe ich keine rechte als Admin dort eine neue Datei zu erstellen.
 

SMHRambo

Benutzer
Mitglied seit
27. Dez 2020
Beiträge
1
Punkte für Reaktionen
0
Punkte
1
Ich weiss dieser Thread ist schon etwas älter, aber hier gibt es anscheinen mehrere Leidensgenossen

@Schmello Ich bin zwar neu hier und ich weiss nicht ob du es schon selber herausgefunden hast,
aber wenn du dich über SSH mit dem Admin-Konto anmeldest bist du noch kein root User,
du musst dich erst mit "sudo su -" zum root-User machen damit root-Rechte hast.
Dementsprechen hast du bei der normalen Anmeldung über winscp keine Rechte in dieses Verzeichnis zu schreiben,
leider weiss ich nicht ob winscp die Option bietet "sudo su -" nach der Anmeldung auszuführen.

@burnersk Ich versuche seit 2 Tagen eine udev Rule zum laufen zu bekommen,
deshalb wollte ich mal fragen ob du weiter gekommen bist.
Mein Szenario ist, dass beim Anschliessen einer USB-HDD ein Backup mit Borgmatic angestoßen werden soll.
Borgmatic ist konfiguriert, der Backupscript läuft und gibt Statusmeldungen an das UI der DiskStation weiter, nur das triggern der udev Rule klappt nicht. Die Rule wird von udevadm erkannt, da "udevadm test --action=add /sys/block/sdu/" mir ausgibt das meine Rule getriggert werden würde.
Die Rechte der Rule und Script Datein sind genauso wie bei denen von Synology, trotzdem passiert nicht.
Es sieht fast danach aus als ob udev deaktiviert ist.
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat