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

    Bandwidthd problem

    Scheduled Pinned Locked Moved pfSense Packages
    48 Posts 28 Posters 49.5k 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.
    • P
      phil.davis
      last edited by

      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 32

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

      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
      • K
        Krakke
        last edited by

        @phil.davis:

        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

        1 Reply Last reply Reply Quote 0
        • 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
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.