UDEV

  • Code
    KERNEL=="sda1", SYMLINK+="stick", RUN+="/home/pi/mount.py"

    Der Stick ist dan auch sda1, überprüfe ich immer mit "blkid"


    Python
    #!/usr/bin/python
    
    import os
    import sys
    
    log = "/home/pi/probe.log"
    logfile = open(log, 'a')
    logfile.write ("rspi")
    • Official Post

    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! ;)

  • 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 !

    RTFM = Read The Factory Manual, oder so

  • 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:

    Code
    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:

    Code
    Jan 11 09:14:15 raspberrypi systemd-udevd[769]: Process '/sbin/crda' failed with exit code 234.
  • 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?

  • Ich hab es abgeändert, aber es ist immer noch die Fehlermeldung:

    Code
    Jan 11 11:23:09 raspberrypi systemd-udevd[732]: Process '/home/pi/mount.py' failed with exit code 1.
  • 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


    Code
    ACTION=="add", SUBSYSTEMS=="usb", KERNEL=="sd*[0-9]", RUN+="/bin/bash /bin/usbmount.sh mount /dev/%k"
    ACTION=="remove", SUBSYSTEMS=="usb", KERNEL=="sd*", RUN+="/bin/bash /bin/usbmount.sh umount /dev/%k"
  • 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"


  • Ja hab eine Sicherung gemacht, aber ich das nicht immer so enge, denn neu geflasht ist ja schnell :D:D:D.


    Hier meine alte Datei: