[erledigt] Festen Mount point für USB cardreader

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
TomL

Re: [SHELL] Festen Mount point für USB cardreader

Beitrag von TomL » 18.04.2016 23:50:26

Dann stimmt was mit dem Filter nicht. Wie ist die Ausgabe von myfork.log? Wird das Device übergeben? Wenn nicht, entferne auch mal den Serial-Filter aus der Regel. Wenn das nicht reicht, kann auch der USB-Filter falsch sein. Also im zweiten Versuch auch den entfernen.

NAB
Beiträge: 5501
Registriert: 06.03.2011 16:02:23
Lizenz eigener Beiträge: MIT Lizenz

Re: [SHELL] Festen Mount point für USB cardreader

Beitrag von NAB » 18.04.2016 23:56:28

Ich weiß nicht, ob SUBSYSTEMS=="usb" hier greift, aber schöner wär das, weil es auf's USB-System einschränkt -> ausprobieren.

Und KERNEL=="sd??" hat bei mir mal nicht funktioniert (schon Jahre her) obwohl es das tun sollte -> ausprobieren.

Aber ENV{ID_SERIAL_SHORT}=="000000000039" sieht irgendwie richtiger aus (wo auch immer TomL das her hat ;-) )

Eomer, du kannst mit einer einfachen Regel anfangen, z.B.:

ACTION=="add", ENV{ID_SERIAL_SHORT}=="000000000039", RUN+="...

Und die dann langsam ausbauen und einschränken.

Geht "beep" bei dir? Ich hänge gerne ein RUN+="/usr/bin/beep" an ... dann hört man gleich, ob die Regel feuert.
Never change a broken system. It could be worse afterwards.

"No computer system can be absolutely secure." Intel Document Number: 336983-001

Eomer
Beiträge: 63
Registriert: 27.04.2012 23:24:51

Re: [SHELL] Festen Mount point für USB cardreader

Beitrag von Eomer » 18.04.2016 23:57:26

Also myform.log sagt:

Code: Alles auswählen

Mo 18. Apr 23:16:27 CEST 2016
Versuche: /bin/mount  /media/cardreader -o rw
Jetzt noch ein paar Laienhafte Fragen:
Ich hatte am Anfang (bevor ich hier gepostet habe), noch eine andere Fehlermeldung:

Code: Alles auswählen

"failed to execute /lib/udev/mtp-probe"
Und habe dann "libmtp-runtime" installiert, was den Fehler behoben hat.
Kann es noch an anderen Dingen liegen? Das es Rasbian ist? Das irgendein Paket fehlt?



Ich editiere den beitrag sobald ich deine versuche durhcgeführt habe.

Versuch 1:

Code: Alles auswählen

ACTION=="add", ENV{ID_SERIAL_SHORT}=="000000000039", RUN+="/bin/bash /opt/bin/myfork.sh /dev/%k"

Mo 18. Apr 23:16:27 CEST 2016
Versuche: /bin/mount  /media/cardreader -o rw

Versuch 2:

Code: Alles auswählen

SUBSYSTEM=="usb", ACTION=="add", RUN+="/bin/bash /opt/bin/myfork.sh /dev/%k"
Klappt!
:) :) :) :) Schon mal ein erstes sehr gutes Zeichen!!! (oder? :D)

Versuch 3:

Code: Alles auswählen

SUBSYSTEM=="usb", ACTION=="add", ENV{ID_SERIAL_SHORT}=="000000000039",  RUN+="/bin/bash /opt/bin/myfork.sh /dev/%k"
Nein, nur mit "Model" auch nicht.
Zuletzt geändert von Eomer am 19.04.2016 00:20:15, insgesamt 1-mal geändert.

NAB
Beiträge: 5501
Registriert: 06.03.2011 16:02:23
Lizenz eigener Beiträge: MIT Lizenz

Re: [SHELL] Festen Mount point für USB cardreader

Beitrag von NAB » 19.04.2016 00:14:42

Eomer hat geschrieben: Mountet fröhlich wohin er will.
Eomer, mal so grundsätzlich:
Du brauchst erst mal eine Udev-Regel, die deinen Cardreader zuverlässig erkennt, und dann entweder den aktuellen Namen des Gerätes an das Script übergibt, oder einen zuverlässigen Gerätenamen anlegt.

Da Ersteres aus unbekannten Gründen nicht zu funktionieren scheint, würde ich auf Zweiteres schielen. Das erreichst du mit dem SYMLINK+="cfrdr%n"

Du müsstest also beim Experimentieren immer gucken, ob du mit "ls /dev/cfrdr*" was entdeckst.

Danach können wir uns um's Mounten kümmern ... bisher mountet er so, wie er will. Du hast also ein Automount am Laufen.

Das Script von TomL hat meiner Meinung nach die Macke, dass es gar nichts gegen das Automounten tut. Wenn der Automounter schneller war, steigt sein Script einfach aus. Das kann man natürlich ändern, aber bis jetzt scheitert sein Script schon daran, dass das Device %k nicht übergeben wird ... womit wir wieder beim Problem oben sind, du brauchst erst eine funktionierende Udev-Regel.

Ob sie funktioniert, siehst du per "ls /dev/cfrdr*" oder in /tmp/myfork.log und nicht daran, wohin er mountet! So weit sind wir noch nicht.
Never change a broken system. It could be worse afterwards.

"No computer system can be absolutely secure." Intel Document Number: 336983-001

Eomer
Beiträge: 63
Registriert: 27.04.2012 23:24:51

Re: [SHELL] Festen Mount point für USB cardreader

Beitrag von Eomer » 19.04.2016 00:24:11

Vielen Dank für die Aufklärung. Okay, da ist wohl noch etwas Nachholbedarf bei mir :|

Ich habe jetzt folgende Regel genutzt:

Code: Alles auswählen

SUBSYSTEM=="usb", ACTION=="add", RUN+="/bin/bash /opt/bin/myfork.sh /dev/%k", SYMLINK+="cfrdr%n", OPTIONS+="all_partitions"

Code: Alles auswählen

pi@raspberrypi:/dev $ ls /dev/cfrdr*
/dev/cfrdr5
spuckt auch etwas aus.

Code: Alles auswählen

Tue Apr 19 00:21:37 CEST 2016
Versuche: /bin/mount /dev/1-1.5 /media/cardreader -o rw
Das sagt myfork.

Sobald ich eine weitere Variable wie Seriennummer hinzufüge findet er nichts mehr mit ls /dev/cfrdr*.
Puh, viel ausprobiert...nichts geklappt. ls /dev/cfrdr* gibt nichts aus.

Habe eben auch einen anderen Cardreader angeschlossen --> same result

Reicht für heute.

Unabhängig vom Erfolg danke ich euch ganz herzlich, dass Ihr euch die Zeit genommen habt. Das ist echt nicht selbstverständlich und das weiß ich :THX:

Morgen mache ich weiter :D

LG

NAB
Beiträge: 5501
Registriert: 06.03.2011 16:02:23
Lizenz eigener Beiträge: MIT Lizenz

Re: [SHELL] Festen Mount point für USB cardreader

Beitrag von NAB » 19.04.2016 01:01:52

Also der Fortschritt ist, dass er endlich mal ein %k übergibt! Das geht also doch.

Das Problem ist, dass "1-1.5" völlig sinnlos aussieht ... das dürfte von einem nackten USB-Anschluss stammen.

Die Regel ist im Moment derart allgemein, dass sie auf sonstwas zutreffen kann ... das dürfte nicht mal ein Block-Gerät sein. Mit

Code: Alles auswählen

ls -la /dev/cfrdr*
kriegst du raus, auf welches Gerät der Link überhaupt zeigt.

Ich hab grad noch das hier gefunden:
https://wiki.ubuntuusers.de/udev/
Das ist etwas moderner als die Anleitung aus meinem ersten Link.
Insbesondere der Teil über udevadm ... da kriegst du heraus, welche Attribute auf deinen Cardreader zutreffen.

Ich hab halt keine Ahnung, wie Cardreader überhaupt bei Udev einzuordnen sind ... erst mal sind es USB-Geräte, wie eine Maus, dann sind es Wechseldatengeräte, wie ein DVD-Laufwerk, und erst wenn eine Karte drin steckt, dann sind sie ein Datenspeichergerät, ähnlich einem USB-Stick. Das sind bei Udev drei unterschiedliche Ebenen der Geräteerkennung. Darum ist es auch nicht ganz so einfach wie bei einem USB-Stick.
Never change a broken system. It could be worse afterwards.

"No computer system can be absolutely secure." Intel Document Number: 336983-001

TomL

Re: AW: [SHELL] Festen Mount point für USB cardreader

Beitrag von TomL » 19.04.2016 09:00:36

