# [solved] UDEV

## Gladdle

Um TrueCrypt / VeraCrypt Laufwerke zu verwenden hatte ich auf meinem alten System dev-symlinks per UDEV. Sprich eine USB HDD wird erkannt => /dev/sd-encrypted wird erstellt. Hier meine Rule /etc/udev/rules.d/49-encrypted-harddrives.rules:

```
KERNEL=="sd?1", SUBSYSTEMS=="usb", ATTRS{SERIAL}=="ST31500341AS_undsoweiter", SYMLINK+="sd-encrypted"
```

 UDEV (Version 225) wird per rc-update gestartet. Jedoch passiert nichts, ich bekomme kein neues device angezeigt.

/var/run/udevmonitor.log existiert, ich finde da aber nichts brauchbares. Hat jemand eine Idee, WO ich ansetzen kann? Gibt es eine log speziell fuer die Rules?

EDIT: In udev 225 heisst es nun wie folgt: 

```
KERNEL=="sd?1", SUBSYSTEMS=="usb", ATTRS{serial}=="abcdefghij...", SYMLINK+="sd-encrypted"
```

Last edited by Gladdle on Mon Jan 11, 2016 7:40 pm; edited 2 times in total

----------

## Schnulli

hääää?

kann nicht sein.

mountest du denn die USB platte automatisch? Ist die Platte wie "cdrom" in der fstab eingetragen ? Rechte? Gruppen ZUgehörigkeit?

Wenn die USB Platte beim Booten schon angesteckt ist, ist die ID meist die gleiche... da hilft nur die Eindeutige ID der Platte aus zu lesen und darüber zu mounten.... wie das geht ist bekannt?

----------

## mv

Es werden alle naselang die Algorthmen geändert, mit der die Seriennummer erstellt wird (ich glaube, udev selbst ist dafür mitverantwortlich).

Du solltest also, sobald das Device eingesteckt ist mal mit udevadm info --query=all --atribute-walk den entsprechenden Zweig entlanggehen und den Wert von ATTRS{SERIAL} kontrollieren. Vielleicht heißt das Attribut inzwischen auch ATTR{SERIAL} (ohne S), oder vielleicht auch ATTR{serial}?

Nicht übersehen: U.U. stehen am Ende der Seriennummer Leerzeichen...

Das "sd?1" habe ich auch noch nicht gesehen. SIcher,  dass udev einen so allgemeinen Glob beherrscht?

----------

## Gladdle

@schnulli:

Ich will keine Festplatte mounten, sondern ein "udev rule" erstellen. Sozusagen /dev/sd-enc anlegen, das immer dieselbe HDD ist. Das Mounten mittels fstab und auch per uid ist mir bekannt, Informationen hierüber findet man ja im Gentoo Wiki.

Back to topic

"udevadm info --query=all --attribute-walk /dev/sdX" brachte folgendes (GEKüRZTES) Ergebnis:

```
Udevadm info starts with the device specified by the devpath and then

walks up the chain of parent devices. It prints for every device

found, all possible attributes in the udev rules key format.

A rule to match, can be composed by the attributes of the device

and the attributes from one single parent device.

  looking at device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3/1-1.3:1.0/host11/target11:0:0/11:0:0:0/block/sdf/sdf1':

    KERNEL=="sdf1"

    SUBSYSTEM=="block"

    DRIVER==""

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3/1-1.3:1.0/host11/target11:0:0/11:0:0:0/block/sdf':

    KERNELS=="sdf"

    SUBSYSTEMS=="block"

    DRIVERS==""

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3/1-1.3:1.0/host11/target11:0:0/11:0:0:0':

    KERNELS=="11:0:0:0"

    SUBSYSTEMS=="scsi"

    DRIVERS=="sd"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3/1-1.3:1.0/host11/target11:0:0':

    KERNELS=="target11:0:0"

    SUBSYSTEMS=="scsi"

    DRIVERS==""

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3/1-1.3:1.0/host11':

    KERNELS=="host11"

    SUBSYSTEMS=="scsi"

    DRIVERS==""

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3/1-1.3:1.0':

    KERNELS=="1-1.3:1.0"

    SUBSYSTEMS=="usb"

    DRIVERS=="usb-storage"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3':

    KERNELS=="1-1.3"

    SUBSYSTEMS=="usb"

    DRIVERS=="usb"

    ATTRS{serial}=="gefunden :)"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1':

    KERNELS=="1-1"

    SUBSYSTEMS=="usb"

    DRIVERS=="usb"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1':

    KERNELS=="usb1"

    SUBSYSTEMS=="usb"

    DRIVERS=="usb"

  looking at parent device '/devices/pci0000:00/0000:00:1a.0':

    KERNELS=="0000:00:1a.0"

    SUBSYSTEMS=="pci"

    DRIVERS=="ehci-pci"

  looking at parent device '/devices/pci0000:00':

    KERNELS=="pci0000:00"

    SUBSYSTEMS==""

    DRIVERS==""
```

Nun bin ich verwirrter als vorher, ist es nun SUBSYSTEMS=="usb" oder SUBSYSTEMS=="scsi"? Was soll ich anstelle von KERNEL=="sd?1" nehmen?

----------

## firefly

eher 

```

SUBSYSTEM=="block", KERNEL=="sd?1",  ATTRS{serial}=="ST31500341AS_undsoweiter", SYMLINK+="sd-encrypted"

```

Denn nur hier wird in der von dir geposteten ausgabe von udevadm info das device der patition angegeben.

----------

