[erledigt] Festen Mount point für USB cardreader
Re: [SHELL] Festen Mount point für USB cardreader
Re: [SHELL] Festen Mount point für USB cardreader
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.
"No computer system can be absolutely secure." Intel Document Number: 336983-001
Re: [SHELL] Festen Mount point für USB cardreader
Code: Alles auswählen
Mo 18. Apr 23:16:27 CEST 2016
Versuche: /bin/mount /media/cardreader -o rw
Ich hatte am Anfang (bevor ich hier gepostet habe), noch eine andere Fehlermeldung:
Code: Alles auswählen
"failed to execute /lib/udev/mtp-probe"
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
Code: Alles auswählen
SUBSYSTEM=="usb", ACTION=="add", RUN+="/bin/bash /opt/bin/myfork.sh /dev/%k"
Schon mal ein erstes sehr gutes Zeichen!!! (oder? )
Versuch 3:
Code: Alles auswählen
SUBSYSTEM=="usb", ACTION=="add", ENV{ID_SERIAL_SHORT}=="000000000039", RUN+="/bin/bash /opt/bin/myfork.sh /dev/%k"
Re: [SHELL] Festen Mount point für USB cardreader
Eomer, mal so grundsätzlich:Eomer hat geschrieben: Mountet fröhlich wohin er will.
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.
"No computer system can be absolutely secure." Intel Document Number: 336983-001
Re: [SHELL] Festen Mount point für USB cardreader
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
Code: Alles auswählen
Tue Apr 19 00:21:37 CEST 2016
Versuche: /bin/mount /dev/1-1.5 /media/cardreader -o rw
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
Morgen mache ich weiter
LG
Re: [SHELL] Festen Mount point für USB cardreader
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*
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.
"No computer system can be absolutely secure." Intel Document Number: 336983-001
Re: AW: [SHELL] Festen Mount point für USB cardreader
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}
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
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.
Re: [SHELL] Festen Mount point für USB cardreader
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.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.
Re: [SHELL] Festen Mount point für USB cardreader
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}
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
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
Re: AW: [SHELL] Festen Mount point für USB cardreader
Was passiert, wenn du den Block zeilenweise einzeln ausführst...?... also jeweils den Teil vor "&& \"Eomer hat geschrieben:Spuckt nichts aus, es bleibt bei ">" stehen. Und nichts weiter passiert.
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.
Re: [SHELL] Festen Mount point für USB cardreader
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"
Re: AW: [SHELL] Festen Mount point für USB cardreader
Dann lag irgendwo ein kopierfehler vor. Ich prüfe meinen Text nachher mal.Eomer hat geschrieben:So geht es!
Bin nur im Moment im Garten zugange und mach gerade ne kurze Kaffeepause.
Re: [SHELL] Festen Mount point für USB cardreader
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/sdaEomer hat geschrieben:Serial etc. schien ja in Ordnung gewesen zu sein.
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"
Code: Alles auswählen
ls -la /dev/cfrdr*
"No computer system can be absolutely secure." Intel Document Number: 336983-001
Re: [SHELL] Festen Mount point für USB cardreader
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
Re: [SHELL] Festen Mount point für USB cardreader
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"
"No computer system can be absolutely secure." Intel Document Number: 336983-001
Re: AW: [SHELL] Festen Mount point für USB cardreader
Die Daten kommen von stdout. Notepad ist hier nur der Viewer.NAB hat geschrieben:Und notepad++? Speicherst du die Dateien auch im Unix-Format?
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.
Re: [SHELL] Festen Mount point für USB cardreader
Genau!TomL hat geschrieben: Die Daten kommen von stdout. Notepad ist hier nur der Viewer.
@NAB:
myfork bleibt leer und ls /dev/cfrdr* kommt leider auch nichts.
Und kein Problem, ist mir auch nicht aufgefallen
LG
Re: [SHELL] Festen Mount point für USB cardreader
Code: Alles auswählen
mv /etc/udev/rules.d/50-sdautocopy.rules /etc/udev/rules.d/95-sdautocopy.rules
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
"No computer system can be absolutely secure." Intel Document Number: 336983-001
Re: [SHELL] Festen Mount point für USB cardreader
Versuche: /bin/mount /dev/sda /media/cardreader -o rw
EDIT: Ich habe gerade noch die Short-Serial in die Regel eingefügt. Ergebnis:pi@raspberrypi:~ $ ls /dev/cfrdr*
/dev/cfrdr
Code: Alles auswählen
Tue Apr 19 13:51:22 CEST 2016
Versuche: /bin/mount /dev/sda1 /media/cardreader -o rw
Ich könnte euch gerade beide abknutschen
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.
Re: [SHELL] Festen Mount point für USB cardreader
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.
"No computer system can be absolutely secure." Intel Document Number: 336983-001
Re: [SHELL] Festen Mount point für USB cardreader
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
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
===============
Re: [SHELL] Festen Mount point für USB cardreader
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
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.
"No computer system can be absolutely secure." Intel Document Number: 336983-001
Re: [SHELL] Festen Mount point für USB cardreader
Aber hier macht er es doch?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.
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)
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
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
Okay, warten wir mal auf TomNAB 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 malan, 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.Code: Alles auswählen
man 7 udisks
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.
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 ) 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
Re: [SHELL] Festen Mount point für USB cardreader
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.Eomer hat geschrieben:Aber hier macht er es doch?
Im Moment wird es erst mit sda und dann mit sda1 aufgerufen. Die Regel greift zwei mal.
Siehste ...Eomer hat geschrieben:Er startet auch das Copyscript zwei mal, das soll auch nicht sein.
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.
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.Eomer hat geschrieben:Das er bei jedem Stick so vorgeht, wäre suboptimal. Eigentlich soll er das nur bei diesem.
"No computer system can be absolutely secure." Intel Document Number: 336983-001
Re: [SHELL] Festen Mount point für USB cardreader
Okay, ich dachte das Zwangsbeenden soll sein.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.
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"
Genau. Stick = cardreader, sorry. Mit anderen hantiere ich momentan nicht.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.
Ich nehme es mal mit in die Regel auf und teste.
Zum doppelt laufen des Scriptes hat der Ersteller damals folgendes geschrieben:
Ich probiere mal.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.