Nein, du brauchst keinen symlink. Das ist völlig unnötig, der Kernelname reicht absolut aus, der Quasi-Symlink ist nachher der Mountpoint. Wichtig ist nur eins, der Filter, der von Udev verarbeitet wird, um das Gerät zu identifizieren und den richtigen Job zu starten, muss korrekt sein. Außerdem musst Du das Gerät auch für den Symlink vorher eindeutig identifizieren, damit dieser Symlink eben nicht auch für anderes verwendet wird.... also letztendlich ist das total überflüssig.

Der erste Schritt war erfolgreich: Ganz ohne Filter (kernel, serial, modell) funktioniert es. Das hat aber zur Folge, dass diese Regel bei jedem HW-plug-in ausgeführt wird, was nicht sein darf. Also muss jetzt das Speichermedium eindeutig identifiziert werden, damit diese Regel nur bei diesem Medium ausgeführt wird.

Hole dir mal spezielle Infos zum Cardreader und der Karte. Dazu das ganze Paket in einer Rutsche abschicken. Ggf. musst Du noch das Device ändern, von /dev/sdb auf das, was der Cardreader hat. Wenn Du das Device erst ermitteln musst, machst Du das über (wenn der Cardreader verbunden ist):

Code: Alles auswählen

blkid -o list

Code: Alles auswählen

udevadm info -a -p `udevadm info -q path -n /dev/sdb` | grep ATTRS{serial}  && \
udevadm info -a -p `udevadm info -q path -n /dev/sdb` | grep ATTRS{model}   && \
udevadm info -a -p `udevadm info -q path -n /dev/sdb` | grep ATTRS{vendor}  && \
udevadm info -a -p `udevadm info -q path -n /dev/sdb` | grep ATTRS{product}
Schick diesen Befehl zweimal ab. Beim ersten Mal abschicken, Cardreader ohne Karte einstecken, 5 Sekunden warten, den Befehl mit strg-c unterbrechen und den Cardreader wieder abziehen.

Code: Alles auswählen

udevadm monitor --environment --udev  >/tmp/ohne

Beim zweiten Mal diesen Befehl absenden, Karte in den Reader einstecken, Reader in den PC einstecken, wieder 5 Sek. warten, strg-c um den Befehl abzubrechen und den Reader abziehen.

Code: Alles auswählen

udevadm monitor --environment --udev  >/tmp/mit
Nun kannst du die beiden Protokoll-Logs vergleichen und über die Unterschiede die Karte, Kernelsystem, Serialid usw. eindeutig erkennen. Mehr wie Kernel und Serialid ist für die Udev-Regel definitiv nicht notwendig.

Zum Vergleich der Logs kannst du dir midnight-commander installieren, der zeigt Dir die Unterschiede im Textmodus nebeneinandergestellt perfekt. Btw, der MC ist fürs Terminal m.E. sowieso unbedingt ein musthave.
Zuletzt geändert von TomL am 19.04.2016 09:26:04, insgesamt 2-mal geändert.

TomL

Re: [SHELL] Festen Mount point für USB cardreader

Beitrag von TomL » 19.04.2016 09:14:24

NAB hat geschrieben:Das Script von TomL hat meiner Meinung nach die Macke, dass es gar nichts gegen das Automounten tut. Wenn der Automounter schneller war, steigt sein Script einfach aus. Das kann man natürlich ändern, aber bis jetzt scheitert sein Script schon daran, dass das Device %k nicht übergeben wird ... womit wir wieder beim Problem oben sind, du brauchst erst eine funktionierende Udev-Regel.
Nein, das stimmt nicht. Der automounter greift nur, wenn udev keine passende Regel hat, also der Filter um ein Gerät zu identifizieren falsch ist.... also genau das, was derzeit ständig passiert.... denn ohne Filter funktioniert es ja offensichtlich. Sobald die Regel korekt ist, funktioniert das immer zuverlässig.

Eomer
Beiträge: 63
Registriert: 27.04.2012 23:24:51

Re: [SHELL] Festen Mount point für USB cardreader

Beitrag von Eomer » 19.04.2016 10:34:38

Danke Ihr zwei.
Also zu Deinen Tom:

In meinem Fall ist es sda1.

Code: Alles auswählen

udevadm info -a -p `udevadm info -q path -n /dev/sdb` | grep ATTRS{serial}  && \
udevadm info -a -p `udevadm info -q path -n /dev/sda` | grep ATTRS{model}   && \
udevadm info -a -p `udevadm info -q path -n /dev/sda` | grep ATTRS{vendor}  && \
udevadm info -a -p `udevadm info -q path -n /dev/sda` | grep ATTRS{product}
Spuckt nichts aus, es bleibt bei ">" stehen. Und nichts weiter passiert.

Den Vergleich habe ich vorgenommen. Was identisch ist:

(Erster Abschnitt)

Code: Alles auswählen

ACTION=add
BUSNUM=001
DEVNAME=/dev/bus/usb/001/008
DEVNUM=008
DEVPATH=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5
DEVTYPE=usb_device
ID_BUS=usb
ID_MODEL=Transcend
ID_MODEL_ENC=Transcend
ID_MODEL_FROM_DATABASE=SMC9514 Hub
ID_MODEL_ID=4000
ID_REVISION=0037
ID_SERIAL=TS-RDF5_Transcend_000000000039
ID_SERIAL_SHORT=000000000039
ID_USB_INTERFACES=:080650:
ID_VENDOR=TS-RDF5
ID_VENDOR_ENC=TS-RDF5\x20
ID_VENDOR_FROM_DATABASE=Standard Microsystems Corp.
ID_VENDOR_ID=8564
MAJOR=189
MINOR=7
PRODUCT=8564/4000/37
SEQNUM=1170
SUBSYSTEM=usb
TYPE=0/0/0
USEC_INITIALIZED=9994421
Zweiter Teil (dann schon gemountet)

Code: Alles auswählen

ACTION=add
DEVLINKS=/dev/disk/by-id/usb-TS-RDF5_SD_Transcend_000000000039-0:0 /dev/disk/by-path/platform-3f980000.usb-usb-0:1.5:1.0-scsi-0:0:0:0
DEVNAME=/dev/sda
DEVPATH=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host1/target1:0:0/1:0:0:0/block/sda
DEVTYPE=disk
ID_BUS=usb
ID_DRIVE_FLASH_CF=1
ID_INSTANCE=0:0
ID_MODEL=SD_Transcend
ID_MODEL_ENC=SD\x20\x20Transcend\x20\x20\x20
ID_MODEL_ID=4000
ID_PATH=platform-3f980000.usb-usb-0:1.5:1.0-scsi-0:0:0:0
ID_PATH_TAG=platform-3f980000_usb-usb-0_1_5_1_0-scsi-0_0_0_0
ID_REVISION=TS37
ID_SERIAL=TS-RDF5_SD_Transcend_000000000039-0:0
ID_SERIAL_SHORT=000000000039
ID_TYPE=disk
ID_USB_DRIVER=usb-storage
ID_USB_INTERFACES=:080650:
ID_USB_INTERFACE_NUM=00
ID_VENDOR=TS-RDF5
ID_VENDOR_ENC=TS-RDF5\x20
ID_VENDOR_ID=8564
MAJOR=8
MINOR=0
SEQNUM=1180
SUBSYSTEM=block
TAGS=:systemd:
UDISKS_PRESENTATION_NOPOLICY=0
USEC_INITIALIZED=996347
Serial etc. schien ja in Ordnung gewesen zu sein.

TomL

Re: AW: [SHELL] Festen Mount point für USB cardreader

Beitrag von TomL » 19.04.2016 10:47:07

Eomer hat geschrieben:Spuckt nichts aus, es bleibt bei ">" stehen. Und nichts weiter passiert.
Was passiert, wenn du den Block zeilenweise einzeln ausführst...?... also jeweils den Teil vor "&& \"

Welches Raspian ist installiert?

Wenn alles nix hilft, probieren wir nachher einfach, die Udev-Regel zu 'debuggen', in dem wir etliche relevante Parameter in der Regel ohne Filter an ein Logscript übergeben. Dann sehen wir, wie die Regel das Gerät erkennt/betrachtet und können das dann im Filter verwenden.
Zuletzt geändert von TomL am 19.04.2016 10:57:28, insgesamt 1-mal geändert.

Eomer
Beiträge: 63
Registriert: 27.04.2012 23:24:51

Re: [SHELL] Festen Mount point für USB cardreader

Beitrag von Eomer » 19.04.2016 10:52:24

So geht es!

Code: Alles auswählen

pi@raspberrypi:~ $ udevadm info -a -p `udevadm info -q path -n /dev/sda` | grep ATTRS{serial}
    ATTRS{serial}=="000000000039"
    ATTRS{serial}=="3f980000.usb"
pi@raspberrypi:~ $ udevadm info -a -p `udevadm info -q path -n /dev/sda` | grep ATTRS{model}
    ATTRS{model}=="SD  Transcend   "
pi@raspberrypi:~ $ udevadm info -a -p `udevadm info -q path -n /dev/sda` | grep ATTRS{vendor}
    ATTRS{vendor}=="TS-RDF5 "
pi@raspberrypi:~ $ udevadm info -a -p `udevadm info -q path -n /dev/sda` | grep ATTRS{product}
    ATTRS{product}=="Transcend"
    ATTRS{product}=="DWC OTG Controller"
Das aktuellste Raspbian. Der Kernel ist glaube ich ein wenig anders, damit der LCD-Touchscreen läuft.

TomL

Re: AW: [SHELL] Festen Mount point für USB cardreader

Beitrag von TomL » 19.04.2016 11:00:58

Eomer hat geschrieben:So geht es!
Dann lag irgendwo ein kopierfehler vor. Ich prüfe meinen Text nachher mal.

Bin nur im Moment im Garten zugange und mach gerade ne kurze Kaffeepause.

NAB
Beiträge: 5501
Registriert: 06.03.2011 16:02:23
Lizenz eigener Beiträge: MIT Lizenz

Re: [SHELL] Festen Mount point für USB cardreader

Beitrag von NAB » 19.04.2016 12:11:36

Eomer hat geschrieben:Serial etc. schien ja in Ordnung gewesen zu sein.
Nein, eben nicht ... die ID_SERIAL_SHORT ist bei beiden Erkennungen gleich, und die ID_SERIAL scheinst du gar nicht gefunden zu haben. Scharf sind wir auf diese Info: DEVNAME=/dev/sda

Probier mal folgende Regel aus:

Code: Alles auswählen

ACTION=="add",  SUBSYSTEM=="block", ENV(ID_DRIVE_FLASH_CF)==1,  SYMLINK+="cfrdr%n",  RUN+="/bin/bash /opt/bin/myfork.sh /dev/%k"
Und schau danach in /tmp/myfork.log und

Code: Alles auswählen

ls -la /dev/cfrdr*
Das ist vermutlich noch nicht die Endlösung, ich bin nur neugierig, ob es funktioniert, dann sind wir schon mal auf der richtigen Ebene.
Never change a broken system. It could be worse afterwards.

"No computer system can be absolutely secure." Intel Document Number: 336983-001

Eomer
Beiträge: 63
Registriert: 27.04.2012 23:24:51

Re: [SHELL] Festen Mount point für USB cardreader

Beitrag von Eomer » 19.04.2016 12:45:14

Es bleibt leider beides leer.

Also nichts im Log und auch das Verzeichnis ist leer. Also er erkennt das Ding nach wie vor nicht...:(
Und doch, die habe ich gefunden. Ich poste jetzt einfach mal das gesamte, ich hatte vorher nur aus dem Bereich kopiert, der mir in Notepadd++ als identisch angezeigt wurde:

Die ID-Serial sieht man bei beiden Varianten.

Mit Karte:

Code: Alles auswählen

UDEV  [710.015784] add      /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5 (usb)
ACTION=add
BUSNUM=001
DEVNAME=/dev/bus/usb/001/008
DEVNUM=008
DEVPATH=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5
DEVTYPE=usb_device
ID_BUS=usb
ID_MODEL=Transcend
ID_MODEL_ENC=Transcend
ID_MODEL_FROM_DATABASE=SMC9514 Hub
ID_MODEL_ID=4000
ID_REVISION=0037
ID_SERIAL=TS-RDF5_Transcend_000000000039
ID_SERIAL_SHORT=000000000039
ID_USB_INTERFACES=:080650:
ID_VENDOR=TS-RDF5
ID_VENDOR_ENC=TS-RDF5\x20
ID_VENDOR_FROM_DATABASE=Standard Microsystems Corp.
ID_VENDOR_ID=8564
MAJOR=189
MINOR=7
PRODUCT=8564/4000/37
SEQNUM=1170
SUBSYSTEM=usb
TYPE=0/0/0
USEC_INITIALIZED=9994421

UDEV  [710.021004] add      /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0 (usb)
ACTION=add
DEVPATH=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0
DEVTYPE=usb_interface
ID_MODEL_FROM_DATABASE=SMC9514 Hub
ID_VENDOR_FROM_DATABASE=Standard Microsystems Corp.
INTERFACE=8/6/80
MODALIAS=usb:v8564p4000d0037dc00dsc00dp00ic08isc06ip50in00
PRODUCT=8564/4000/37
SEQNUM=1171
SUBSYSTEM=usb
TYPE=0/0/0
USEC_INITIALIZED=96079

UDEV  [710.023756] add      /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host1 (scsi)
ACTION=add
DEVPATH=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host1
DEVTYPE=scsi_host
SEQNUM=1172
SUBSYSTEM=scsi
USEC_INITIALIZED=98636

UDEV  [710.026998] add      /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host1/scsi_host/host1 (scsi_host)
ACTION=add
DEVPATH=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host1/scsi_host/host1
SEQNUM=1173
SUBSYSTEM=scsi_host
USEC_INITIALIZED=98730

UDEV  [710.994699] add      /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host1/target1:0:0 (scsi)
ACTION=add
DEVPATH=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host1/target1:0:0
DEVTYPE=scsi_target
SEQNUM=1174
SUBSYSTEM=scsi
USEC_INITIALIZED=1946

UDEV  [710.999230] add      /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host1/target1:0:0/1:0:0:0 (scsi)
ACTION=add
DEVPATH=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host1/target1:0:0/1:0:0:0
DEVTYPE=scsi_device
MODALIAS=scsi:t-0x00
SEQNUM=1175
SUBSYSTEM=scsi
USEC_INITIALIZED=2479

UDEV  [711.001826] add      /devices/virtual/bdi/8:0 (bdi)
ACTION=add
DEVPATH=/devices/virtual/bdi/8:0
SEQNUM=1179
SUBSYSTEM=bdi
USEC_INITIALIZED=994488

UDEV  [711.005710] add      /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host1/target1:0:0/1:0:0:0/scsi_disk/1:0:0:0 (scsi_disk)
ACTION=add
DEVPATH=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host1/target1:0:0/1:0:0:0/scsi_disk/1:0:0:0
SEQNUM=1176
SUBSYSTEM=scsi_disk
USEC_INITIALIZED=2828

UDEV  [711.008698] add      /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host1/target1:0:0/1:0:0:0/scsi_generic/sg0 (scsi_generic)
ACTION=add
DEVNAME=/dev/sg0
DEVPATH=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host1/target1:0:0/1:0:0:0/scsi_generic/sg0
MAJOR=21
MINOR=0
SEQNUM=1178
SUBSYSTEM=scsi_generic
USEC_INITIALIZED=993871

UDEV  [711.010104] add      /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host1/target1:0:0/1:0:0:0/bsg/1:0:0:0 (bsg)
ACTION=add
DEVNAME=/dev/bsg/1:0:0:0
DEVPATH=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host1/target1:0:0/1:0:0:0/bsg/1:0:0:0
MAJOR=252
MINOR=0
SEQNUM=1181
SUBSYSTEM=bsg
USEC_INITIALIZED=997062

UDEV  [711.010325] add      /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host1/target1:0:0/1:0:0:0/scsi_device/1:0:0:0 (scsi_device)
ACTION=add
DEVPATH=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host1/target1:0:0/1:0:0:0/scsi_device/1:0:0:0
SEQNUM=1177
SUBSYSTEM=scsi_device
USEC_INITIALIZED=993369

UDEV  [711.068837] add      /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host1/target1:0:0/1:0:0:0/block/sda (block)
ACTION=add
DEVLINKS=/dev/disk/by-id/usb-TS-RDF5_SD_Transcend_000000000039-0:0 /dev/disk/by-path/platform-3f980000.usb-usb-0:1.5:1.0-scsi-0:0:0:0
DEVNAME=/dev/sda
DEVPATH=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host1/target1:0:0/1:0:0:0/block/sda
DEVTYPE=disk
ID_BUS=usb
ID_DRIVE_FLASH_CF=1
ID_INSTANCE=0:0
ID_MODEL=SD_Transcend
ID_MODEL_ENC=SD\x20\x20Transcend\x20\x20\x20
ID_MODEL_ID=4000
ID_PATH=platform-3f980000.usb-usb-0:1.5:1.0-scsi-0:0:0:0
ID_PATH_TAG=platform-3f980000_usb-usb-0_1_5_1_0-scsi-0_0_0_0
ID_REVISION=TS37
ID_SERIAL=TS-RDF5_SD_Transcend_000000000039-0:0
ID_SERIAL_SHORT=000000000039
ID_TYPE=disk
ID_USB_DRIVER=usb-storage
ID_USB_INTERFACES=:080650:
ID_USB_INTERFACE_NUM=00
ID_VENDOR=TS-RDF5
ID_VENDOR_ENC=TS-RDF5\x20
ID_VENDOR_ID=8564
MAJOR=8
MINOR=0
SEQNUM=1180
SUBSYSTEM=block
TAGS=:systemd:
UDISKS_PRESENTATION_NOPOLICY=0
USEC_INITIALIZED=996347

UDEV  [711.106120] change   /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host1/target1:0:0/1:0:0:0/block/sda (block)
ACTION=change
DEVLINKS=/dev/disk/by-id/usb-TS-RDF5_SD_Transcend_000000000039-0:0 /dev/disk/by-path/platform-3f980000.usb-usb-0:1.5:1.0-scsi-0:0:0:0
DEVNAME=/dev/sda
DEVPATH=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host1/target1:0:0/1:0:0:0/block/sda
DEVTYPE=disk
DISK_MEDIA_CHANGE=1
ID_BUS=usb
ID_DRIVE_FLASH_CF=1
ID_INSTANCE=0:0
ID_MODEL=SD_Transcend
ID_MODEL_ENC=SD\x20\x20Transcend\x20\x20\x20
ID_MODEL_ID=4000
ID_PATH=platform-3f980000.usb-usb-0:1.5:1.0-scsi-0:0:0:0
ID_PATH_TAG=platform-3f980000_usb-usb-0_1_5_1_0-scsi-0_0_0_0
ID_REVISION=TS37
ID_SERIAL=TS-RDF5_SD_Transcend_000000000039-0:0
ID_SERIAL_SHORT=000000000039
ID_TYPE=disk
ID_USB_DRIVER=usb-storage
ID_USB_INTERFACES=:080650:
ID_USB_INTERFACE_NUM=00
ID_VENDOR=TS-RDF5
ID_VENDOR_ENC=TS-RDF5\x20
ID_VENDOR_ID=8564
MAJOR=8
MINOR=0
SEQNUM=1182
SUBSYSTEM=block
TAGS=:systemd:
UDISKS_PRESENTATION_NOPOLICY=0
USEC_INITIALIZED=996347

pi@raspberrypi:~ $ cat /tmp/mit
monitor will print the received events for:
UDEV - the event which udev sends out after rule processing

UDEV  [758.924174] add      /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5 (usb)
ACTION=add
BUSNUM=001
DEVNAME=/dev/bus/usb/001/009
DEVNUM=009
DEVPATH=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5
DEVTYPE=usb_device
ID_BUS=usb
ID_MODEL=Transcend
ID_MODEL_ENC=Transcend
ID_MODEL_FROM_DATABASE=SMC9514 Hub
ID_MODEL_ID=4000
ID_REVISION=0037
ID_SERIAL=TS-RDF5_Transcend_000000000039
ID_SERIAL_SHORT=000000000039
ID_USB_INTERFACES=:080650:
ID_VENDOR=TS-RDF5
ID_VENDOR_ENC=TS-RDF5\x20
ID_VENDOR_FROM_DATABASE=Standard Microsystems Corp.
ID_VENDOR_ID=8564
MAJOR=189
MINOR=8
PRODUCT=8564/4000/37
SEQNUM=1195
SUBSYSTEM=usb
TYPE=0/0/0
USEC_INITIALIZED=8904309

UDEV  [758.929306] add      /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0 (usb)
ACTION=add
DEVPATH=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0
DEVTYPE=usb_interface
ID_MODEL_FROM_DATABASE=SMC9514 Hub
ID_VENDOR_FROM_DATABASE=Standard Microsystems Corp.
INTERFACE=8/6/80
MODALIAS=usb:v8564p4000d0037dc00dsc00dp00ic08isc06ip50in00
PRODUCT=8564/4000/37
SEQNUM=1196
SUBSYSTEM=usb
TYPE=0/0/0
USEC_INITIALIZED=6076

UDEV  [758.932503] add      /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host2 (scsi)
ACTION=add
DEVPATH=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host2
DEVTYPE=scsi_host
SEQNUM=1197
SUBSYSTEM=scsi
USEC_INITIALIZED=7728

UDEV  [758.935788] add      /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host2/scsi_host/host2 (scsi_host)
ACTION=add
DEVPATH=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host2/scsi_host/host2
SEQNUM=1198
SUBSYSTEM=scsi_host
USEC_INITIALIZED=8053

UDEV  [759.904700] add      /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host2/target2:0:0 (scsi)
ACTION=add
DEVPATH=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host2/target2:0:0
DEVTYPE=scsi_target
SEQNUM=1199
SUBSYSTEM=scsi
USEC_INITIALIZED=1988

UDEV  [759.908061] add      /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host2/target2:0:0/2:0:0:0 (scsi)
ACTION=add
DEVPATH=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host2/target2:0:0/2:0:0:0
DEVTYPE=scsi_device
MODALIAS=scsi:t-0x00
SEQNUM=1200
SUBSYSTEM=scsi
USEC_INITIALIZED=2531

UDEV  [759.912348] add      /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host2/target2:0:0/2:0:0:0/scsi_disk/2:0:0:0 (scsi_disk)
ACTION=add
DEVPATH=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host2/target2:0:0/2:0:0:0/scsi_disk/2:0:0:0
SEQNUM=1201
SUBSYSTEM=scsi_disk
USEC_INITIALIZED=2893

UDEV  [759.914325] add      /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host2/target2:0:0/2:0:0:0/scsi_device/2:0:0:0 (scsi_device)
ACTION=add
DEVPATH=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host2/target2:0:0/2:0:0:0/scsi_device/2:0:0:0
SEQNUM=1202
SUBSYSTEM=scsi_device
USEC_INITIALIZED=9903126

UDEV  [759.918517] add      /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host2/target2:0:0/2:0:0:0/scsi_generic/sg0 (scsi_generic)
ACTION=add
DEVNAME=/dev/sg0
DEVPATH=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host2/target2:0:0/2:0:0:0/scsi_generic/sg0
MAJOR=21
MINOR=0
SEQNUM=1203
SUBSYSTEM=scsi_generic
USEC_INITIALIZED=9903462

UDEV  [759.918619] add      /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host2/target2:0:0/2:0:0:0/bsg/2:0:0:0 (bsg)
ACTION=add
DEVNAME=/dev/bsg/2:0:0:0
DEVPATH=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host2/target2:0:0/2:0:0:0/bsg/2:0:0:0
MAJOR=252
MINOR=0
SEQNUM=1204
SUBSYSTEM=bsg
USEC_INITIALIZED=9903845

UDEV  [760.182782] add      /devices/virtual/bdi/8:0 (bdi)
ACTION=add
DEVPATH=/devices/virtual/bdi/8:0
SEQNUM=1205
SUBSYSTEM=bdi
USEC_INITIALIZED=2205

UDEV  [760.267550] add      /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host2/target2:0:0/2:0:0:0/block/sda (block)
ACTION=add
DEVLINKS=/dev/disk/by-id/usb-TS-RDF5_SD_Transcend_000000000039-0:0 /dev/disk/by-path/platform-3f980000.usb-usb-0:1.5:1.0-scsi-0:0:0:0
DEVNAME=/dev/sda
DEVPATH=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host2/target2:0:0/2:0:0:0/block/sda
DEVTYPE=disk
ID_BUS=usb
ID_DRIVE_FLASH_CF=1
ID_INSTANCE=0:0
ID_MODEL=SD_Transcend
ID_MODEL_ENC=SD\x20\x20Transcend\x20\x20\x20
ID_MODEL_ID=4000
ID_PART_TABLE_TYPE=dos
ID_PATH=platform-3f980000.usb-usb-0:1.5:1.0-scsi-0:0:0:0
ID_PATH_TAG=platform-3f980000_usb-usb-0_1_5_1_0-scsi-0_0_0_0
ID_REVISION=TS37
ID_SERIAL=TS-RDF5_SD_Transcend_000000000039-0:0
ID_SERIAL_SHORT=000000000039
ID_TYPE=disk
ID_USB_DRIVER=usb-storage
ID_USB_INTERFACES=:080650:
ID_USB_INTERFACE_NUM=00
ID_VENDOR=TS-RDF5
ID_VENDOR_ENC=TS-RDF5\x20
ID_VENDOR_ID=8564
MAJOR=8
MINOR=0
SEQNUM=1206
SUBSYSTEM=block
TAGS=:systemd:
UDISKS_PARTITION_TABLE=1
UDISKS_PARTITION_TABLE_COUNT=1
UDISKS_PARTITION_TABLE_SCHEME=mbr
UDISKS_PRESENTATION_NOPOLICY=0
USEC_INITIALIZED=7050

UDEV  [760.362633] add      /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host2/target2:0:0/2:0:0:0/block/sda/sda1 (block)
ACTION=add
DEVLINKS=/dev/disk/by-id/usb-TS-RDF5_SD_Transcend_000000000039-0:0-part1 /dev/disk/by-path/platform-3f980000.usb-usb-0:1.5:1.0-scsi-0:0:0:0-part1
DEVNAME=/dev/sda1
DEVPATH=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host2/target2:0:0/2:0:0:0/block/sda/sda1
DEVTYPE=partition
ID_BUS=usb
ID_DRIVE_FLASH_CF=1
ID_FS_TYPE=vfat
ID_FS_USAGE=filesystem
ID_FS_VERSION=FAT32
ID_INSTANCE=0:0
ID_MODEL=SD_Transcend
ID_MODEL_ENC=SD\x20\x20Transcend\x20\x20\x20
ID_MODEL_ID=4000
ID_PART_ENTRY_DISK=8:0
ID_PART_ENTRY_NUMBER=1
ID_PART_ENTRY_OFFSET=8192
ID_PART_ENTRY_SCHEME=dos
ID_PART_ENTRY_SIZE=31108096
ID_PART_ENTRY_TYPE=0xc
ID_PART_TABLE_TYPE=dos
ID_PATH=platform-3f980000.usb-usb-0:1.5:1.0-scsi-0:0:0:0
ID_PATH_TAG=platform-3f980000_usb-usb-0_1_5_1_0-scsi-0_0_0_0
ID_REVISION=TS37
ID_SERIAL=TS-RDF5_SD_Transcend_000000000039-0:0
ID_SERIAL_SHORT=000000000039
ID_TYPE=disk
ID_USB_DRIVER=usb-storage
ID_USB_INTERFACES=:080650:
ID_USB_INTERFACE_NUM=00
ID_VENDOR=TS-RDF5
ID_VENDOR_ENC=TS-RDF5\x20
ID_VENDOR_ID=8564
MAJOR=8
MINOR=1
SEQNUM=1207
SUBSYSTEM=block
TAGS=:systemd:
UDISKS_PARTITION=1
UDISKS_PARTITION_ALIGNMENT_OFFSET=0
UDISKS_PARTITION_NUMBER=1
UDISKS_PARTITION_OFFSET=4194304
UDISKS_PARTITION_SCHEME=mbr
UDISKS_PARTITION_SIZE=15927345152
UDISKS_PARTITION_SLAVE=/sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host2/target2:0:0/2:0:0:0/block/sda
UDISKS_PARTITION_TYPE=0x0c
UDISKS_PRESENTATION_NOPOLICY=0
USEC_INITIALIZED=7246

Ohne Karte:

Code: Alles auswählen

UDEV  [710.015784] add      /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5 (usb)
ACTION=add
BUSNUM=001
DEVNAME=/dev/bus/usb/001/008
DEVNUM=008
DEVPATH=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5
DEVTYPE=usb_device
ID_BUS=usb
ID_MODEL=Transcend
ID_MODEL_ENC=Transcend
ID_MODEL_FROM_DATABASE=SMC9514 Hub
ID_MODEL_ID=4000
ID_REVISION=0037
ID_SERIAL=TS-RDF5_Transcend_000000000039
ID_SERIAL_SHORT=000000000039
ID_USB_INTERFACES=:080650:
ID_VENDOR=TS-RDF5
ID_VENDOR_ENC=TS-RDF5\x20
ID_VENDOR_FROM_DATABASE=Standard Microsystems Corp.
ID_VENDOR_ID=8564
MAJOR=189
MINOR=7
PRODUCT=8564/4000/37
SEQNUM=1170
SUBSYSTEM=usb
TYPE=0/0/0
USEC_INITIALIZED=9994421

UDEV  [710.021004] add      /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0 (usb)
ACTION=add
DEVPATH=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0
DEVTYPE=usb_interface
ID_MODEL_FROM_DATABASE=SMC9514 Hub
ID_VENDOR_FROM_DATABASE=Standard Microsystems Corp.
INTERFACE=8/6/80
MODALIAS=usb:v8564p4000d0037dc00dsc00dp00ic08isc06ip50in00
PRODUCT=8564/4000/37
SEQNUM=1171
SUBSYSTEM=usb
TYPE=0/0/0
USEC_INITIALIZED=96079

UDEV  [710.023756] add      /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host1 (scsi)
ACTION=add
DEVPATH=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host1
DEVTYPE=scsi_host
SEQNUM=1172
SUBSYSTEM=scsi
USEC_INITIALIZED=98636

UDEV  [710.026998] add      /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host1/scsi_host/host1 (scsi_host)
ACTION=add
DEVPATH=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host1/scsi_host/host1
SEQNUM=1173
SUBSYSTEM=scsi_host
USEC_INITIALIZED=98730

UDEV  [710.994699] add      /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host1/target1:0:0 (scsi)
ACTION=add
DEVPATH=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host1/target1:0:0
DEVTYPE=scsi_target
SEQNUM=1174
SUBSYSTEM=scsi
USEC_INITIALIZED=1946

UDEV  [710.999230] add      /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host1/target1:0:0/1:0:0:0 (scsi)
ACTION=add
DEVPATH=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host1/target1:0:0/1:0:0:0
DEVTYPE=scsi_device
MODALIAS=scsi:t-0x00
SEQNUM=1175
SUBSYSTEM=scsi
USEC_INITIALIZED=2479

UDEV  [711.001826] add      /devices/virtual/bdi/8:0 (bdi)
ACTION=add
DEVPATH=/devices/virtual/bdi/8:0
SEQNUM=1179
SUBSYSTEM=bdi
USEC_INITIALIZED=994488

UDEV  [711.005710] add      /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host1/target1:0:0/1:0:0:0/scsi_disk/1:0:0:0 (scsi_disk)
ACTION=add
DEVPATH=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host1/target1:0:0/1:0:0:0/scsi_disk/1:0:0:0
SEQNUM=1176
SUBSYSTEM=scsi_disk
USEC_INITIALIZED=2828

UDEV  [711.008698] add      /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host1/target1:0:0/1:0:0:0/scsi_generic/sg0 (scsi_generic)
ACTION=add
DEVNAME=/dev/sg0
DEVPATH=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host1/target1:0:0/1:0:0:0/scsi_generic/sg0
MAJOR=21
MINOR=0
SEQNUM=1178
SUBSYSTEM=scsi_generic
USEC_INITIALIZED=993871

UDEV  [711.010104] add      /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host1/target1:0:0/1:0:0:0/bsg/1:0:0:0 (bsg)
ACTION=add
DEVNAME=/dev/bsg/1:0:0:0
DEVPATH=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host1/target1:0:0/1:0:0:0/bsg/1:0:0:0
MAJOR=252
MINOR=0
SEQNUM=1181
SUBSYSTEM=bsg
USEC_INITIALIZED=997062

UDEV  [711.010325] add      /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host1/target1:0:0/1:0:0:0/scsi_device/1:0:0:0 (scsi_device)
ACTION=add
DEVPATH=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host1/target1:0:0/1:0:0:0/scsi_device/1:0:0:0
SEQNUM=1177
SUBSYSTEM=scsi_device
USEC_INITIALIZED=993369

UDEV  [711.068837] add      /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host1/target1:0:0/1:0:0:0/block/sda (block)
ACTION=add
DEVLINKS=/dev/disk/by-id/usb-TS-RDF5_SD_Transcend_000000000039-0:0 /dev/disk/by-path/platform-3f980000.usb-usb-0:1.5:1.0-scsi-0:0:0:0
DEVNAME=/dev/sda
DEVPATH=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host1/target1:0:0/1:0:0:0/block/sda
DEVTYPE=disk
ID_BUS=usb
ID_DRIVE_FLASH_CF=1
ID_INSTANCE=0:0
ID_MODEL=SD_Transcend
ID_MODEL_ENC=SD\x20\x20Transcend\x20\x20\x20
ID_MODEL_ID=4000
ID_PATH=platform-3f980000.usb-usb-0:1.5:1.0-scsi-0:0:0:0
ID_PATH_TAG=platform-3f980000_usb-usb-0_1_5_1_0-scsi-0_0_0_0
ID_REVISION=TS37
ID_SERIAL=TS-RDF5_SD_Transcend_000000000039-0:0
ID_SERIAL_SHORT=000000000039
ID_TYPE=disk
ID_USB_DRIVER=usb-storage
ID_USB_INTERFACES=:080650:
ID_USB_INTERFACE_NUM=00
ID_VENDOR=TS-RDF5
ID_VENDOR_ENC=TS-RDF5\x20
ID_VENDOR_ID=8564
MAJOR=8
MINOR=0
SEQNUM=1180
SUBSYSTEM=block
TAGS=:systemd:
UDISKS_PRESENTATION_NOPOLICY=0
USEC_INITIALIZED=996347

UDEV  [711.106120] change   /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host1/target1:0:0/1:0:0:0/block/sda (block)
ACTION=change
DEVLINKS=/dev/disk/by-id/usb-TS-RDF5_SD_Transcend_000000000039-0:0 /dev/disk/by-path/platform-3f980000.usb-usb-0:1.5:1.0-scsi-0:0:0:0
DEVNAME=/dev/sda
DEVPATH=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/host1/target1:0:0/1:0:0:0/block/sda
DEVTYPE=disk
DISK_MEDIA_CHANGE=1
ID_BUS=usb
ID_DRIVE_FLASH_CF=1
ID_INSTANCE=0:0
ID_MODEL=SD_Transcend
ID_MODEL_ENC=SD\x20\x20Transcend\x20\x20\x20
ID_MODEL_ID=4000
ID_PATH=platform-3f980000.usb-usb-0:1.5:1.0-scsi-0:0:0:0
ID_PATH_TAG=platform-3f980000_usb-usb-0_1_5_1_0-scsi-0_0_0_0
ID_REVISION=TS37
ID_SERIAL=TS-RDF5_SD_Transcend_000000000039-0:0
ID_SERIAL_SHORT=000000000039
ID_TYPE=disk
ID_USB_DRIVER=usb-storage
ID_USB_INTERFACES=:080650:
ID_USB_INTERFACE_NUM=00
ID_VENDOR=TS-RDF5
ID_VENDOR_ENC=TS-RDF5\x20
ID_VENDOR_ID=8564
MAJOR=8
MINOR=0
SEQNUM=1182
SUBSYSTEM=block
TAGS=:systemd:
UDISKS_PRESENTATION_NOPOLICY=0
USEC_INITIALIZED=996347

NAB
Beiträge: 5501
Registriert: 06.03.2011 16:02:23
Lizenz eigener Beiträge: MIT Lizenz

Re: [SHELL] Festen Mount point für USB cardreader

Beitrag von NAB » 19.04.2016 13:15:41

Ja, so kann das ja auch nix werden, ich Idiot hab da nen Tippfehler reingehauen, die Klammern sind falsch und Anführungszeichen wären wohl auch besser. Sorry!

Code: Alles auswählen

ACTION=="add",  SUBSYSTEM=="block", ENV{ID_DRIVE_FLASH_CF}=="1",  SYMLINK+="cfrdr%n",  RUN+="/bin/bash /opt/bin/myfork.sh /dev/%k"
Und notepad++? Speicherst du die Dateien auch im Unix-Format?
Never change a broken system. It could be worse afterwards.

"No computer system can be absolutely secure." Intel Document Number: 336983-001

TomL

Re: AW: [SHELL] Festen Mount point für USB cardreader

Beitrag von TomL » 19.04.2016 13:21:12

NAB hat geschrieben:Und notepad++? Speicherst du die Dateien auch im Unix-Format?
Die Daten kommen von stdout. Notepad ist hier nur der Viewer.

Wie gesagt, ich werde nachher mal sehen, ob ich Trace-Infos aus der Udev-Regel generieren kann. Das interessiert mich selber für die Zukunft, um solche Probleme direkt am Anfang beseitigen zu könnten oder von vornherein zu vermeiden.

Eomer
Beiträge: 63
Registriert: 27.04.2012 23:24:51

Re: [SHELL] Festen Mount point für USB cardreader

Beitrag von Eomer » 19.04.2016 13:29:09

TomL hat geschrieben: Die Daten kommen von stdout. Notepad ist hier nur der Viewer.
Genau!

@NAB:
myfork bleibt leer und ls /dev/cfrdr* kommt leider auch nichts.

Und kein Problem, ist mir auch nicht aufgefallen :)

LG

NAB
Beiträge: 5501
Registriert: 06.03.2011 16:02:23
Lizenz eigener Beiträge: MIT Lizenz

Re: [SHELL] Festen Mount point für USB cardreader

Beitrag von NAB » 19.04.2016 13:44:39

Dann existieren die ENV-Variablen eventuell noch nicht. Die Regel heißt jetzt "50-sdautocopy.rules", oder? Benenne die mal um in "95-sdautocopy.rules", damit sie später ausgeführt wird:

Code: Alles auswählen

mv /etc/udev/rules.d/50-sdautocopy.rules /etc/udev/rules.d/95-sdautocopy.rules
Tut sich dann was?
Falls nicht, benenne die Datei bitte wieder zurück, damit wir TomL nicht völlig durcheinanderbringen:

Code: Alles auswählen

mv /etc/udev/rules.d/95-sdautocopy.rules /etc/udev/rules.d/50-sdautocopy.rules
Never change a broken system. It could be worse afterwards.

"No computer system can be absolutely secure." Intel Document Number: 336983-001

Eomer
Beiträge: 63
Registriert: 27.04.2012 23:24:51

Re: [SHELL] Festen Mount point für USB cardreader

Beitrag von Eomer » 19.04.2016 13:48:15

Es tut sich etwas.
Versuche: /bin/mount /dev/sda /media/cardreader -o rw
pi@raspberrypi:~ $ ls /dev/cfrdr*
/dev/cfrdr
EDIT: Ich habe gerade noch die Short-Serial in die Regel eingefügt. Ergebnis:

Code: Alles auswählen

Tue Apr 19 13:51:22 CEST 2016
Versuche: /bin/mount /dev/sda1 /media/cardreader -o rw
Es ging sogar einen Schritt weiter. myfork.sh ist durchgelaufen und hat es unter /media/cardreader gemountet. :mrgreen:

Ich könnte euch gerade beide abknutschen :P
Es ist noch nicht so, dass die Scripte auf einmal alle durchlaufen und es funktioniert, aber ich warte erstaml ab, was ihr zum aktuellen Status sagt.

NAB
Beiträge: 5501
Registriert: 06.03.2011 16:02:23
Lizenz eigener Beiträge: MIT Lizenz

Re: [SHELL] Festen Mount point für USB cardreader

Beitrag von NAB » 19.04.2016 14:24:10

Ich hoffe, du bist gut rasiert! ;-)

Bei "Versuche: /bin/mount /dev/sda /media/cardreader -o rw" findet er das nackte Device sda und versucht, das zu mounten ... und das klappt natürlich nicht.

Bei "Versuche: /bin/mount /dev/sda1 /media/cardreader -o rw" findet er dann "sda1" ... und das kann er mounten.

Warum "ID_SERIAL_SHORT=000000000039" da den Unterschied macht, ist mir grad nicht klar ... nach deinem langen Log oben trifft ID_SERIAL_SHORT=000000000039 sowohl bei der Erkennung von sda als auch bei der Erkennung von sda1 zu.

Sag mal, die /tmp/myfork.log, was steht da eigentlich drin? Du zeigst immer nur zwei Zeilen ... ich seh aber nirgendwo, wo die überschrieben wird. Da wird immer nur mit >> angehängt. Eigentlich müsste die immer länger werden. Und eigentlich müsste ein mehrfaches Auslösen der Regel auch mehrere Einträge direkt nacheinander produzieren.
Never change a broken system. It could be worse afterwards.

"No computer system can be absolutely secure." Intel Document Number: 336983-001

Eomer
Beiträge: 63
Registriert: 27.04.2012 23:24:51

Re: [SHELL] Festen Mount point für USB cardreader

Beitrag von Eomer » 19.04.2016 15:23:24

