udev and pcmcia
Pete Zaitcev
zaitcev at redhat.com
Thu Aug 25 05:50:09 UTC 2005
I seem to have figured this out. The udev is not implicated at all,
because the kernel will not deliver any hotplug events until the
pcmcia-socket-startup was run (so udev cannot do anything about it).
Harald suggested to look at scsi_replay() in /sbin/start_udev.
I did, and while interesting, it seems like an overkill.
I don't know if we want to enable pcmcia sockets that early.
We do not boot from CF-in-PCMCIA adapter, right? My main concern
is that anything running so early is hard to debug.
Bill, how about adding a script to pcmciautils (see appended)?
-- Pete
#!/bin/sh
#
# pcmcia This shell script runs pcmcia-socket-statup for sockets
# with statically linked socket drivers.
# For Ethernet to work, this has to be run before network.
#
# chkconfig: 2345 09 95
# description: The pcmcia is a fake service. All necessary setup is proviced \
# by udev, except in case a socket driver is built statically.
# probe: true
# config: /etc/sysconfig/pcmcia
. /etc/init.d/functions
prog=pcmcia
startup=/sbin/pcmcia-socket-startup
start () {
if [ \! -x $startup ]; then
return 1;
fi
names=$(find /sys/class/pcmcia_socket -name pcmcia_socket[0-9]* 2>&1)
if [ \! "$?" ]; then
# Something is very broken. Not sure what to do though...
return 1;
fi
if [ -z "$names" ]; then
# No PCMCIA on this box, or dynamic socket driver. Good!
return 0;
fi
echo -n $"Running $prog: "
for name in $names
do
name=$(basename $name)
/sbin/pcmcia-socket-startup $name
done
[ $? -eq 0 ] && success || failure
echo
}
case "$1" in
start)
start
;;
stop|restart|reload|status|condrestart)
# Do nothing
;;
*)
echo $"Usage: $0 {start|stop|status|reload|restart|condrestart}"
exit 1
esac
More information about the fedora-devel-list
mailing list