Unable to automatically start PIMD
-
I'm running pfsense 25.11. I have the PIMD package installed and it always worked. However, now it won't start at all. I recently upgraded from 25.07 to 25.11, in which this package went from 2.3.2_2 -> 2.3.2b_1.
If I run the command below it starts correctly.
/usr/local/etc/rc.d/pimd onestartHowever, if I run this one:
/usr/local/etc/rc.d/pimd startIt generates an error that says:
Cannot 'start' pimd. Set pimd_enable to YES in /etc/rc.conf or use 'onestart' instead of 'start'.I've tried uninstalling and reinstalling, but that's had no effect. I created a
/etc/rc.conf.localthat containspimd_enable="YES". Once that was in place, I could run the regular start command it would start correctly. However, when I reboot it does not start again and I have to manually run/usr/local/etc/rc.d/pimd start.Has anyone run into this and found a solution. Any suggestions on how to troubleshoot further?
-
@dmorda Why not just use the webConfigurator/GUI radio? Does that successfully start the service?
-
@tinfoilmatt - Weirdly no. When I run the
startcommand and look in the GUI I can see it's running and everything looks OK. If I click the "restart" button for the service in the GUI, it fails to start and I have to manually start it again. -
I also found out that when I start it manually the PIMD Status page shows doesn't show the routes, it shows the output as though the wrong command was run.