Bin ich ehrlich gesagt nicht :( :D

Ne, ich kopiere immer den letzten raus:

Code: Alles auswählen

pi@raspberrypi:/opt/bin $ cat myfork.log
Tue Apr 19 12:41:35 CEST 2016
Versuche: /bin/mount /dev/1-1.5 /media/cardreader -o rw
Tue Apr 19 12:42:07 CEST 2016
Versuche: /bin/mount /dev/1-1.5:1.0 /media/cardreader -o rw
Tue Apr 19 13:47:25 CEST 2016
Versuche: /bin/mount /dev/sda /media/cardreader -o rw
Tue Apr 19 13:47:57 CEST 2016
Versuche: /bin/mount /dev/sda1 /media/cardreader -o rw
Tue Apr 19 13:50:50 CEST 2016
Versuche: /bin/mount /dev/sda /media/cardreader -o rw
Tue Apr 19 13:51:22 CEST 2016
Versuche: /bin/mount /dev/sda1 /media/cardreader -o rw
Tue Apr 19 13:58:08 CEST 2016
Versuche: /bin/mount /dev/sda /media/cardreader -o rw
Tue Apr 19 13:58:40 CEST 2016
Versuche: /bin/mount /dev/sda1 /media/cardreader -o rw
Tue Apr 19 13:59:47 CEST 2016
Versuche: /bin/mount /dev/sda /media/cardreader -o rw
Tue Apr 19 14:00:19 CEST 2016
Versuche: /bin/mount /dev/sda1 /media/cardreader -o rw
Tue Apr 19 14:07:29 CEST 2016
Versuche: /bin/mount /dev/sda /media/cardreader -o rw
Tue Apr 19 14:08:01 CEST 2016
Versuche: /bin/mount /dev/sda1 /media/cardreader -o rw
Tue Apr 19 14:12:40 CEST 2016
Versuche: /bin/mount /dev/sda /media/cardreader -o rw
Tue Apr 19 14:13:11 CEST 2016
Versuche: /bin/mount /dev/sda1 /media/cardreader -o rw
Tue Apr 19 14:13:59 CEST 2016
Versuche: /bin/mount /dev/sda /media/cardreader -o rw
Tue Apr 19 14:14:31 CEST 2016
Versuche: /bin/mount /dev/sda1 /media/cardreader -o rw
Tue Apr 19 15:22:52 CEST 2016
Versuche: /bin/mount /dev/sda /media/cardreader -o rw

Wobei ich gerade im Syslog Fehlermeldungen erhalte. Eher auf den Stick und das Filesystem bezogen. Aber wir haben ja: ,,eins nach dem anderen" gesagt :D

Ich poste es trotzdem mal, vielleicht gibt es ja einen Zusammenhang?

Code: Alles auswählen

Apr 19 15:22:50 raspberrypi kernel: [  205.233798] usb 1-1.2: new high-speed USB device number 4 using dwc_otg
Apr 19 15:22:50 raspberrypi kernel: [  205.336932] usb 1-1.2: New USB device found, idVendor=8564, idProduct=4000
Apr 19 15:22:50 raspberrypi kernel: [  205.336950] usb 1-1.2: New USB device strings: Mfr=3, Product=4, SerialNumber=5
Apr 19 15:22:50 raspberrypi kernel: [  205.336963] usb 1-1.2: Product: Transcend
Apr 19 15:22:50 raspberrypi kernel: [  205.336975] usb 1-1.2: Manufacturer: TS-RDF5
Apr 19 15:22:50 raspberrypi kernel: [  205.336988] usb 1-1.2: SerialNumber: 000000000039
Apr 19 15:22:50 raspberrypi kernel: [  205.338115] usb-storage 1-1.2:1.0: USB Mass Storage device detected
Apr 19 15:22:50 raspberrypi kernel: [  205.339842] scsi host0: usb-storage 1-1.2:1.0
Apr 19 15:22:50 raspberrypi mtp-probe: checking bus 1, device 4: "/sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2"
Apr 19 15:22:50 raspberrypi mtp-probe: bus: 1, device: 4 was not an MTP device
Apr 19 15:22:51 raspberrypi kernel: [  206.335435] scsi 0:0:0:0: Direct-Access     TS-RDF5  SD  Transcend    TS37 PQ: 0 ANSI: 6
Apr 19 15:22:51 raspberrypi kernel: [  206.351789] sd 0:0:0:0: Attached scsi generic sg0 type 0
Apr 19 15:22:51 raspberrypi kernel: [  206.612377] sd 0:0:0:0: [sda] 31116288 512-byte logical blocks: (15.9 GB/14.8 GiB)
Apr 19 15:22:51 raspberrypi kernel: [  206.613145] sd 0:0:0:0: [sda] Write Protect is off
Apr 19 15:22:51 raspberrypi kernel: [  206.613155] sd 0:0:0:0: [sda] Mode Sense: 23 00 00 00
Apr 19 15:22:51 raspberrypi kernel: [  206.614164] sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
Apr 19 15:22:51 raspberrypi kernel: [  206.619867]  sda: sda1
Apr 19 15:22:51 raspberrypi kernel: [  206.622762] sd 0:0:0:0: [sda] Attached SCSI removable disk
Apr 19 15:22:52 raspberrypi kernel: [  206.735116] F2FS-fs (sda): Magic Mismatch, valid(0xf2f52010) - read(0x0)
Apr 19 15:22:52 raspberrypi kernel: [  206.735129] F2FS-fs (sda): Can't find valid F2FS filesystem in 1th superblock
Apr 19 15:22:52 raspberrypi kernel: [  206.735975] F2FS-fs (sda): Magic Mismatch, valid(0xf2f52010) - read(0x0)
Apr 19 15:22:52 raspberrypi kernel: [  206.735983] F2FS-fs (sda): Can't find valid F2FS filesystem in 2th superblock
Apr 19 15:22:52 raspberrypi kernel: [  206.735994] F2FS-fs (sda): Magic Mismatch, valid(0xf2f52010) - read(0x0)
Apr 19 15:22:52 raspberrypi kernel: [  206.736000] F2FS-fs (sda): Can't find valid F2FS filesystem in 1th superblock
Apr 19 15:22:52 raspberrypi kernel: [  206.736007] F2FS-fs (sda): Magic Mismatch, valid(0xf2f52010) - read(0x0)
Apr 19 15:22:52 raspberrypi kernel: [  206.736012] F2FS-fs (sda): Can't find valid F2FS filesystem in 2th superblock
Apr 19 15:23:22 raspberrypi systemd-udevd[905]: timeout '/bin/bash /opt/bin/myfork.sh /dev/sda'
Apr 19 15:23:24 raspberrypi systemd-udevd[905]: timeout: killing '/bin/bash /opt/bin/myfork.sh /dev/sda' [925]
Apr 19 15:23:24 raspberrypi systemd-udevd[905]: '/bin/bash /opt/bin/myfork.sh /dev/sda' [925] terminated by signal 9 (Killed)
Apr 19 15:23:24 raspberrypi ntfs-3g[962]: Version 2014.2.15AR.2 integrated FUSE 28
Apr 19 15:23:24 raspberrypi ntfs-3g[962]: Mounted /dev/sda1 (Read-Write, label "", NTFS 3.1)
Apr 19 15:23:24 raspberrypi ntfs-3g[962]: Cmdline options: rw
Apr 19 15:23:24 raspberrypi ntfs-3g[962]: Mount options: rw,allow_other,nonempty,relatime,fsname=/dev/sda1,blkdev,blksize=4096
Apr 19 15:23:24 raspberrypi ntfs-3g[962]: Ownership and permissions disabled, configuration type 7
Apr 19 15:23:24 raspberrypi org.gtk.Private.UDisks2VolumeMonitor[696]: index_parse.c:191: indx_parse(): error opening /media/cardreader/BDMV/index.bdmv
Apr 19 15:23:24 raspberrypi org.gtk.Private.UDisks2VolumeMonitor[696]: index_parse.c:191: indx_parse(): error opening /media/cardreader/BDMV/BACKUP/index.bdmv

Das scheint mir irgendwie ein Linux-Bug zu sein.

Denn gerade passierte folgendes:

Code: Alles auswählen

pi@raspberrypi:~ $ cat /opt/bin/copyscript.log
To: user1@raspberrypi.local
From: goprosync@raspberrypi.local
Subject: GoProSync_Result
==============
Script Started
Tue Apr 19 15:47:46 CEST 2016
20
== Source Disk Found - Look for the Destination Disk ==
Tue Apr 19 15:47:46 CEST 2016
20
== Destination Disk Found - GOPRO Backup Started ==
sending incremental file list
cardreader/
cardreader/DSC00015.JPG
cardreader/DSC00016.ARW
cardreader/DSC00016.JPG
cardreader/DSC00017.ARW
cardreader/System Volume Information/
cardreader/System Volume Information/IndexerVolumeGuid
cardreader/System Volume Information/WPSettings.dat

sent 51.30M bytes  received 142 bytes  3.54M bytes/sec
total size is 53.01M  speedup is 1.03
Backup Complete
Unmount the  USB  disks
Tue Apr 19 15:48:00 CEST 2016
== GoPro Copy Complete ==
Script Complete
===============

NAB
Beiträge: 5501
Registriert: 06.03.2011 16:02:23
Lizenz eigener Beiträge: MIT Lizenz

Re: [SHELL] Festen Mount point für USB cardreader

Beitrag von NAB » 19.04.2016 16:09:20

timeout: killing '/bin/bash /opt/bin/myfork.sh /dev/sda' [925] -> Das myfork.sh beendet sich nicht, und ich weiß grad nicht warum. Aber dem Zeitstempel nach wurde es mit /dev/sda aufgerufen, was eh nicht funktionieren sollte.

Wenn ich das im myfork.log richtig sehe, erkennt er ab Tue Apr 19 13:47:25 CEST 2016 immer zuerst sda, und ca. 30 Sekunden später sda1. Ich vermute, die Regel wird zwei mal ausgelöst. Für TomLs Script bräuchten wir sda1.

Ich hab grad noch mal nachgeguckt, woher ID_DRIVE_FLASH_CF=1 eigentlich kommt ... das kommt von udisks.

Die Regeln finden sich bei mir unter /lib/udev/rules.d/ und fangen mit "80" an. Da müsste "85" am Anfang des Dateinamens der Regel eigentlich auch reichen. Aber solange es funktioniert, ist das eigentlich egal.

Eomer, schau dir mal

Code: Alles auswählen

man 7 udisks
an, da findest du neben ID_DRIVE_FLASH_CF noch etliche Variablen mehr. Ich finde bei mir zum Beispiel noch ID_DRIVE_MEDIA_FLASH_CF, das wäre eigentlich optimal, um CF-Karten zu erkennen, das kennt dein System aber anscheinend nicht. Und neben CF gibt's noch MS, SM, SD und einiges mehr. Bisher haben wir nur eine Regel für CF ... wenn du noch was anderes benutzt, bräuchten wir dafür auch noch Regeln.

Mit dem Regelzusatz
ENV{DEVTYPE}=="partition"
müsste man eigentlich zuverlässig Partitionen erkennen können.

Und mit
ENV{ID_PART_ENTRY_NUMBER}=="1"
müsste man zuverlässig die erste Partition erkennen können.

Wollen wir das?

Eomer, was wollen wir eigentlich? Ich hab zwar oben gesagt, es sei wichtig, genau das richtige Gerät zu erkennen, aber ich frag mich grad, ob wird das müssen. Würde es nicht reichen, die erste Partition einer beliebigen CF-Karte zu erkennen, wenn sie eingesteckt wird? Dann wäre es egal, welchen Cardreader du benutzt ... aber du dürftest zur Zeit nur einen anschließen.

Und was mir grad noch brennend einfällt ... wovon bootet so ein Pi eigentlich? Nicht, dass wir mit ID_DRIVE_FLASH_CF=1 auch das Boot-Medium erwischen. Vielleicht wartest du noch mal, was TomL dazu zu sagen hat, der hat mehr Ahnung von Pi.
Never change a broken system. It could be worse afterwards.

"No computer system can be absolutely secure." Intel Document Number: 336983-001

Eomer
Beiträge: 63
Registriert: 27.04.2012 23:24:51

Re: [SHELL] Festen Mount point für USB cardreader

Beitrag von Eomer » 19.04.2016 16:17:59

NAB hat geschrieben:timeout: killing '/bin/bash /opt/bin/myfork.sh /dev/sda' [925] -> Das myfork.sh beendet sich nicht, und ich weiß grad nicht warum. Aber dem Zeitstempel nach wurde es mit /dev/sda aufgerufen, was eh nicht funktionieren sollte.
Aber hier macht er es doch?

Code: Alles auswählen

Apr 19 15:23:24 raspberrypi systemd-udevd[905]: '/bin/bash /opt/bin/myfork.sh /dev/sda' [925] terminated by signal 9 (Killed)
Er startet auch das Copyscript zwei mal, das soll auch nicht sein.
Ein Arbeitskollege sagte, dass dieser Code das beheben würde:

Code: Alles auswählen

# 2016/04/15, Cubbi: ignore blockdevice
if [ "$UDISKS_PARTITION_TABLE" -eq "1" ]; then exit 0; fi
Und tatsächlich löst es z.B. das Problem, dass ich über notify-send immer zwei Benachrichtigungen auf das Display bekomme.
Ich habe den Code in die in die copyscript.sh gepackt und es scheint zu funktionieren, wobei ich ihm jetzt einfach mal blind vertraut habe :D
NAB hat geschrieben: Wenn ich das im myfork.log richtig sehe, erkennt er ab Tue Apr 19 13:47:25 CEST 2016 immer zuerst sda, und ca. 30 Sekunden später sda1. Ich vermute, die Regel wird zwei mal ausgelöst. Für TomLs Script bräuchten wir sda1.

Ich hab grad noch mal nachgeguckt, woher ID_DRIVE_FLASH_CF=1 eigentlich kommt ... das kommt von udisks.
Die Regeln finden sich bei mir unter /lib/udev/rules.d/ und fangen mit "80" an. Da müsste "85" am Anfang des Dateinamens der Regel eigentlich auch reichen. Aber solange es funktioniert, ist das eigentlich egal.

Eomer, schau dir mal

Code: Alles auswählen

man 7 udisks
an, da findest du neben ID_DRIVE_FLASH_CF noch etliche Variablen mehr. Ich finde bei mir zum Beispiel noch ID_DRIVE_MEDIA_FLASH_CF, das wäre eigentlich optimal, um CF-Karten zu erkennen, das kennt dein System aber anscheinend nicht. Und neben CF gibt's noch MS, SM, SD und einiges mehr. Bisher haben wir nur eine Regel für CF ... wenn du noch was anderes benutzt, bräuchten wir dafür auch noch Regeln.

Mit dem Regelzusatz
ENV{DEVTYPE}=="partition"
müsste man eigentlich zuverlässig Partitionen erkennen können.

Und mit
ENV{ID_PART_ENTRY_NUMBER}=="1"
müsste man zuverlässig die erste Partition erkennen können.

Wollen wir das?

Eomer, was wollen wir eigentlich? Ich hab zwar oben gesagt, es sei wichtig, genau das richtige Gerät zu erkennen, aber ich frag mich grad, ob wird das müssen. Würde es nicht reichen, die erste Partition einer beliebigen CF-Karte zu erkennen, wenn sie eingesteckt wird? Dann wäre es egal, welchen Cardreader du benutzt ... aber du dürftest zur Zeit nur einen anschließen.

Und was mir grad noch brennend einfällt ... wovon bootet so ein Pi eigentlich? Nicht, dass wir mit ID_DRIVE_FLASH_CF=1 auch das Boot-Medium erwischen. Vielleicht wartest du noch mal, was TomL dazu zu sagen hat, der hat mehr Ahnung von Pi.
Okay, warten wir mal auf Tom :)
Ja von wo er bootet weiß ich in der Tat auch nicht. Sagen wir es mal so: Das er bei jedem Stick so vorgeht, wäre suboptimal. Eigentlich soll er das nur bei diesem.

