Freeradius 2 doesn't start after upgrade to PFS 2.2



  • @malvank:

    @sherbeeny:

    I got it fixed when I went to "Packages" tab and reinstalled Freeradius2 by pressing on its [pkg] button.

    I run PFS 2.2.6 and had the same problem and reinstalling the packadge solved the problem.

    This works as well, unsure why…

    Also the previous post on the fix, it works but then you can never stop it, since the PID file is there when it's running.  Not sure how to 100% prevent this issue.



  • Same problem here on 2.3 release, service doesn't start in 90% of the cases on reboot….

    As suggested by bbaumer just edit /usr/local/etc/rc.d/radiusd.sh by this way to solve the situation  :) :

    #!/bin/sh
    # This file was automatically generated
    # by the pfSense service handler.
    
    SERVICENAME="radiusd"
    LOCKFILE="/tmp/${SERVICENAME}_start.lock"
    PIDFILE="/var/run/${SERVICENAME}.pid"
    
    rc_start() {
    
            # prevent this part of script from running in parallel
            if ( set -o noclobber; echo "$$" > "$LOCKFILE") 2> /dev/null; then
                    # make sure lock file is removed even if script is terminated
                    trap 'rm -f "$LOCKFILE"; exit $?' INT TERM EXIT
    
                    /usr/local/etc/rc.d/radiusd onestart
    
                    # try to wait until the service starts
                    if [ ! -f "$PIDFILE" ]; then
                            echo "$SERVICENAME.sh: PID file was not found"
    
                            for i in 1 2 3 4 5; do
                                    if [ -f "$PIDFILE" ]; then
                                            echo "$SERVICENAME.sh: Service started PID: `cat $PIDFILE`"
                                            break
                                    else
                                            echo "$SERVICENAME.sh: Waiting 0.5 seconds"
                                            sleep 0.5
                                    fi
                            done
                    else
                            echo "$SERVICENAME.sh: Service running PID: `cat $PIDFILE`"
                    fi
    
                    rm -f "$LOCKFILE"
                    trap - INT TERM EXIT
            else
                    echo "$SERVICENAME.sh: Cannot continue at this moment, this script is already trying to start service PID: $(cat $LOCKFILE)"
            fi
    }
    
    rc_stop() {
            # Don't stop if service start is in progress
            # pfSctl -c 'service reload packages' call start and stop multiple times
    
            if [ ! -f "$LOCKFILE" -a -f "$PIDFILE" ]; then
                /usr/local/etc/rc.d/radiusd onestop
            fi
    }
    
    case $1 in
            start)
                    rc_start
                    ;;
            stop)
                    rc_stop
                    ;;
            restart)
                    rc_stop
                    rc_start
                    ;;
    esac
    
    

  • Banned


Log in to reply