Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Bandwidthd problem

    Scheduled Pinned Locked Moved pfSense Packages
    48 Posts 28 Posters 48.7k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      arriflex
      last edited by

      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.

      1 Reply Last reply Reply Quote 0
      • P
        phil.davis
        last edited by

        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.

        As the Greek philosopher Isosceles used to say, "There are 3 sides to every triangle."
        If I helped you, then help someone else - buy someone a gift from the INF catalog http://secure.inf.org/gifts/usd/

        1 Reply Last reply Reply Quote 0
        • A
          arriflex
          last edited by

          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

          1 Reply Last reply Reply Quote 0
          • N
            nirovulf
            last edited by

            Try change<url>/bandwidthd" target="_blank</url>->```
            <url>/bandwidthd/index.html" target="_blank</url>

            After that I can watch statistics normally :)
            1 Reply Last reply Reply Quote 0
            • P
              phil.davis
              last edited by

              @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.

              As the Greek philosopher Isosceles used to say, "There are 3 sides to every triangle."
              If I helped you, then help someone else - buy someone a gift from the INF catalog http://secure.inf.org/gifts/usd/

              1 Reply Last reply Reply Quote 0
              • N
                nirovulf
                last edited by

                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

                1 Reply Last reply Reply Quote 0
                • P
                  phil.davis
                  last edited by

                  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.

                  As the Greek philosopher Isosceles used to say, "There are 3 sides to every triangle."
                  If I helped you, then help someone else - buy someone a gift from the INF catalog http://secure.inf.org/gifts/usd/

                  1 Reply Last reply Reply Quote 0
                  • C
                    cboy2
                    last edited by

                    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?

                    1 Reply Last reply Reply Quote 0
                    • P
                      phil.davis
                      last edited by

                      @cboy2:

                      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.

                      As the Greek philosopher Isosceles used to say, "There are 3 sides to every triangle."
                      If I helped you, then help someone else - buy someone a gift from the INF catalog http://secure.inf.org/gifts/usd/

                      1 Reply Last reply Reply Quote 0
                      • C
                        cboy2
                        last edited by

                        `#!/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.

                        1 Reply Last reply Reply Quote 0
                        • P
                          phil.davis
                          last edited by

                          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.

                          As the Greek philosopher Isosceles used to say, "There are 3 sides to every triangle."
                          If I helped you, then help someone else - buy someone a gift from the INF catalog http://secure.inf.org/gifts/usd/

                          1 Reply Last reply Reply Quote 0
                          • F
                            freehood4all
                            last edited by

                            @kalu:

                            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-RELEASE

                            installed 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

                            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
                            

                            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.

                            1 Reply Last reply Reply Quote 0
                            • P
                              pkrnjevic
                              last edited by

                              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.

                              1 Reply Last reply Reply Quote 0
                              • W
                                walkman
                                last edited by

                                Hi, I noticed that this only happens when I use firfox, not chrome or IE.

                                Thanks

                                1 Reply Last reply Reply Quote 0
                                • X
                                  xerxes
                                  last edited by

                                  @freehood4all:

                                  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.

                                  1 Reply Last reply Reply Quote 0
                                  • S
                                    smilodon
                                    last edited by

                                    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-i386

                                    Now install it again via GUI and it worked for me.

                                    1 Reply Last reply Reply Quote 0
                                    • C
                                      cboy2
                                      last edited by

                                      @phil.davis:

                                      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.

                                      1 Reply Last reply Reply Quote 0
                                      • C
                                        cboy2
                                        last edited by

                                        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.

                                        1 Reply Last reply Reply Quote 0
                                        • W
                                          williamspinto
                                          last edited by

                                          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

                                          1 Reply Last reply Reply Quote 0
                                          • R
                                            rsleegers
                                            last edited by

                                            @kalu:

                                            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.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.