- Offizieller Beitrag
Zeig uns doch nun bitte mal sowohl Deine Komplette UDEV-Regel als auch Inhalt des Scripts!
Ich will hier nich auch noch einen Glaskugelspruch bringen...
Zeig uns doch nun bitte mal sowohl Deine Komplette UDEV-Regel als auch Inhalt des Scripts!
Ich will hier nich auch noch einen Glaskugelspruch bringen...
UDEV? Schau mal ob du hier fündig wirst!
import os
import sys
log = "/home/pi/probe.log"
logfile = open(log, 'a')
logfile.write ("rspi")
Wieso importierst du zwei Module und nutzt sie dann nicht? Wieso schließt du das Dateiobjekt nicht ordnungsgemäß? Und überhaupt - was ist der Sinn dieses Scripts?
das ist nur Probe, ob das mit dem UDEV überhaupt funzt.
Hast Du Dir meinen Link mal angesehen?
BTW: Mit lsusblässt Du Dir die Geräte anzeigen. Dort sollte in einer der Zeilen Dein USB-Stick auftauchen. z.B. wie im Link Bus 005 Device 036: ID 04b4:6830 Cypress Semiconductor Corp. USB-2.0 IDE Adapter.
Jetzt hast Du die Zahl von Bus (in dem Fall 005) und die Zahl von Device (hier 036), getrennt durch einen Doppelpunkt, um bei dem Beispiel zu bleiben, wäre das dann so 005:036.
Damit erstellst Du bitte folgenden Befehl: sudo lsusb -vs 005:036 005:036 musst Du natürlich mit Deinem Ergebnis anpassen. Damit kannst Du die erforderlichen Infos auslesen, u.a. die ID, die Du in dener UDEV-Regel brauchst.
Wenn Du damit und dem Link nicht weiter kommst, dann (be)schreibe bitte detailiert was Du wie gemacht hast!
Genau das weiß ich, hab es über Ubuntu udev wiki (dein Link) mir angeschaut.
Meine Frage ist nur, warum das Script nicht startet.
Hast Du das Script auch ausführbar gemacht? Startet es mit ./mount.py wenn Du im Verzeichnis /home/pi bist? Und hast Du testweise UDEV zwischendurch mal neu gestartet mit sudo reload udev?
Meine Frage ist nur, warum das Script nicht startet.
Und Du meinst, wir können in Deine Logfiles reinschauen ?
Ich kann nur raten: Rechtefehler, Regelfehler (ein USB-Device braucht ein USB-Subsystem), Tippfehler, falscher Ort, falscher Filename ... (nicht vollständig).
Servus !
So ich hab die Rechte alle auf 777 zum Testen. Das mit ./mount.py in der Console funktioniert auch.
Hier der Log, wenn ich den Stick einstecke:
Jan 11 09:07:56 raspberrypi systemd-udevd[708]: Process '/home/pi/mont.py' failed with exit code 1.
Jan 11 09:07:57 raspberrypi kernel: [ 52.541432] EXT4-fs (sda1): recovery complete
Jan 11 09:07:57 raspberrypi kernel: [ 52.541461] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)
Jan 11 09:07:57 raspberrypi udisksd[644]: Mounted /dev/sda1 at /media/pi/cff8e52e-96fb-43a4-98d9-a898b28694142 on behalf of uid 1000
"sudo reload udev" funktioniert auch nicht, da bekomme ich in der Console immer die Meldung: "sudo: reload: Befehl nicht gefunden".
Und bei dem Befehl "sudo udevadm trigger" kommt der Log:
Jan 11 09:07:56 raspberrypi systemd-udevd[708]: Process '/home/pi/mont.py' failed with exit code 1.
1. Das ist ne Fehlermeldung
2. Vergleich oberes mit unterem Zitat:
Das mit ./mount.py in der Console funktioniert auch.
Ergebnis, 2 unterschiedliche Dateinamen.
3. Wie sieht mount.py aktuell aus?
3. Wie sieht mount.py aktuell aus?
Es wurde weiter oben schon mal erwähnt, du schließt die Datei nicht. Bitte in dem Python Skript ergänzen.
Dann nochmals von vorne,
wo speicherst du die udev regel und wie sieht das komplett aus?
Auszug von mir: :/etc/udev/rules.d/90-usbautomount.rules
pass KERNEL mal an in KERNEL=="sd*[0-9]"
und lt.ubutuusers.de gehören eigene Regeln hier gespeichert: /etc/udev/rules.d/
Alles angepasst, trotzdem nichts.
Ich werde es aufgeben denke ich mal.
Jetzt hab ich es hinbekommen. Es lag an der "systemd-udevd.service".
Die hab ich wie folgt laut Anleitung im Netz verändert:
"sudo nano /lib/systemd/system/systemd-udevd.service"
[Unit]
Description=udev Kernel Device Manager
Documentation=man:systemd-udevd.service(8) man:udev(7)
DefaultDependencies=no
Wants=systemd-udevd-control.socket systemd-udevd-kernel.socket
After=systemd-udevd-control.socket systemd-udevd-kernel.socket systemd-sysusers.service
Before=sysinit.target
ConditionPathIsReadWrite=/sys
[Service]
Type=notify
OOMScoreAdjust=-1000
Sockets=systemd-udevd-control.socket systemd-udevd-kernel.socket
Restart=always
RestartSec=0
ExecStart=/lib/systemd/systemd-udevd
#KillMode=mixed
#WatchdogSec=3min
#TasksMax=infinity
#MountFlags=slave
#MemoryDenyWriteExecute=yes
#RestrictRealtime=yes
#RestrictAddressFamilies=AF_UNIX AF_NETLINK AF_INET AF_INET6
Alles anzeigen
Wo sind die Unteschiede? Kannst du das Orginal bitte noch als Vergleich oben hinzufügen. Du wirst ja bestimmt davor ne Sicherung der Datei erstellt haben
Ja hab eine Sicherung gemacht, aber ich das nicht immer so enge, denn neu geflasht ist ja schnell .
Hier meine alte Datei:
[Unit]
Description=udev Kernel Device Manager
Documentation=man:systemd-udevd.service(8) man:udev(7)
DefaultDependencies=no
Wants=systemd-udevd-control.socket systemd-udevd-kernel.socket
After=systemd-udevd-control.socket systemd-udevd-kernel.socket systemd-sysusers.service
Before=sysinit.target
ConditionPathIsReadWrite=/sys
[Service]
Type=notify
OOMScoreAdjust=-1000
Sockets=systemd-udevd-control.socket systemd-udevd-kernel.socket
Restart=always
RestartSec=0
ExecStart=/lib/systemd/systemd-udevd
KillMode=mixed
WatchdogSec=3min
TasksMax=infinity
MountFlags=slave
MemoryDenyWriteExecute=yes
RestrictRealtime=yes
RestrictAddressFamilies=AF_UNIX AF_NETLINK AF_INET AF_INET6
Alles anzeigen
Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!