#!/bin/sh # /etc/hotplug.d/usb/usb-stub.hotplug # This an example of how to get a 'hook' into a USB event. # You may need to create the directory /etc/hotplug.d/usb # Then place this file inside the directory and make sure it's executable # the name doesn't matter and all the echos are just verbosity for # debugging. The main thing is to run your external script if certain # conditions are met. The example script here is /usr/sbin/do-hotmnt # We have to export any of the variables we need to exec and background # the new process so this hook can exit. # ACTION DEVICE and INTERFACE are probably all we need (maybe DEVFS) cd /etc/hotplug . ./hotplug.functions # DEBUG=yes export DEBUG debug_mesg "arguments ($*) env (`env`)" #echo "Hello from /etc/hotplug.d/usb/usb-stub.hotplug" >> /var/log/messages case $ACTION in add) # Stub #echo "Adding:" >> /var/log/messages #echo "DEVICE=$DEVICE" >> /var/log/messages #echo "ACTION=$ACTION" >> /var/log/messages #echo "PRODUCT=$PRODUCT" >> /var/log/messages #echo "INTERFACE=$INTERFACE" >> /var/log/messages #echo "TYPE is: $TYPE" >> /var/log/messages #echo "DEVFS=$DEVFS" >> /var/log/messages #echo "LABEL=$LABEL" >> /var/log/messages # echo "REMOVER is: $REMOVER" >> /var/log/messages #echo "SUBSYSTEM is: $SUBSYSTEM" >> /var/log/messages #echo "DEVPATH is: $DEVPATH" >> /var/log/messages # echo "PHYSDEVDRIVER is: $PHYSDEVDRIVER" >> /var/log/messages #if [[ "$INTERFACE" = "8\/*" ]] ; then if [[ `echo $INTERFACE |grep "8/*"` ]] ; then echo "This is a USB mass storage device using SCSI emulation" >> /var/log/messages export $INTERFACE $TYPE $PRODUCT $ACTION $DEVICE /usr/sbin/do-hotmnt & fi ;; remove) # Stub echo "Removing:" >> /var/log/messages #echo "SUBSYSTEM is: $SUBSYSTEM" >> /var/log/messages #echo "DEVPATH is: $DEVPATH" >> /var/log/messages echo "DEVICE=$DEVICE" >> /var/log/messages #echo "PHYSDEVDRIVER is: $PHYSDEVDRIVER" >> /var/log/messages echo "ACTION=$ACTION" >> /var/log/messages echo "PRODUCT=$PRODUCT" >> /var/log/messages echo "INTERFACE=$INTERFACE" >> /var/log/messages #echo "TYPE is: $TYPE" >> /var/log/messages #echo "DEVFS is: $DEVFS" >> /var/log/messages #echo "REMOVER is: $REMOVER" >> /var/log/messages export $INTERFACE $TYPE $PRODUCT $ACTION $DEVICE /usr/sbin/do-hotmnt & ;; register) # let usb.agent take care of registering and unregistering echo "ACTION=$ACTION" >> /var/log/messages echo "DEVICE=$DEVICE" >> /var/log/messages true ;; unregister) echo "ACTION=$ACTION" >> /var/log/messages echo "DEVICE=$DEVICE" >> /var/log/messages true ;; *) echo "ACTION=$ACTION" >> /var/log/messages echo "DEVICE=$DEVICE" >> /var/log/messages ;; esac