[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Lanzar automagicamente script al detectar evento usb



El mié, 20-10-2010 a las 13:58 +0200, jmramirez escribió:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> > 2010/10/20 jmramirez <mas_ke_na@hotmail.com <mailto:mas_ke_na@hotmail.com>>
> > 
> >     -----BEGIN PGP SIGNED MESSAGE-----
> >     Hash: SHA1
> > 
> >     Buenos días a tos ....
> > 
> >            Estoy buscando la manera de poder lanzar automagicamente un
> >     script
> >     cuando se conecte un dispositivo usb. Pero no doy con la solución.
> > 
> >            He visto por la red diferentes opciones y esta [1] (usbmgr)
> >     creo que es
> >     la que mejor "me viene". Pero estoy bastante perdido y me gustaría si
> >     alguien conoce algun link donde tenga mas informacion ( a ser posible en
> >     castellano) para ver si me "empapo" un poco.
> > 
> >            Uso Squeeze y el paquete no le veo, busque en [2] ( en toda las
> >     versiones) pero no existe, lo cual ya me ha roto del todo. Creo ( pero
> >     no lo se) que todo esto ahora lo maneja udev. Pero no se como hacer lo
> >     que quiero con udevadm u otro comando.
> > 
> >     PD: No me quisiera poner una tarea de cron cada 5 min para que ejecute
> >     el script.
> > 
> >     [1]
> >     http://www.mail-archive.com/debian-user-spanish@lists.debian.org/msg71572.html
> > 
> >     [2]
> >     http://packages.debian.org/search?keywords=usbmgr+&searchon=names&suite=stable&section=all
> >     <http://packages.debian.org/search?keywords=usbmgr+&searchon=names&suite=stable&section=all>
> > 
> > 
> > 
> > http://www.gradstein.info/hardware/how-to-automatically-run-a-script-after-inserting-a-usb-device-on-ubuntu/
> Buenas....
> 
> 	Lo primero gracias por la velocidad y la respuesta, aunque es para
> ubuntu y no es exactamente igual. Pero me ha servido para tirar del hilo.
> 
> 	El comando en Squeeze es "udevadm info" y después de saber cual es el
> path hice este comando:
> 
> udevadm info -a all --path=/devices/pci0000:00/0000:00:1d.7/usb1/1-3
> 
> 	Encontré este link [1] que viene bien explicado ( eso me pareció a mi y
> ademas en castellano), el como crearte las reglas para udev.
> 
> 	Pero no consigo ver en los logs, que esta fallando, se que no se
> ejecuta el script. Así es como lo tengo:
> 
> 
> cat /etc/udev/rules.d/jmramirez.rules
> 
> ACTION=="add", SUBSYSTEM=="pci", DRIVERS=="ehci_hcd",
> ATTR{vendor}=="0x8086", ATTR{device}=="0x27cc", KERNEL=="0000:00:1d.7",
>  RUN+="/home/jmramirez/Desktop/automagicoIFUSE.sh"
> 
> ACTION=="remove", SUBSYSTEM=="pci", DRIVERS=="ehci_hcd",
> ATTR{vendor}=="0x8086", ATTR{device}=="0x27cc", KERNEL=="0000:00:1d.7",
>  RUN+="/home/jmramirez/Desktop/automagicoIFUSE.sh"
> 
> 	Esto es lo que veo en el log:
> 
> cat  /var/log/syslog | grep jmramirez.rule
> 
> Oct 20 12:43:13 jmramirezmachine udevd[31863]: BUS= will be removed in a
> future udev version, please use SUBSYSTEM= to match the event device, or
> SUBSYSTEMS= to match a parent device, in /etc/udev/rules.d/jmramirez.rules:1
> 


Si es un evento USB porque usas el SUBSYSTEM=pci ?


Yo lo dejaría en la acción, vendedor y producto:

ACTION=="add", ATTR{idVendor}=="8086", ATTR{idProduct}=="????", RUN
+="/home/jmramirez/Desktop/automagicoIFUSE.sh"

ACTION=="remove", ATTR{idVendor}=="8086", ATTR{idProduct}=="????", RUN
+="/home/jmramirez/Desktop/automagicoIFUSE.sh"


(no me se el idProducto, puedes verlo con lsusb)

Luego recargas las reglas con

# udevadm control --reload-rules

En el script podrás leer un montón de variables de entorno para verlas
mete esto al principio

echo "-----------------" >> /tmp/automagicoIFUSE.log
env >> /tmp/automagicoIFUSE.log


-- 
Saludos
--
http://mariodebian.com

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: