Udførelse af script ved indsættelse af USB stick

Spørgsmål, som ikke kan besvares i andre hardware-fora, bør stilles her.
wolf
Indlæg: 110
Tilmeldt: 29. jan 2008, 08:58
Geografisk sted: Nørresundby

Udførelse af script ved indsættelse af USB stick

Indlæg af wolf »

Jeg forsøger at få et script til at eksekvere automatisk, når jeg sætter en USB stick i computeren. Til det har jeg lavet et script (chmod 755), som skriver en tekst til en logfil (chmod 666). Endelig har jeg lavet en udev-regel i /lib/udev/rules.d/90-test-usb.rules:

Kode: Vælg alt

SUBSYSTEMS=="usb", ATTRS{serial}=="A090711395131", NAME="backup", RUN+="/home/test-usbplugin.sh"

En "manuel" udførelse af /home/test-usbplugin.sh skriver en tekst ned i logfilen, så dén del virker.

Men der sker intet, når jeg sætter USB-sticken i computeren, bortset fra at der åbnes et vindue med indholdet af sticken. Scriptet bliver tilsyneladende ikke udført.

Kan nogen hjælpe mig, idet udev informationen for USB-sticken er som vist nedenfor?


Kode: Vælg alt

wolf@wolf:$ udevadm info --attribute-walk --name /dev/sdb1 

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:1d.7/usb2/2-1/2-1:1.0/host25/target25:0:0/25:0:0:0/block/sdb/sdb1':                                           
    KERNEL=="sdb1"                                                             
    SUBSYSTEM=="block"                                                         
    DRIVER==""                                                                 
    ATTR{partition}=="1"                                                       
    ATTR{start}=="32"                                                           
    ATTR{size}=="507872"                                                       
    ATTR{alignment_offset}=="0"                                                 
    ATTR{stat}=="      73      333      993      220        0        0        0        0        0      130      220"                                           

  looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.0/host25/target25:0:0/25:0:0:0/block/sdb':                                         
    KERNELS=="sdb"                                                             
    SUBSYSTEMS=="block"                                                         
    DRIVERS==""                                                                 
    ATTRS{range}=="16"                                                         
    ATTRS{ext_range}=="256"                                                     
    ATTRS{removable}=="1"                                                       
    ATTRS{ro}=="0"                                                             
    ATTRS{size}=="507904"                                                       
    ATTRS{alignment_offset}=="0"                                               
    ATTRS{capability}=="53"                                                     
    ATTRS{stat}=="      78      368     1313      230        0        0        0        0        0      130      230"                                           

  looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.0/host25/target25:0:0/25:0:0:0':                                                   
    KERNELS=="25:0:0:0"                                                         
    SUBSYSTEMS=="scsi"                                                         
    DRIVERS=="sd"                                                               
    ATTRS{device_blocked}=="0"                                                 
    ATTRS{type}=="0"                                                           
    ATTRS{scsi_level}=="3"                                                     
    ATTRS{vendor}=="256MB   "                                                   
    ATTRS{model}=="USB2.0FlashDrive"                                           
    ATTRS{rev}=="    "                                                         
    ATTRS{state}=="running"                                                     
    ATTRS{timeout}=="30"                                                       
    ATTRS{iocounterbits}=="32"                                                 
    ATTRS{iorequest_cnt}=="0x75"                                               
    ATTRS{iodone_cnt}=="0x75"                                                   
    ATTRS{ioerr_cnt}=="0x1"                                                     
    ATTRS{modalias}=="scsi:t-0x00"                                             
    ATTRS{evt_media_change}=="0"                                               
    ATTRS{queue_depth}=="1"                                                     
    ATTRS{queue_type}=="none"                                                   
    ATTRS{max_sectors}=="240"                                                   

  looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.0/host25/target25:0:0':                                                             
    KERNELS=="target25:0:0"                                                     
    SUBSYSTEMS=="scsi"                                                         
    DRIVERS==""                                                                 

  looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.0/host25':                                                                         
    KERNELS=="host25"                                                           
    SUBSYSTEMS=="scsi"                                                         
    DRIVERS==""                                                                 

  looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.0':
    KERNELS=="2-1:1.0"                                                         
    SUBSYSTEMS=="usb"                                                         
    DRIVERS=="usb-storage"                                                     
    ATTRS{bInterfaceNumber}=="00"                                             
    ATTRS{bAlternateSetting}==" 0"                                             
    ATTRS{bNumEndpoints}=="03"                                                 
    ATTRS{bInterfaceClass}=="08"                                               
    ATTRS{bInterfaceSubClass}=="06"                                           
    ATTRS{bInterfaceProtocol}=="50"                                           
    ATTRS{modalias}=="usb:v0117p0117d0100dc00dsc00dp00ic08isc06ip50"           
    ATTRS{supports_autosuspend}=="0"                                           
    ATTRS{interface}=="BULK"                                                   

  looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb2/2-1':
    KERNELS=="2-1"                                                     
    SUBSYSTEMS=="usb"                                                 
    DRIVERS=="usb"                                                     
    ATTRS{configuration}=="iCfg"                                       
    ATTRS{bNumInterfaces}==" 1"                                       
    ATTRS{bConfigurationValue}=="1"                                   
    ATTRS{bmAttributes}=="80"                                         
    ATTRS{bMaxPower}=="100mA"                                         
    ATTRS{urbnum}=="480"                                               
    ATTRS{idVendor}=="0117"                                           
    ATTRS{idProduct}=="0117"                                           
    ATTRS{bcdDevice}=="0100"                                           
    ATTRS{bDeviceClass}=="00"                                         
    ATTRS{bDeviceSubClass}=="00"                                       
    ATTRS{bDeviceProtocol}=="00"                                       
    ATTRS{bNumConfigurations}=="1"                                     
    ATTRS{bMaxPacketSize0}=="64"                                       
    ATTRS{speed}=="480"                                               
    ATTRS{busnum}=="2"                                                 
    ATTRS{devnum}=="18"                                               
    ATTRS{version}==" 2.00"                                           
    ATTRS{maxchild}=="0"                                               
    ATTRS{quirks}=="0x0"                                               
    ATTRS{authorized}=="1"                                             
    ATTRS{manufacturer}=="Power by USB"                               
    ATTRS{product}=="USB 2.0 Flash Drive    "                         
    ATTRS{serial}=="A090711395131"                                     

  looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb2':
    KERNELS=="usb2"                                               
    SUBSYSTEMS=="usb"                                             
    DRIVERS=="usb"                                                 
    ATTRS{configuration}==""                                       
    ATTRS{bNumInterfaces}==" 1"                                   
    ATTRS{bConfigurationValue}=="1"                               
    ATTRS{bmAttributes}=="e0"                                     
    ATTRS{bMaxPower}=="  0mA"                                     
    ATTRS{urbnum}=="406"                                           
    ATTRS{idVendor}=="1d6b"                                       
    ATTRS{idProduct}=="0002"                                       
    ATTRS{bcdDevice}=="0206"                                       
    ATTRS{bDeviceClass}=="09"                                     
    ATTRS{bDeviceSubClass}=="00"                                   
    ATTRS{bDeviceProtocol}=="00"                                   
    ATTRS{bNumConfigurations}=="1"                                 
    ATTRS{bMaxPacketSize0}=="64"                                   
    ATTRS{speed}=="480"                                           
    ATTRS{busnum}=="2"                                             
    ATTRS{devnum}=="1"                                             
    ATTRS{version}==" 2.00"                                       
    ATTRS{maxchild}=="6"                                           
    ATTRS{quirks}=="0x0"                                           
    ATTRS{authorized}=="1"                                         
    ATTRS{manufacturer}=="Linux 2.6.31-15-generic ehci_hcd"       
    ATTRS{product}=="EHCI Host Controller"                         
    ATTRS{serial}=="0000:00:1d.7"                                 
    ATTRS{authorized_default}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:1d.7':
    KERNELS=="0000:00:1d.7"
    SUBSYSTEMS=="pci"
    DRIVERS=="ehci_hcd"
    ATTRS{vendor}=="0x8086"
    ATTRS{device}=="0x3a3a"
    ATTRS{subsystem_vendor}=="0x1458"
    ATTRS{subsystem_device}=="0x5006"
    ATTRS{class}=="0x0c0320"
    ATTRS{irq}=="23"
    ATTRS{local_cpus}=="00000000,00000003"
    ATTRS{local_cpulist}=="0-1"
    ATTRS{modalias}=="pci:v00008086d00003A3Asv00001458sd00005006bc0Csc03i20"
    ATTRS{numa_node}=="0"
    ATTRS{broken_parity_status}=="0"
    ATTRS{msi_bus}==""
    ATTRS{companion}==""

  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""
