[Asterisk-Users] FC3 + udev + Asterisk v1.0.3 - Temporary Fix

Raymond McKay asterisk at raynettech.com
Fri Jan 28 19:38:59 MST 2005


I haven't seen anybody so far post a complex fix for the udev problems on 
FC3 with the latest kernel.  On that note, I have a temporary fix to allow 
zaptel to load somewhat normally.  I found that modifying the zaptel script 
to 1) load, unload, then load the driver modules and 2) insert a pause 
between modules seems to allow things to work.  This assumes you have 
followed the instructions and modified the udev rules and permissions as 
documented on the wiki.  Also, you may need to modify the length of the 
sleep statements depending on the speed of your system.  Modified zaptel 
init script as follows

#!/bin/sh
#
# zaptel        This shell script takes care of loading and unloading \
#               Zapata Telephony interfaces
# chkconfig: 2345 9 92
# description: The zapata telephony drivers allow you to use your linux \
# computer to accept incoming data and voice interfaces
#
# config: /etc/sysconfig/zaptel

# Source function library.
. /etc/rc.d/init.d/functions

[ -f /etc/sysconfig/zaptel ] || exit 0

# Source zaptel configuration.
. /etc/sysconfig/zaptel

# Check that telephony is up.
if [ "${TELEPHONY}" = "no" ]; then
 exit 0
fi

[ -f /sbin/ztcfg ] || exit 0

[ -f /etc/zaptel.conf ] || exit 0

RETVAL=0

MODULES="wcfxs wcfxo"

RMODULES="wcfxs wcfxo"

if [ "${DEBUG}" = "yes" ]; then
 ARGS="debug=1"
fi

# See how we were called.
case "$1" in
  start)
        # Load drivers
 rmmod wcusb >& /dev/null
 rmmod wcfxsusb >& /dev/null
 rmmod audio >& /dev/null
 action "Loading zaptel framework: " modprobe zaptel
        echo -n "Loading zaptel hardware modules: "
 for x in $MODULES; do
  if modprobe ${x} ${ARGS} >& /dev/null; then
   echo -n "$x "
   sleep 1
  fi
 done
 echo
        # Unload Driver Modules.
        echo -n "Unloading zaptel hardware drivers: "
        for x in $RMODULES; do
                if rmmod  ${x} >& /dev/null; then
                        echo -n "$x "
   sleep 1
                fi
        done
 echo
 # Reload the modules again
 echo -n "Loading zaptel hardware modules: "
        for x in $MODULES; do
                if modprobe ${x} ${ARGS} >& /dev/null; then
                        echo -n "$x "
   sleep 1
                fi
        done
 echo
 action "Running ztcfg: " /sbin/ztcfg
 RETVAL=$?

        [ $RETVAL -eq 0 ] && touch /var/lock/subsys/zaptel
        ;;
  stop)
        # Stop daemons.
        echo -n "Unloading zaptel hardware drivers: "
 for x in $RMODULES; do
  if rmmod  ${x} >& /dev/null; then
   echo -n "$x "
  fi
 done
 echo

 action "Removing zaptel module: " rmmod zaptel
 RETVAL=$?
        [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/zaptel
        ;;
 restart)
 $0 stop
 $0 start
 RETVAL=$?
 ;;
  reload)
 action "Reloading ztcfg: " /sbin/ztcfg
 ;;
  *)
        echo "Usage: zaptel {start|stop|restart|reload}"
        exit 1
esac

exit $RETVAL


Hopes this helps anybody else trying to implement on a FC3 base.

Raymond McKay
President
RAYNET Technologies LLC
http://www.raynettech.com
(860) 693-2226 x 31
Toll Free (877) 693-2226 




More information about the asterisk-users mailing list