[Udev] Montage automatique ne fonctionne pas

Reconnaissance et configuration du matériel / kernel linux
nscott32
Daikyu
Messages : 61
Inscription : mer. 18 nov. 2015, 19:35

[Udev] Montage automatique ne fonctionne pas

Message par nscott32 »

Bonjour,

monter automatiquement mon disque dur externe lorsque je le branche, seulement la commande mount n'aboutit pas. Le disque n'est ni monté, ni montable, il semblerais qu'il y ait un problème avec mount. Pourtant quand je lance la commande manuellement ça marche...

PS : Je préfèrerais le faire avec udev, c'est pour ça que je n'utilise pas udisks.
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17626
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [Udev] Montage automatique ne fonctionne pas

Message par benjarobin »

Bonsoir,
On ne sais absolument pas ce que tu as fait, ni les erreurs associées... Bref on n'a aucune information.
Sinon c'est bien beau le montage via udev, mais comment compte tu gérer le démontage ?
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
nscott32
Daikyu
Messages : 61
Inscription : mer. 18 nov. 2015, 19:35

Re: [Udev] Montage automatique ne fonctionne pas

Message par nscott32 »

Ok si c'est plus parlant voici la règle que j'aimerais créer :

Code : Tout sélectionner

# Transcend external usb disk
ATTRS{idVendor}=="174c"
ATTRS{idProduct}=="5106"

# Device link name in /etc/
SYMLINK+="disk_ext_transcend"

# Action on plug in
ACTION=="add",RUN+="/bin/mkdir -p /media/transcend",RUN+="/bin/mount -t exfat /dev/disk_ext_transcend /media/transcend"

# Action on remove
ACTION=="remove",RUN+="/bin/umount /media/transcend",RUN+="/bin/rmdir /media/transcend"
Pour le démontage ce n'est pas un soucis de le fare manuellement, ce qui compte c'est surtout qu'il soit monté au bon endroit et automatiquement.
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17626
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [Udev] Montage automatique ne fonctionne pas

Message par benjarobin »

Ta façon de faire me semble très étrange, je n'ai jamais encore vu une telle syntaxe : Je pense que c'est totalement faux. La doc indique qu'il est interdit de spliter ainsi sur plusieurs lignes une règle
Sinon ce serait sympa de donner encore plus d'information (sdX étant ton disque dur) : udevadm info -a -p /sys/block/sdX/
Puis tu tests le tout simplement via : udevadm test ...
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
nscott32
Daikyu
Messages : 61
Inscription : mer. 18 nov. 2015, 19:35

Re: [Udev] Montage automatique ne fonctionne pasriphérique est occupé

Message par nscott32 »

D'après http://www.reactivated.net/writing_udev_rules.html on peut créer ses règles dans des fichiers séparés, je préfère cette façon d'organiser. A priori cela marche puisque le dossier /media/transcend et bien créé au branchement et supprimer au débranchement, en plus mount fait quelque chose puisque le périphérique est occupé une fois branché.
Bon, plus exactement ce que j'aimerais faire c'est d'utiliser mon disque externe comme support pour télécharger des fichiers, torrent etc...Je voudrais que le montage se fasse soit au démarrage si le disque est branché, soit en branchement à chaud.
C'est la première fois que je manipule udev , je trouve le fonctionnement simple et puissant, mais je n'ai pas l'expérience nécessaire pour comprendre ce qui ne fonctionne pas.
Voici le résultat de udevadm info -a -p /sys/block/sdb/

