diff options
Diffstat (limited to 'hotplug/files/usbd.agent')
-rw-r--r-- | hotplug/files/usbd.agent | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/hotplug/files/usbd.agent b/hotplug/files/usbd.agent index e69de29bb2..6613b4810a 100644 --- a/hotplug/files/usbd.agent +++ b/hotplug/files/usbd.agent @@ -0,0 +1,63 @@ +#!/bin/ash + +# DEBUG=yes export DEBUG +#set -x + +. /etc/hotplug/hotplug.functions +. /etc/default/usbd +cd $HOTPLUG_DIR + +[ -z "$INTERFACE" ] && exit 1 +[ -z "$ACTION" ] && exit 1 +[ -z "$usbdmodule" ] && exit 0 + +debug_mesg "USBD $ACTION Action Recived" + +case $INTERFACE in + +monitor) + case $ACTION in + # called to load all usb device modules + load) + modprobe usbdcore + modprobe net_fd + modprobe $usbdmodule + ;; + + # called to handle suspend power management event + suspend) + rmmod $usbdmodule + ;; + + # called to reload after resume power management event + restore-loaded) + modprobe $usbdmodule + sleep 2 + ;; + + # called to unload after resume power management event + restore-unloaded) + modprobe -r net_fd + ;; + + # called to unload all usb device modules + unload) + modprobe -r $usbdmodule + ;; + + *) + debug_mesg USBD $ACTION event not handled + exit 1 + ;; + esac + ;; +*) + debug_mesg USBD $INTERFACE-$ACTION event not handled + exit 1 + ;; +esac + +[ -e /proc/usb-monitor ] && echo "Done" > /proc/usb-monitor + +exit 0 + |