soundpartner
Indlæg: 3461
Tilmeldt: 27. sep 2008, 23:51
IRC nickname: sound
Geografisk sted: København

Re: Udførelse af script ved indsættelse af USB stick

Indlæg af soundpartner »

wolf skrev:Jeg forsøger at få et script til at eksekvere automatisk, når jeg sætter en USB stick i computeren. Til det har jeg lavet et script (chmod 755), som skriver en tekst til en logfil (chmod 666). Endelig har jeg lavet en udev-regel i /lib/udev/rules.d/90-test-usb.rules:

Kode: Vælg alt

SUBSYSTEMS=="usb", ATTRS{serial}=="A090711395131", NAME="backup", RUN+="/home/test-usbplugin.sh"

En "manuel" udførelse af /home/test-usbplugin.sh skriver en tekst ned i logfilen, så dén del virker.

Men der sker intet, når jeg sætter USB-sticken i computeren, bortset fra at der åbnes et vindue med indholdet af sticken. Scriptet bliver tilsyneladende ikke udført.

Kan nogen hjælpe mig, idet udev informationen for USB-sticken er som vist nedenfor?


Kode: Vælg alt

wolf@wolf:$ udevadm info --attribute-walk --name /dev/sdb1 

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:1d.7/usb2/2-1/2-1:1.0/host25/target25:0:0/25:0:0:0/block/sdb/sdb1':                                           
    KERNEL=="sdb1"                                                             
    SUBSYSTEM=="block"                                                         
    DRIVER==""                                                                 
    ATTR{partition}=="1"                                                       
    ATTR{start}=="32"                                                           
    ATTR{size}=="507872"                                                       
    ATTR{alignment_offset}=="0"                                                 
    ATTR{stat}=="      73      333      993      220        0        0        0        0        0      130      220"                                           

  looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.0/host25/target25:0:0/25:0:0:0/block/sdb':                                         
    KERNELS=="sdb"                                                             
    SUBSYSTEMS=="block"                                                         
    DRIVERS==""                                                                 
    ATTRS{range}=="16"                                                         
    ATTRS{ext_range}=="256"                                                     
    ATTRS{removable}=="1"                                                       
    ATTRS{ro}=="0"                                                             
    ATTRS{size}=="507904"                                                       
    ATTRS{alignment_offset}=="0"                                               
    ATTRS{capability}=="53"                                                     
    ATTRS{stat}=="      78      368     1313      230        0        0        0        0        0      130      230"                                           

  looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.0/host25/target25:0:0/25:0:0:0':                                                   
    KERNELS=="25:0:0:0"                                                         
    SUBSYSTEMS=="scsi"                                                         
    DRIVERS=="sd"                                                               
    ATTRS{device_blocked}=="0"                                                 
    ATTRS{type}=="0"                                                           
    ATTRS{scsi_level}=="3"                                                     
    ATTRS{vendor}=="256MB   "                                                   
    ATTRS{model}=="USB2.0FlashDrive"                                           
    ATTRS{rev}=="    "                                                         
    ATTRS{state}=="running"                                                     
    ATTRS{timeout}=="30"                                                       
    ATTRS{iocounterbits}=="32"                                                 
    ATTRS{iorequest_cnt}=="0x75"                                               
    ATTRS{iodone_cnt}=="0x75"                                                   
    ATTRS{ioerr_cnt}=="0x1"                                                     
    ATTRS{modalias}=="scsi:t-0x00"                                             
    ATTRS{evt_media_change}=="0"                                               
    ATTRS{queue_depth}=="1"                                                     
    ATTRS{queue_type}=="none"                                                   
    ATTRS{max_sectors}=="240"                                                   

  looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.0/host25/target25:0:0':                                                             
    KERNELS=="target25:0:0"                                                     
    SUBSYSTEMS=="scsi"                                                         
    DRIVERS==""                                                                 

  looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.0/host25':                                                                         
    KERNELS=="host25"                                                           
    SUBSYSTEMS=="scsi"                                                         
    DRIVERS==""                                                                 

  looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.0':
    KERNELS=="2-1:1.0"                                                         
    SUBSYSTEMS=="usb"                                                         
    DRIVERS=="usb-storage"                                                     
    ATTRS{bInterfaceNumber}=="00"                                             
    ATTRS{bAlternateSetting}==" 0"                                             
    ATTRS{bNumEndpoints}=="03"                                                 
    ATTRS{bInterfaceClass}=="08"                                               
    ATTRS{bInterfaceSubClass}=="06"                                           
    ATTRS{bInterfaceProtocol}=="50"                                           
    ATTRS{modalias}=="usb:v0117p0117d0100dc00dsc00dp00ic08isc06ip50"           
    ATTRS{supports_autosuspend}=="0"                                           
    ATTRS{interface}=="BULK"                                                   

  looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb2/2-1':
    KERNELS=="2-1"                                                     
    SUBSYSTEMS=="usb"                                                 
    DRIVERS=="usb"                                                     
    ATTRS{configuration}=="iCfg"                                       
    ATTRS{bNumInterfaces}==" 1"                                       
    ATTRS{bConfigurationValue}=="1"                                   
    ATTRS{bmAttributes}=="80"                                         
    ATTRS{bMaxPower}=="100mA"                                         
    ATTRS{urbnum}=="480"                                               
    ATTRS{idVendor}=="0117"                                           
    ATTRS{idProduct}=="0117"                                           
    ATTRS{bcdDevice}=="0100"                                           
    ATTRS{bDeviceClass}=="00"                                         
    ATTRS{bDeviceSubClass}=="00"                                       
    ATTRS{bDeviceProtocol}=="00"                                       
    ATTRS{bNumConfigurations}=="1"                                     
    ATTRS{bMaxPacketSize0}=="64"                                       
    ATTRS{speed}=="480"                                               
    ATTRS{busnum}=="2"                                                 
    ATTRS{devnum}=="18"                                               
    ATTRS{version}==" 2.00"                                           
    ATTRS{maxchild}=="0"                                               
    ATTRS{quirks}=="0x0"                                               
    ATTRS{authorized}=="1"                                             
    ATTRS{manufacturer}=="Power by USB"                               
    ATTRS{product}=="USB 2.0 Flash Drive    "                         
    ATTRS{serial}=="A090711395131"                                     

  looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb2':
    KERNELS=="usb2"                                               
    SUBSYSTEMS=="usb"                                             
    DRIVERS=="usb"                                                 
    ATTRS{configuration}==""                                       
    ATTRS{bNumInterfaces}==" 1"                                   
    ATTRS{bConfigurationValue}=="1"                               
    ATTRS{bmAttributes}=="e0"                                     
    ATTRS{bMaxPower}=="  0mA"                                     
    ATTRS{urbnum}=="406"                                           
    ATTRS{idVendor}=="1d6b"                                       
    ATTRS{idProduct}=="0002"                                       
    ATTRS{bcdDevice}=="0206"                                       
    ATTRS{bDeviceClass}=="09"                                     
    ATTRS{bDeviceSubClass}=="00"                                   
    ATTRS{bDeviceProtocol}=="00"                                   
    ATTRS{bNumConfigurations}=="1"                                 
    ATTRS{bMaxPacketSize0}=="64"                                   
    ATTRS{speed}=="480"                                           
    ATTRS{busnum}=="2"                                             
    ATTRS{devnum}=="1"                                             
    ATTRS{version}==" 2.00"                                       
    ATTRS{maxchild}=="6"                                           
    ATTRS{quirks}=="0x0"                                           
    ATTRS{authorized}=="1"                                         
    ATTRS{manufacturer}=="Linux 2.6.31-15-generic ehci_hcd"       
    ATTRS{product}=="EHCI Host Controller"                         
    ATTRS{serial}=="0000:00:1d.7"                                 
    ATTRS{authorized_default}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:1d.7':
    KERNELS=="0000:00:1d.7"
    SUBSYSTEMS=="pci"
    DRIVERS=="ehci_hcd"
    ATTRS{vendor}=="0x8086"
    ATTRS{device}=="0x3a3a"
    ATTRS{subsystem_vendor}=="0x1458"
    ATTRS{subsystem_device}=="0x5006"
    ATTRS{class}=="0x0c0320"
    ATTRS{irq}=="23"
    ATTRS{local_cpus}=="00000000,00000003"
    ATTRS{local_cpulist}=="0-1"
    ATTRS{modalias}=="pci:v00008086d00003A3Asv00001458sd00005006bc0Csc03i20"
    ATTRS{numa_node}=="0"
    ATTRS{broken_parity_status}=="0"
    ATTRS{msi_bus}==""
    ATTRS{companion}==""

  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""

jeg har rodet en smule med den slags og jeg bruger følgende:

Kode: Vælg alt

SUBSYSTEM=="usb", SYSFS{idProduct}=="[color=#FF00FF]b700[/color]", SYSFS{idVendor}=="[color=#0000FF]0b05[/color]", RUN+="/usr/sbin/script.sh"


hvis jeg f.eks vil have det kørt når min bluetooth ting bliver isat finder jeg den med lsusb

Kode: Vælg alt

Bus 005 Device 002: ID [color=#0000FF]0b05[/color]:[color=#FF00FF]b700[/color]  Broadcom Bluetooth 2.1

og ændrer så det passer med vendor id samt product id
Selvudnævnt guru når det drejer sig om mobilt bredbånd

Webmaster og stifter af:
Billede
Hvor du finder scripts til en hver situation

Billede
wolf
Indlæg: 110
Tilmeldt: 29. jan 2008, 08:58
Geografisk sted: Nørresundby

Re: Udførelse af script ved indsættelse af USB stick

Indlæg af wolf »

Det lykkedes mig at løse problemet. Det var ikke fordi der var tale om forkerte tests i .rules filen, men fordi det ikke var tilstrækkeligt at indlede mit script med #!/bin/sh. Jeg måtte skrive RUN+="/bin/sh /home/test-usbplugin.sh" i stedet for blot RUN+="/home/test-usbplugin.sh".