Code : Tout sélectionner

  looking at device '/devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1:1.0/host7/target7:0:0/7:0:0:0/block/sdb':
    KERNEL=="sdb"ai lu, mais sinon comment ajouté les
    SUBSYSTEM=="block"
    DRIVER==""
    ATTR{alignment_offset}=="0"
    ATTR{capability}=="50"
    ATTR{discard_alignment}=="0"
    ATTR{events}==""
    ATTR{events_async}==""
    ATTR{events_poll_msecs}=="-1"
    ATTR{ext_range}=="256"
    ATTR{inflight}=="       0        0"
    ATTR{range}=="16"
    ATTR{removable}=="0"
    ATTR{ro}=="0"
    ATTR{size}=="1953525168"
    ATTR{stat}=="    1051        0     7317      963        0        0        0        0        0      803      956"

  looking at parent device '/devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1:1.0/host7/target7:0:0/7:0:0:0':
    KERNELS=="7:0:0:0"
    SUBSYSTEMS=="scsi"
    DRIVERS=="sd"
    ATTRS{device_blocked}=="0"
    ATTRS{device_busy}=="0"
    ATTRS{eh_timeout}=="10"
    ATTRS{evt_capacity_change_reported}=="0"
    ATTRS{evt_inquiry_change_reported}=="0"
    ATTRS{evt_lun_change_reported}=="0"
    ATTRS{evt_media_change}=="0"
    ATTRS{evt_mode_parameter_change_reported}=="0"
    ATTRS{evt_soft_threshold_reached}=="0"
    ATTRS{iocounterbits}=="32"
    ATTRS{iodone_cnt}=="0x43c"
    ATTRS{ioerr_cnt}=="0x2"
    ATTRS{iorequest_cnt}=="0x43c"
    ATTRS{max_sectors}=="240"
    ATTRS{model}=="Transcend       "
    ATTRS{queue_depth}=="1"
    ATTRS{queue_type}=="none"
    ATTRS{rev}=="0   "
    ATTRS{scsi_level}=="7"
    ATTRS{state}=="running"
    ATTRS{timeout}=="30"
    ATTRS{type}=="0"
    ATTRS{vendor}=="StoreJet"

  looking at parent device '/devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1:1.0/host7/target7:0:0':
    KERNELS=="target7:0:0"
    SUBSYSTEMS=="scsi"
    DRIVERS==""

  looking at parent device '/devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1:1.0/host7':
    KERNELS=="host7"
    SUBSYSTEMS=="scsi"
    DRIVERS==""

  looking at parent device '/devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1:1.0':
    KERNELS=="4-1:1.0"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb-storage"
    ATTRS{bAlternateSetting}==" 0"
    ATTRS{bInterfaceClass}=="08"
    ATTRS{bInterfaceNumber}=="00"
    ATTRS{bInterfaceProtocol}=="50"
    ATTRS{bInterfaceSubClass}=="06"
    ATTRS{bNumEndpoints}=="02"
    ATTRS{supports_autosuspend}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:14.0/usb4/4-1':
    KERNELS=="4-1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{authorized}=="1"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bDeviceClass}=="00"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bMaxPacketSize0}=="9"
    ATTRS{bMaxPower}=="0mA"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bcdDevice}=="8000"
    ATTRS{bmAttributes}=="c0"
    ATTRS{busnum}=="4"
    ATTRS{configuration}==""
    ATTRS{devnum}=="3"
    ATTRS{devpath}=="1"
    ATTRS{idProduct}=="5106"
    ATTRS{idVendor}=="174c"
    ATTRS{ltm_capable}=="no"
    ATTRS{manufacturer}=="StoreJet Transcend"au branchement du disque, soit au démarrage, 
    ATTRS{maxchild}=="0"
    ATTRS{product}=="StoreJet Transcend"
    ATTRS{quirks}=="0x0"
    ATTRS{removable}=="removable"
    ATTRS{serial}=="     WD-WXA1EA423E1M"
    ATTRS{speed}=="5000"
    ATTRS{urbnum}=="3283"
    ATTRS{version}==" 3.00"

  looking at parent device '/devices/pci0000:00/0000:00:14.0/usb4':
    KERNELS=="usb4"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{authorized}=="1"
    ATTRS{authorized_default}=="1"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bDeviceClass}=="09"
    ATTRS{bDeviceProtocol}=="03"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bMaxPacketSize0}=="9"
    ATTRS{bMaxPower}=="0mA"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bcdDevice}=="0402"
    ATTRS{bmAttributes}=="e0"
    ATTRS{busnum}=="4"
    ATTRS{configuration}==""
    ATTRS{devnum}=="1"
    ATTRS{devpath}=="0"
    ATTRS{idProduct}=="0003"
    ATTRS{idVendor}=="1d6b"
    ATTRS{ltm_capable}=="no"
    ATTRS{manufacturer}=="Linux 4.2.5-1-ARCH xhci-hcd"
    ATTRS{maxchild}=="4"
    ATTRS{product}=="xHCI Host Controller"
    ATTRS{quirks}=="0x0"
    ATTRS{removable}=="unknown"
    ATTRS{serial}=="0000:00:14.0"
    ATTRS{speed}=="5000"
    ATTRS{urbnum}=="74"
    ATTRS{version}==" 3.00"

  looking at parent device '/devices/pci0000:00/0000:00:14.0':
    KERNELS=="0000:00:14.0"
    SUBSYSTEMS=="pci"
    DRIVERS=="xhci_hcd"
    ATTRS{broken_parity_status}=="0"
    ATTRS{class}=="0x0c0330"
    ATTRS{consistent_dma_mask_bits}=="64"
    ATTRS{d3cold_allowed}=="1"
    ATTRS{device}=="0x1e31"
    ATTRS{dma_mask_bits}=="64"dans des
    ATTRS{driver_override}=="(null)"
    ATTRS{enable}=="1"
    ATTRS{irq}=="24"
    ATTRS{local_cpulist}=="0-7"
    ATTRS{local_cpus}=="ff"
    ATTRS{msi_bus}=="1"
    ATTRS{numa_node}=="-1"
    ATTRS{subsystem_device}=="0x1300"
    ATTRS{subsystem_vendor}=="0x1558"
    ATTRS{vendor}=="0x8086"

  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""