Ein Problem, was aktuell auftritt (ich hoffe ich vermische jetzt nicht wieder Themen :D) ist, dass größere Kopiervorgäbge abbrechen. Das ist etwas, was die myfork.sh eigentlich beheben sollte.
Aber vielleicht hängt es ja alles zusammen.



LG
Zuletzt geändert von Eomer am 19.04.2016 16:33:32, insgesamt 1-mal geändert.

NAB
Beiträge: 5501
Registriert: 06.03.2011 16:02:23
Lizenz eigener Beiträge: MIT Lizenz

Re: [SHELL] Festen Mount point für USB cardreader

Beitrag von NAB » 19.04.2016 16:31:51

Eomer hat geschrieben:Aber hier macht er es doch?
Nein, es beendet sich nicht freiwillig. Udev muss es zwangsbeenden. Aber da steht's doch auch groß und fett im Log ... /opt/bin/myfork.sh /dev/sda' ... der Fehler tritt auf, wenn das Script mit "sda" aufgerufen wird. Wir wollen es mit sda1 aufrufen, nicht mit sda.

Im Moment wird es erst mit sda und dann mit sda1 aufgerufen. Die Regel greift zwei mal.
Eomer hat geschrieben:Er startet auch das Copyscript zwei mal, das soll auch nicht sein.
Siehste ...
Nimm mal ein
ENV{DEVTYPE}=="partition"
mit in die Regel auf und schaue, ob die Regel dann nur noch ein mal ausgelöst wird (oder gar nicht mehr).

Und dann verrate uns mal, wie die Regel inzwischen aussieht ... ich verliere nämlich langsam den Überblick, vom armen TomL ganz zu schweigen.
Eomer hat geschrieben:Das er bei jedem Stick so vorgeht, wäre suboptimal. Eigentlich soll er das nur bei diesem.
Der "Stick" ist der CardReader, ja? Dann hätten wir die möglichen Geräte mit der ID_SERIAL_SHORT schon mal deutlich eingegrenzt. Wir könnten noch ID_MODEL mit reinnehmen, da steht der Hersteller drin.
Never change a broken system. It could be worse afterwards.

"No computer system can be absolutely secure." Intel Document Number: 336983-001

Eomer
Beiträge: 63
Registriert: 27.04.2012 23:24:51

Re: [SHELL] Festen Mount point für USB cardreader

Beitrag von Eomer » 19.04.2016 16:47:14

NAB hat geschrieben:Nein, es beendet sich nicht freiwillig. Udev muss es zwangsbeenden. Aber da steht's doch auch groß und fett im Log ... /opt/bin/myfork.sh /dev/sda' ... der Fehler tritt auf, wenn das Script mit "sda" aufgerufen wird. Wir wollen es mit sda1 aufrufen, nicht mit sda.
Okay, ich dachte das Zwangsbeenden soll sein.

Hier erstmal wie die Regel aussieht. Im Übrigen ist die 95 doppelt vergeben, ich weiß nicht inwiefern das Einfluss nimmt.

Code: Alles auswählen

ACTION=="add",  SUBSYSTEM=="block", ENV{ID_SERIAL_SHORT}=="000000000039",  ENV{ID_DRIVE_FLASH_CF}=="1",  SYMLINK+="cfrdr%n",  RUN+="/bin/bash /opt/bin/myfork.sh /dev/%k"
NAB hat geschrieben: Siehste ...
Nimm mal ein
ENV{DEVTYPE}=="partition"
mit in die Regel auf und schaue, ob die Regel dann nur noch ein mal ausgelöst wird (oder gar nicht mehr).

Der "Stick" ist der CardReader, ja? Dann hätten wir die möglichen Geräte mit der ID_SERIAL_SHORT schon mal deutlich eingegrenzt. Wir könnten noch ID_MODEL mit reinnehmen, da steht der Hersteller drin.
Genau. Stick = cardreader, sorry. Mit anderen hantiere ich momentan nicht.
Ich nehme es mal mit in die Regel auf und teste.

Zum doppelt laufen des Scriptes hat der Ersteller damals folgendes geschrieben:
Next is the code that performs the backup. The first thing I noticed is that the script will be run twice, once when the source and again when the destination disks are connected. So I added a line at the beginning that terminates the script if one by the same name is already running.
Ich probiere mal.

Antworten