However, from the command line, if I runpimctlit shows the correct information for the various tables. -
@dmorda said in Unable to automatically start PIMD:
I'm running pfsense 25.11. I have the PIMD package installed and it always worked. However, now it won't start at all. I recently upgraded from 25.07 to 25.11, in which this package went from 2.3.2_2 -> 2.3.2b_1.
If I run the command below it starts correctly.
/usr/local/etc/rc.d/pimd onestartHowever, if I run this one:
/usr/local/etc/rc.d/pimd startIt generates an error that says:
Cannot 'start' pimd. Set pimd_enable to YES in /etc/rc.conf or use 'onestart' instead of 'start'.This indicates that you are using the base level FreeBSD script rather than the pfSense package script.
The pfSense scripts are usually named ending in “.sh”. If there isn’t one ending in .sh, it usually indicates that the service isn’t enabled.
-
@dennypage - Yep, I realized that eventually through debugging. However, I rebooted the device and am back to a clean slate meaning that the PIMD is the one that pfsense manages and it currently will not start. The only way I can get it to start is to manually run it from the command line, which won't survive a reboot or a restart through the pfSense GUI. I can't seem to track down why PIMD won't work at all when using the pfSense GUI.
-
@dmorda did you look in the system log?
-
@dennypage - Yep. I currently have the PIMD configuration set to DEBUG mode. If I try starting the service not a single thing shows up in the System Logs. Every once in a while I'll get a "pimd version 2.3.2b starting.", but nothing else. It'a almost as though pfsense isn't even trying to start PIMD.
-
-
@dennypage And I think you just helped me find the issue. Here's what starting the script showed.
[25.11-RELEASE][root@firewall.mydomain.com]/root: /usr/local/etc/rc.d/pimd.sh start pimd: invalid option -- cAnd while I was at it, I tried stopping the service.
[25.11-RELEASE][root@firewall.mydomain.com]/root: /usr/local/etc/rc.d/pimd.sh stop pimd: invalid option -- qSo it looks like the version of pimd installed doesn't like the -c or -q parameters. I checked version of pimd installed.
pimd --version pimd version 2.3.2bHere are the command line options supported:
[25.11-RELEASE][root@firewall.internal.brandedclever.com]/root: pimd -h Usage: pimd [-hnrsv] [-f FILE] [-i NAME] [-d SYS[,SYS...]] [-l LEVEL] [-p FILE] [-u FILE] [-w SEC] Options: -f, --config=FILE Configuration file, default use ident: /usr/local/etc/pimd.conf -n, --foreground Run in foreground do not detach from calling terminal -d, --debug=SYS Enable debug for subystem(s) separate more with comma -l, --loglevel=LVL Log level: none, err, notice (default), info, debug -i, --ident=NAME Identity for syslog, .cfg & .pid file, default: pimd -p, --pidfile=FILE File to store process ID for signaling pimd Default uses ident: /var/run/pimd.pid -r Retry (forever) if not all configured interfaces are available when starting up, e.g. wait for DHCP lease --disable-vifs Disable all virtual interfaces (phyint) by default -s, --syslog Use syslog, default unless running in foreground, -n -h, --help Show this help text -u, --ipc=FILE Override UNIX domain socket, default from identity, -i -v, --version Show pimd version and support information -w, --startup-delay=SEC Initial startup delay before probing interfaces Available subsystems for debug: all, asserts, bsr, crp, detail, igmp, interfaces, jp, kernel, mfc, mrt, neighbors, packets, pim, registers, rpf, rsrr, timers, tracerouteNext, I looked at the contents of the
pimd.sh:#!/bin/sh # This file was automatically generated # by the Netgate pfSense Plus service handler. rc_start() { if /bin/pgrep -q pimd; then /usr/local/sbin/pimd -q sleep 1 /usr/bin/killall -q -9 pimd 2>/dev/null fi if [ -s /var/etc/pimd/pimd.conf ]; then /usr/local/sbin/pimd \ -c /var/etc/pimd/pimd.conf --disable-vifs -s 'debug' fi } rc_stop() { /usr/local/sbin/pimd -q sleep 3 /usr/bin/killall -q -9 pimd # Exit without error no matter what happened with killall exit 0 } rc_restart() { rc_stop rc_start } case $1 in start) rc_start ;; stop) rc_stop ;; restart) rc_restart ;; esacClearly the
pimd.shscript is not compatible with the version of pimd installed. I edited that file and made this changed this:/usr/local/sbin/pimd -c /var/etc/pimd/pimd.conf --disable-vifs -s 'debug'To this:
/usr/local/sbin/pimd -f /var/etc/pimd/pimd.conf --disable-vifs -l 'debug'Once I did that, I could run the
/usr/local/etc/rc.d/pimd.sh startand all was good.I tried uninstalling and reinstalling the package and the same version of
pimdand thepimd.shfile get installed.Any idea what might be going on?
-
@dmorda said in Unable to automatically start PIMD:
Any idea what might be going on?
Yes, the build of pimd is completely bogus. There is clear contamination from unreleased development version of pimd.
The last release of pimd was v2.3.2 in March of 2016. The removal of the -c and -q options was done in June of 2017 as part of this development issue.
Unfortunately, this appears to be a problem with upstream FreeBSD. This commit moved from the release version to the top of the dev tree, bringing in all the unreleased 3.0 code.
I have filed a bug with upstream, but I recommend filing a Redmine issue as well. Perhaps the pfSense version can be independently rolled back.
-
@dennypage Done! Here's the Redmine bug #16612.
-
Great post. I am struggling with the same behavior but only noticed recently. PIMD worked OK running 25.07.1
Did it work on 25.11? I am not sure. Does it work on 25.11.1? No.
In the GUI on the status page of PIMD it reports "PIMD is enabled but not running. Check the configuration." Also removing and reinstalling the package didn't seem to help my situation. Starting the service in the GUI shows a green spinning gear icon for a moment before returning to the same page.
I am also running pimd package 0.0.3_7 with package dependencies pimd-2.3.2b_1
Running from the CLI I also can get PIM working
/usr/local/sbin/pimd -f /var/etc/pimd/pimd.conf --disable-vifs -l 'debug'running /usr/local/sbin/pimctl does show the expected PIM Interface table.
Once its running from the CLI, the GUI on the status page of PIMD reports the same "Usage:" style output as in your post, and does appear to be running.
-
@bmarkel It's broken in upstream FreeBSD ports. There is a bug report filed upstream for it.
It's been rather difficult to get the attention of the upstream maintainer, and he doesn't seem to understand that he switched to a non released version of the code.
Feel free to add a comment to the upstream bug report.
-
Thanks for confirming my problem. Same experience here following upgrade of pfsense the PIMD package no longer boots or starts via GUI. Tried removing and reinstalling the package and also tested "/usr/local/sbin/pfSsh.php playback svc start pimd" from shell to execute it in the context of the GUI and it also fails. Only direct commands like "service pimd start" appear to work. My pimd.sh also reference -q options that are no shown in the Status Page list of valid options. Hope it gets picked up!
-
Is there a temp system patch on the way?
-
@dmorda said in Unable to automatically start PIMD:
Unable to automatically start PIMD
General pfSense Questions
16 posts
6 posters
2.0k views
7 watchingDOffline
dmorda
Dec 28, 2025, 4:33 AMI'm running pfsense 25.11. I have the PIMD package installed and it always worked. However, now it won't start at all. I recently upgraded from 25.07 to 25.11, in which this package went from 2.3.2_2 -> 2.3.2b_1.
If I run the command below it starts correctly.
/usr/local/etc/rc.d/pimd onestart
However, if I run this one:/usr/local/etc/rc.d/pimd start
It generates an error that says:Cannot 'start' pimd. Set pimd_enable to YES in /etc/rc.conf or use 'onestart' instead of 'start'.
I've tried uninstalling and reinstalling, but that's had no effect. I created a /etc/rc.conf.local that contains pimd_enable="YES". Once that was in place, I could run the regular start command it would start correctly. However, when I reboot it does not start again and I have to manually run /usr/local/etc/rc.d/pimd start.Has anyone run into this and found a solution. Any suggestions on how to troubleshoot further?
It looks like the upgrade may have reset or overridden how the service is being registered with the rc system, which is why onestart works (bypasses rc.conf) but the normal start and boot sequence don’t.
A couple of things you can try that have helped in similar cases:
Check if pfSense is actually persisting your rc config changes
pfSense doesn’t always honor manual edits to /etc/rc.conf or even /etc/rc.conf.local across reboots because it regenerates configs.
Instead, try enabling the service through the pfSense GUI (Services or Package Manager settings) if there’s an option for PIMD.
Verify the package service integration
Some packages don’t properly hook into the system startup after upgrades.Try reinstalling after clearing config:
pkg remove pimd
pkg install pimd
Then reconfigure from the GUI instead of CLI.
Check shellcmd workaroundIf this is a bug with the current package version (which seems possible given the version bump), you can use the Shellcmd package to run:
/usr/local/etc/rc.d/pimd start
at boot as a temporary fix.
Look into logs
Check:
/var/log/system.log
and:
/var/log/package.log
There might be a hint why it’s not being triggered during boot.Honestly, this smells like a package regression in 2.3.2b_1, so you might also want to report it or check if others are seeing the same issue.
If you’re testing fixes or looking for similar troubleshooting threads, you can also visit I’ve seen some related workaround discussions there too.
Let me know if you find what’s breaking the startup hook
-
@Maureen1 yeah, I can run it manually editing the pimd.sh but it does not persist. What I was referring was to have a system patch (applied via system patch package) published until this gets resolved upstream.
-
The core problem is that the FreeBSD maintainer broke the pimd package itself (not the pfSense package). The break was caused by pulling in experimental/unreleased dev code from upstream pimd that breaks configuration backward compatibility. The FreeBSD maintainer has been unresponsive to the issue despite multiple requests to revert the change.
FWIW, if you are only using pimd to bridge multicast between local interfaces (not actually using the PIMD protocol), there is an alternative package, mast-bridge, arriving in 26.03 that may be a better choice than pimd.
-
@dennypage I see and that is annoying. Guess have to wait until 26.03 for proper multicast routing. I just checked and it is still in RC. Maybe stable release will be in June.
Privacy Policy · Cookie Policy