Bandwidthd problem
-
Hello every one
I have the latest pfsense build installed:
–--------------------
2.1-DEVELOPMENT (i386)
built on Wed May 2 08:30:27 EDT 2012
FreeBSD 8.3-RELEASEinstalled the latest bandwidthd
–-----------------------
"bandwidthd 2.0.1.3"and it always shows me Please start bandwidthd to populate this directory.
I searched in this forum and was not able to find a proper solution
Thanks
kalu -
any guidelines, suggestions ?
i am still unable to make it work.
it's still saying :Please start bandwidthd to populate this directory.
-
I'm getting this as well. I get it in 2.0.1 as well, fresh builds of 2.1, tried 5-6 of them. Completely wiping the drive and starting over, it does the above right from the get go. System logs show the below over and over. It does the same thing if I manually remove and reinstall. Any ideas?
php: /pkg_edit.php: The command '/usr/local/etc/rc.d/bandwidthd.sh stop' returned exit code '1', the output was 'No matching processes were found'
php: /status_services.php: The command '/usr/local/etc/rc.d/bandwidthd.sh stop' returned exit code '1', the output was 'No matching processes were found' -
There seems to be an issue with the bandwidthd package:
it has all the missing libs installed at```
/usr/pbi/bandwidthd-i386/lib/but for some reason it does not want to use that path. this is probably an easy fix for someone who knows where to look. I didn't and just symlinked the libraries required to /usr/local/lib
[2.1-BETA0][root@pfsense.vbees.lan]/root(1): /usr/local/etc/rc.d/bandwidthd.sh start
/libexec/ld-elf.so.1: Shared object "libpq.so.5" not found, required by "bandwidthd"[2.1-BETA0][root@pfsense.vbees.lan]/root(23): ln -s /usr/pbi/bandwidthd-i386/lib/libpq.so.5 /usr/local/lib/
[2.1-BETA0][root@pfsense.vbees.lan]/root(24): /usr/local/etc/rc.d/bandwidthd.sh start
/libexec/ld-elf.so.1: Shared object "libgd.so.4" not found, required by "bandwidthd"[2.1-BETA0][root@pfsense.vbees.lan]/root(25): ln -s /usr/pbi/bandwidthd-i386/lib/libgd.so.4 /usr/local/lib/
[2.1-BETA0][root@pfsense.vbees.lan]/root(26): /usr/local/etc/rc.d/bandwidthd.sh start
/libexec/ld-elf.so.1: Shared object "libpng15.so.15" not found, required by "bandwidthd"[2.1-BETA0][root@pfsense.vbees.lan]/root(27): ln -s /usr/pbi/bandwidthd-i386/lib/libpng15.so.15 /usr/local/lib/
[2.1-BETA0][root@pfsense.vbees.lan]/root(28): /usr/local/etc/rc.d/bandwidthd.sh start<<–->> NO ERRORS <<--->>
[2.1-BETA0][root@pfsense.vbees.lan]/root(30): killall bandwidthd
Goto WebGui –> services ---> start BandwidthD
[2.1-BETA0][root@pfsense.vbees.lan]/root(33): ps aux | grep bandwidthd
root 1086 0.0 1.7 7816 3836 ?? S 12:35AM 0:00.02 /usr/local/bandwidthd/bandwidthd /usr/pbi/bandwidthd-i386/bandwidthd/etc/bandwidthd.conf
root 1121 0.0 1.7 7816 3836 ?? S 12:35AM 0:00.02 /usr/local/bandwidthd/bandwidthd /usr/pbi/bandwidthd-i386/bandwidthd/etc/bandwidthd.conf
root 1267 0.0 1.6 7816 3776 ?? S 12:35AM 0:00.03 /usr/local/bandwidthd/bandwidthd /usr/pbi/bandwidthd-i386/bandwidthd/etc/bandwidthd.conf
root 1303 0.0 1.6 7816 3776 ?? S 12:35AM 0:00.02 /usr/local/bandwidthd/bandwidthd /usr/pbi/bandwidthd-i386/bandwidthd/etc/bandwidthd.conf
root 21601 0.0 0.3 1860 796 0 R+ 12:50AM 0:00.00 grep bandwidthd -
You must be on a recent snapshot for PBIs to work, at the very least, you must be on June 25th or later.
The behavior you're seeing is what would happen on an older build.
-
I upgraded to the latest snapshot:
2.1-BETA0 (i386)
built on Tue Jul 3 17:55:06 EDT 2012
FreeBSD 8.3-RELEASE-p3Reinstalled bandwidthd and it has started first time by itself, no tweaking needed:
7784 ?? S 0:02.02 /usr/local/bandwidthd/bandwidthd /usr/pbi/bandwidthd-i386/bandwidthd/etc/bandwidthd.conf 58029 ?? S 0:02.05 /usr/local/bandwidthd/bandwidthd /usr/pbi/bandwidthd-i386/bandwidthd/etc/bandwidthd.conf 58030 ?? S 0:02.47 /usr/local/bandwidthd/bandwidthd /usr/pbi/bandwidthd-i386/bandwidthd/etc/bandwidthd.conf 58192 ?? S 0:02.47 /usr/local/bandwidthd/bandwidthd /usr/pbi/bandwidthd-i386/bandwidthd/etc/bandwidthd.conf
In a while I will see if some data is recorded and reports are able to be displayed. But so far it looks good.
-
I spoke too soon. I looked harder at my settings and output_cdf and draw graphs were off. So I guess it was idling along in the background but not putting data anywhere. At least there are no lib errors starting the program.
Jul 4 11:41:53 bandwidthd: Cannot open htdocs/index.html for writing
I am on nanobsd and it wants to write its graph files to:
/usr/pbi/bandwidthd-i386/bandwidthd/htdocs
But that is mounted read-only.
I guess the version for 2.0, before PBIs came along, wrote the graph files somewhere in "/var" and had a mechanism for every now and then saving stuff to the CF card, or maybe the bandwidthd history was simply thrown away when the system rebooted. I have forgotten what it used to do and don't have a 2.0.1 system to try it.
It might all work fine on a non-nanobsd system, where /usr is in a rw file system.
Just for fun, I did "mount -rw /" then kicked off bandwidthd. It runs and writes stuff to htdocs.But the GUI doesn't see the graphs. I suppose the GUI is looking somewhere else for the various graph files.Actually, the graphs did appear after a while, and there is a link from /usr/local/www/bandwidthd to the htdocs dir.
So, it needs a bit of tweaking, at least for nanobsd. If someone can specify how it is intended to be, then I am happy to change and/or test some code. -
Easiest way around that is to probably mkdir -p /var/bandwidthd/htdocs during the install process and then make the directory inside the PBI dir a symlink to that.
-
For reference, I can tell you that on my 2.0.1 nanobsd box, it writes to /usr/local/bandwidthd/htdocs, so it must not be read-only. It should, however, be read-only because I have destroyed 2 CompactFlash modules now. (oops) I thought the first time it was maybe a fluke, but I am sure it was bandwidthd this time.
Maybe, would it be possible to modify the package to always write its data to /var/local/bandwidthd (or something similar)… and then in a future rev, maybe it could have something similar to RRD where it can periodically (hourly? every x hours, whatever) save the data to CF. ??
~tommy
-
For reference, I can tell you that on my 2.0.1 nanobsd box, it writes to /usr/local/bandwidthd/htdocs, so it must not be read-only.
Same problem here - Alix 2 with
2.1-BETA0 (i386) built on Sat Sep 15 16:38:19 EDT 2012 FreeBSD 8.3-RELEASE-p4Syslog shows clearly
Sep 23 17:43:10 pfsense2 bandwidthd: Monitoring subnet 10.28.0.0 with netmask 10.28.0.0
Sep 23 17:43:10 pfsense2 bandwidthd: Cannot open htdocs/index.html for writing# touch /usr/pbi/bandwidthd-i386/bandwidthd/htdocs/index.php
touch: /usr/pbi/bandwidthd-i386/bandwidthd/htdocs/index.php: Read-only file system -
For reference, I can tell you that on my 2.0.1 nanobsd box, it writes to /usr/local/bandwidthd/htdocs, so it must not be read-only.
Same problem here - Alix 2 with
2.1-BETA0 (i386) built on Sat Sep 15 16:38:19 EDT 2012 FreeBSD 8.3-RELEASE-p4Syslog shows clearly
Sep 23 17:43:10 pfsense2 bandwidthd: Monitoring subnet 10.28.0.0 with netmask 10.28.0.0
Sep 23 17:43:10 pfsense2 bandwidthd: Cannot open htdocs/index.html for writingtouch /usr/pbi/bandwidthd-i386/bandwidthd/htdocs/index.php
touch: /usr/pbi/bandwidthd-i386/bandwidthd/htdocs/index.php: Read-only file system
Just did the upgrade from 2.0.1
And bandwidth is failing to start errors below
This is another nano install on a CF card in a watchguard, keep in mind this has been working flawless for the past 11months not a single issue and it has been rebooted once in this time.Dec 6 08:22:22 bandwidthd: Cannot open htdocs/index.html for writing Dec 6 08:22:22 bandwidthd: Cannot open htdocs/index.html for writing Dec 6 08:22:22 bandwidthd: Monitoring subnet 10.0.0.0 with netmask 10.0.0.0 Dec 6 08:22:22 bandwidthd: Monitoring subnet 10.0.0.0 with netmask 10.0.0.0 Dec 6 08:22:12 bandwidthd: Cannot open htdocs/index.html for writing Dec 6 08:22:12 bandwidthd: Cannot open htdocs/index.html for writing Dec 6 08:22:12 bandwidthd: Monitoring subnet 10.0.0.0 with netmask 10.0.0.0 Dec 6 08:22:12 bandwidthd: Monitoring subnet 10.0.0.0 with netmask 10.0.0.0
-
The quoted netmasks (10.0.0.0.0 and 10.28.0.0) are "unusual". Shouldn't they be 255.0.0.0 or the like?
-
I wanted to see why bandwidthd was reported as working on 2.0.1 nanobsd, so I loaded a clean 2.0.1 on a CF card and stuck it in an Alix 2D13. Directly after installing bandwidthd 2.0.1.3 from the Package Manager the CF card is left mounted RW. So bandwidthd runs, happily scribbling on the CF card at regular intervals until the next reboot.
After a reboot, the CF card is correctly mounted readonly. bandwidthd can't scribble on the CF card. The system log regularly reports this:Dec 9 18:12:25 kernel: pid 20118 (bandwidthd), uid 0: exited on signal 11 Dec 9 18:15:43 kernel: pid 15441 (bandwidthd), uid 0: exited on signal 11 Dec 9 18:15:46 kernel: pid 31625 (bandwidthd), uid 0: exited on signal 11 Dec 9 18:19:09 kernel: pid 25051 (bandwidthd), uid 0: exited on signal 11
So 2.0.1 nanobsd systems that have bandwidthd working must have one of:
a) Never been rebooted since installing the package; or
b) An old version of the bandwidthd package that mounts the CF card RW; or
c) Another package that wrongly mounts the CF card RW at boot time; or
d) A bit of extra code hacked in by the admin to purposely mount the CF card RW.Anyway, now I know that this is not a new problem in 2.1 - I had been really struggling to see how it could have been working for 2.0.1 nanobsd users.
Now to fix it… -
I d like to see a fix as i truly miss Bandwidth D. Is there a fix that a newbie to Linux like me could deploy easily ?
-
-
Any updates on this issue? :(
-
ditto.
Any updates ? -
on install i get this in the syslog
php: /pkg_edit.php: The command '/usr/local/etc/rc.d/bandwidthd.sh stop' returned exit code '1', the output was 'No matching processes were found'/usr/local/etc/rc.d/bandwidthd.sh start
Syntax Error "syntax error" on line 32However there is no line 32 in bandwidthd.sh ???
Running 2.1-BETA1 (amd64)
built on Fri Feb 15 04:33:17 EST 2013
FreeBSD 8.3-RELEASE-p5 -
php: /pkg_edit.php: The command '/usr/local/etc/rc.d/bandwidthd.sh stop' returned exit code '1', the output was 'No matching processes were found'
That is no problem - when it tries to stop/start there will be no existing process running the first time, so that message comes out.
/usr/local/etc/rc.d/bandwidthd.sh start
Syntax Error "syntax error" on line 32I have nanoBSD systems, and the bandwidthd install now writes a custom bandwidthd.sh for the nanobsd case that puts the bandwidthd output data into /var/bandwidthd - so that the CF card can be left readonly.
I had a look at the code that creates bandwidthd.sh for the other cases and can't see an obvious error.
Please post the bandwidthd package version (latest is 2.0.1.4) and the content of bandwidthd.sh - then I can track down what is going wrong. -
Please post the bandwidthd package version (latest is 2.0.1.4) and the content of bandwidthd.sh - then I can track down what is going wrong.
Oh my bad. The last line in the subnet settings text, "The subnet(s) on which bandwidthd will report. (separate with ';' for multiple subnets, e.g. 192.168.1.0/24;10.0.0.0/24)."The ordinary subnet for the selected interface/s is automatically put in the config, do not specify it here."
Well i had, and it gave me that error, now im running bandwithd without problems ;)So if anyone get
bandwidthd: Syntax Error "syntax error" on line 32
bandwidthd: Syntax Error "syntax error" on line 33
Check subnet config -
Alternatively, bandwidthd since version 2 can log to an external postgresql database. To test, I just set up bandwidthd on a local linux server with postgesql to catch bandwidthd logs from my Alix based nanobsd install of pfsense. I was able to get the linux install of bandwidthd working using postgresql for storage after a fair amount of newbie fanagling.
Presumably using bandwidthd as a 'forwarder' sort of like pfflowd instead of hosting the php and data files locally on a compact flash installation should conceivably alleviate some of the issues?
Unfortunately, I am unable to persist changes to the bandwidthd.conf file for obvious reasons. How does one properly modify config files that are subject to the pfsense GUI?
arri
ps. Sullrich attached the readme file from bandwidthd here: http://forum.pfsense.org/index.php/topic,2117.msg23881.html#msg23881 note the section on database support for more information.
-
The bandwidthd package consists of the bandwidthd tbz/pbi of the "real" software, plus the pfSense PHP and xml in GitHub at:
https://github.com/pfsense/pfsense-packages/tree/master/config/bandwidthd
That code generates the conf file and controls the start/stop…
If you can give it an option to pass the data to another system, feel free to mod the code and submit a pull request. That would certainly be beneficial for nanoBSD CF installs. -
Phil, I am going to attempt to respond to your suggestion and would very much appreciate some guidance regarding my progress in a new thread: http://forum.pfsense.org/index.php/topic,64790.msg351425.html#msg351425
arri
-
Try change
<url>/bandwidthd" target="_blank</url>
->```
<url>/bandwidthd/index.html" target="_blank</url>After that I can watch statistics normally :)
-
@nirovulf - what browser+version+settings are you using?
I am using Firefox (23.0.1). That displays the index.html automatically, without needing it specified. We can easily put your change into the bandwidthd package, as it should not do any harm. I would just like to know what environment causes the problem. -
phil.davis
I use Firefox 19.0.2, pfsense version: 2.0.3-RELEASE (i386)
built on Fri Apr 12 10:22:21 EDT 2013
FreeBSD pfsense.router 8.1-RELEASE-p13 FreeBSD 8.1-RELEASE-p13 #0: Fri Apr 12 10:47:01 EDT 2013 root@snapshots-8_1-i386.builders.pfsense.org:/usr/obj.pfSense/usr/pfSensesrc/src/sys/pfSense_SMP.8 i386
Settings: interface - LAN, checked output_cdf, recover_cdf, draw_graphs; Meta Refresh set to 120. All other settings are default -
I am a bit surprised that your Firefox does not go looking for index.html by default. But anyway, it is safer for all old/new/whatever browsers if we explicitly specify index.html like you suggest.
Pull request: https://github.com/pfsense/pfsense-packages/pull/483
30 minutes after that is committed you should be able to reinstall bandwidthd XML and it will work. -
How about editing /usr/local/etc/rc.d/bandwidthd.sh to point at /usr/pbi/bandwidthd-amd64/bandwidthd/bandwidthd instead of /usr/local/bandwidthd/bandwidthd?
-
How about editing /usr/local/etc/rc.d/bandwidthd.sh to point at /usr/pbi/bandwidthd-amd64/bandwidthd/bandwidthd instead of /usr/local/bandwidthd/bandwidthd?
This code in bandwidthd.inc "should" select/use the new PBI-based directory names based on the pfSense version (>2.0 means it has PBI) and 32 or 64-bit install.
// Check pfSense version $pfs_version = substr(trim(file_get_contents("/etc/version")),0,3); switch ($pfs_version) { case "1.2": case "2.0": define('PKG_BANDWIDTHD_BASE', '/usr/local/bandwidthd'); break; default: define('PKG_BANDWIDTHD_BASE', '/usr/pbi/bandwidthd-' . php_uname("m") . '/bandwidthd'); } // End: Check pfSense version
I don't have a 64-bit install to try. What happens now on pfSense 2.1-RELEASE 64-bit?
Post the bandwidthd.sh that it makes, then hopefully I can see what happens. -
`#!/bin/sh
This file was automatically generated
by the pfSense service handler.
rc_start() {
/usr/local/bandwidthd/bandwidthd
}rc_stop() {
/usr/bin/killall bandwidthd
}case $1 in
start)
rc_start
;;
stop)
rc_stop
;;
restart)
rc_stop
rc_start
;;
esac` I've had this issue on two different 64 bit systems and one 32 (all I have tried) all running 2.1 or a RC thereof. -
Now I really looked at the code! It has never worked for a 2.1 PBI-based full install.
Edit /usr/local/pkg/bandwidthd.inc to change line 324 from:/usr/local/bandwidthd/bandwidthd
to
{$bandwidthd_base_dir}/bandwidthd
like in this GitHub change: https://github.com/phil-davis/pfsense-packages/commit/c918257082611cc9d9e9f9987a0a317d629885d7
That should make it understand full installs for 2.0.n and 2.1 in both i386 and amd64.
Then save your bandwidthd settings again and check that bandwidth.sh has better code, and that bandwidthd actually works.
If all is well, I will submit the pull request. -
Hello every one
I have the latest pfsense build installed:
–--------------------
2.1-DEVELOPMENT (i386)
built on Wed May 2 08:30:27 EDT 2012
FreeBSD 8.3-RELEASEinstalled the latest bandwidthd
–-----------------------
"bandwidthd 2.0.1.3"and it always shows me Please start bandwidthd to populate this directory.
I searched in this forum and was not able to find a proper solution
Thanks
kaluTo anyone running into "Please start bandwidthd to populate this directory."
First check to see if it's running:
ps auxwww | grep -i bandwidthd
If it's running check the directory:
ls -al /usr/local/www/bandwidthd lrwxr-xr-x 1 root wheel 43 Sep 16 12:41 /usr/local/www/bandwidthd -> /usr/pbi/bandwidthd-amd64/bandwidthd/htdocs
I can see that the actual files aren't being written there.
Check this directory:
ls -al /usr/local/bandwidthd/htdocs/
If you see files in there, all you need to do is make the correct link
rm /usr/local/www/bandwidthd
ln -s /usr/local/bandwidthd/htdocs/ /usr/local/www/bandwidthd
Note: I ended up installing bandwidthd from pkg_add because I ran into issues originally, so my way is definitely non-standard. And this probably only affects people who updated through the 2.1 beta, RC development cycle. I'm sure stable has this working out of the box.
-
Just a comment freehood4all's note:
"Note: I ended up installing bandwidthd from pkg_add because I ran into issues originally, so my way is definitely non-standard. And this probably only affects people who updated through the 2.1 beta, RC development cycle. I'm sure stable has this working out of the box."
If I read your note right, you suggest that stable versions shouldn't have this problem.
I updated from a recently installed 2.0.3Release to 2.1Release, and definitely do have this problem.Phil.davis describes a fix (previous comment in this thread) that mostly works, except for missing icons.
-
Hi, I noticed that this only happens when I use firfox, not chrome or IE.
Thanks
-
To anyone running into "Please start bandwidthd to populate this directory."
First check to see if it's running:
ps auxwww | grep -i bandwidthd
If it's running check the directory:
ls -al /usr/local/www/bandwidthd lrwxr-xr-x 1 root wheel 43 Sep 16 12:41 /usr/local/www/bandwidthd -> /usr/pbi/bandwidthd-amd64/bandwidthd/htdocs
Check this directory:
ls -al /usr/local/bandwidthd/htdocs/
If you see files in there, all you need to do is make the correct link
rm /usr/local/www/bandwidthd
ln -s /usr/local/bandwidthd/htdocs/ /usr/local/www/bandwidthd
This one works for me.. Thanks.
-
This last method did not work for me.
I also upgraded.. from 2.0.3 to 2.1 and had bandwidthd previously installed.So for me this was the fix:
#First remove the package via GUI.
killall bandwidthd #Just incase it still runs.
find / -name "bandwidthd" #You get a list of files and directories related to Bandw.D.
#Now delete all of them..
rm -rf /directory/you/find#I also removed these.., which seem to be packages..
/root/var/db/pbi/installed/bandwidthd-2.0.1_5-i386
/root/var/db/pbi/.hashqueue/bandwidthd-2.0.1_5-i386Now install it again via GUI and it worked for me.
-
Now I really looked at the code! It has never worked for a 2.1 PBI-based full install.
Edit /usr/local/pkg/bandwidthd.inc to change line 324 from:/usr/local/bandwidthd/bandwidthd
to
{$bandwidthd_base_dir}/bandwidthd
like in this GitHub change: https://github.com/phil-davis/pfsense-packages/commit/c918257082611cc9d9e9f9987a0a317d629885d7
That should make it understand full installs for 2.0.n and 2.1 in both i386 and amd64.
Then save your bandwidthd settings again and check that bandwidth.sh has better code, and that bandwidthd actually works.
If all is well, I will submit the pull request.#!/bin/sh # This file was automatically generated # by the pfSense service handler. rc_start() { // /usr/local/bandwidthd/bandwidthd /usr/pbi/bandwidthd-amd64/bandwidthd/bandwidthd } rc_stop() { /usr/bin/killall bandwidthd } case $1 in start) rc_start ;; stop) rc_stop ;; restart) rc_stop rc_start ;; esac
Should the commented out line use # instead of //? ( // /usr/local/bandwidthd/bandwidthd)
edit: I believe the // issue was my doing as I commented that line out without verifying it wasn't a standalone line.
-
I can confirm that uninstalling the package leaves the old directory intact (/usr/local/bandwidthd) and that removing this directory prior to reinstalling makes the new install function as expected.
The difference appears to be that /usr/local/bandwidthd/bandwidthd is now a symlink to /usr/pbi/bandwidthd-amd64/bandwidthd/bandwidthd, the bandwidthd.inc line 324 is the same.
-
To resolve this problem (php: /pkg_edit.php: The command '/usr/local/etc/rc.d/bandwidthd.sh stop' returned exit code '1', the output was 'No matching processes were found') on start the bandwidth on new version of pfsense 2.1 and new version off bandwidth 2.0.1 i do just removed the directory "/usr/local/bandwidthd" and reinstalled a bandwidth. Its work fine to me.
Ps.: My english is not good. :( hehe
-
installed the latest bandwidthd
and it always shows me Please start bandwidthd to populate this directory.I ran through the troubleshooting and confirmed BandwidthD was running, but when clicking on Services, BandwidthD, the Access BandwidthD, a new page/tab opens to https://192.168.0.1/bandwidthd/index.html with the same error (using Firefox).
If I change the URL to https://192.168.0.1/bandwidthd/ then the summary page appears as expected. It would appear the link is not set correctly, or the index page should be deleted when proper data is found. I'm using the output_cdf method.