et sudo udevadm test /dev/sdb1

Code : Tout sélectionner

calling: test
version 227
This program is for debugging only, it does not run any program
specified by a RUN key. It may show incorrect results, because
some values may be different, or not available at a simulation run.

=== trie on-disk ===
tool version:          227
file size:         6742240 bytes
header size             80 bytes
strings            1716736 bytes
nodes              5025424 bytes
Load module index
timestamp of '/etc/systemd/network' changed
timestamp of '/usr/lib/systemd/network' changed
Parsed configuration file /usr/lib/systemd/network/99-default.link
Created link configuration context.
timestamp of '/etc/udev/rules.d' changed
Reading rules file: /usr/lib/udev/rules.d/10-dm.rules
Reading rules file: /etc/udev/rules.d/10-local.rules
Reading rules file: /usr/lib/udev/rules.d/11-dm-lvm.rules

Reading rules file: /usr/lib/udev/rules.d/13-dm-disk.rules
Reading rules file: /usr/lib/udev/rules.d/40-hpet-permissions.rules
Reading rules file: /usr/lib/udev/rules.d/50-udev-default.rules
Reading rules file: /usr/lib/udev/rules.d/60-block.rules
Reading rules file: /usr/lib/udev/rules.d/60-cdrom_id.rules
Reading rules file: /usr/lib/udev/rules.d/60-drm.rules
Reading rules file: /usr/lib/udev/rules.d/60-evdev.rules
Reading rules file: /usr/lib/udev/rules.d/60-pcmcia.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-alsa.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-input.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage-tape.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-v4l.rules
Reading rules file: /usr/lib/udev/rules.d/60-rfkill.rules
Reading rules file: /usr/lib/udev/rules.d/60-serial.rules
Reading rules file: /usr/lib/udev/rules.d/63-md-raid-arrays.rules
Reading rules file: /usr/lib/udev/rules.d/64-btrfs.rules
Reading rules file: /usr/lib/udev/rules.d/64-md-raid-assembly.rules
Reading rules file: /usr/lib/udev/rules.d/69-cd-sensors.rules
Reading rules file: /usr/lib/udev/rules.d/69-dm-lvm-metad.rules
Reading rules file: /usr/lib/udev/rules.d/69-libmtp.rules
Reading rules file: /usr/lib/udev/rules.d/70-infrared.rules
Reading rules file: /usr/lib/udev/rules.d/70-mouse.rules
Reading rules file: /usr/lib/udev/rules.d/70-power-switch.rules
Reading rules file: /usr/lib/udev/rules.d/70-uaccess.rules
Reading rules file: /usr/lib/udev/rules.d/71-seat.rules
Reading rules file: /usr/lib/udev/rules.d/73-seat-late.rules
Reading rules file: /usr/lib/udev/rules.d/75-net-description.rules
Reading rules file: /usr/lib/udev/rules.d/75-probe_mtd.rules
Reading rules file: /usr/lib/udev/rules.d/78-sound-card.rules
Reading rules file: /usr/lib/udev/rules.d/80-drivers.rules
Reading rules file: /usr/lib/udev/rules.d/80-net-setup-link.rules
Reading rules file: /usr/lib/udev/rules.d/84-nm-drivers.rules
Reading rules file: /usr/lib/udev/rules.d/85-nm-unmanaged.rules
Reading rules file: /usr/lib/udev/rules.d/90-libgpod.rules
Reading rules file: /usr/lib/udev/rules.d/90-vconsole.rules
Reading rules file: /usr/lib/udev/rules.d/95-cd-devices.rules
Reading rules file: /usr/lib/udev/rules.d/95-dm-notify.rules
Reading rules file: /usr/lib/udev/rules.d/99-systemd.rules
rules contain 98304 bytes tokens (8192 * 12 bytes), 18203 bytes strings
10644 strings (86728 bytes), 8977 de-duplicated (70193 bytes), 1668 trie nodes used
unable to open device '/sys/dev/sdb'
Unload module index
Unloaded link configuration context.
Merci
Répondre