Re: Hotplug and unloading modules
On Thu, 26 Dec 2002, Marc Wilson wrote:
> On Thu, Dec 26, 2002 at 06:11:06PM -0800, Bill Moseley wrote:
> > Is there a way to either unload the modules automatically on hotplug
> > disconnect so that it will run my script again on next hotsync?
>
> Sure. Just have your action script unload it explicitly:
>
> $ cat /etc/hotplug/usb/visor
> #!/bin/sh
> /bin/su mwilson -c /usr/local/bin/coldsync
> /sbin/rmmod visor usbserial
In my case I'm using jpilot-sync.
This first example unloads the modules:
#!/bin/sh
/usr/bin/logger "running visor!"
/sbin/rmmod visor usbserial
But this one doesn't unload the modules:
#!/bin/sh
/usr/bin/logger "running visor!"
sleep 2
/bin/su moseley -c /usr/bin/jpilot-sync
sleep 2
/sbin/rmmod visor usbserial
The hotsync works, but after this completes I still have:
# lsmod
Module Size Used by Tainted: P
visor 10156 1
usbserial 18044 0 [visor]
...
usbcore 49760 1 [visor usbserial usbkbd usb-uhci]
So that means on next hotsync visor is not loaded, and thus
/etc/hotplug/usb/visor is not run.
Stuff I don't understand, but running jpilot-sync must bump the reference
count on the visor module.
# rmmod visor usbserial
visor: Device or resource busy
usbserial: Device or resource busy
--
Bill Moseley moseley@hank.org
Reply to: