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

    [As Good As Solved!] Watchguard Firebox Arm/Disarm LED

    Scheduled Pinned Locked Moved Hardware
    128 Posts 22 Posters 99.7k Views 4 Watching
    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.
    • F Offline
      fmertz
      last edited by

      @stephenw10:

      Anything else can be done with a separate lcdproc client that only controls the led.

      separate FreeBSD led driver.

      Maybe we can talk mdima into adding calls to output()  in the existing php client. That client captures a range of things as it is.

      Going down the driver path throws portability out the window. The code becomes FreeBSD only, and a completely separate implementation would be required for Linux. I have done neither, but, in the end, the purpose is to learn.

      1 Reply Last reply Reply Quote 0
      • stephenw10S Offline
        stephenw10 Netgate Administrator
        last edited by

        I hadn't considered portability.
        Looking at the geode led driver they use the oem_bios function to indentify the different models. I guess this might be FreeBSD only.

        Steve

        1 Reply Last reply Reply Quote 0
        • stephenw10S Offline
          stephenw10 Netgate Administrator
          last edited by

          Just realised I posted the most recent version of this in the X700 thread and forgot to include it here.
          Same as previous versions but includes an option to switch the LCD backlight if you aren't running LCDproc with the firebox driver.
          Find it attached with the source.

          [2.0.1-RELEASE][root@pfsense.fire.box]/conf(8): ./WGXepc
          Found Firebox X-Peak
          WGXepc Version 0.5 13:2:2012 stephenw10
          WGXepc can accept two arguments:
           -f (fan) will return the current fan speed or if followed
              by a number in hex, 00-FF, will set it.
           -l (led) will set the arm/disarm led state to the second argument:
              red, green, red_flash, green_flash, red_flash_fast, green_flash_fast, off
           -b (backlight) will set the lcd backlight to the second argument:
              on or off. Do not use with LCD driver.
          Not all functions are supported by all models
          
          

          Steve

          WGXepc.png
          WGXepc.c.png

          1 Reply Last reply Reply Quote 0
          • M Offline
            mike56
            last edited by

            More good work.  What is anyone using for a fan speed setting?  I have upgraded to the SL7EG CPU, run powerd and still have the original fans in my X750E.

            Thanks!
            Mike

            1 Reply Last reply Reply Quote 0
            • stephenw10S Offline
              stephenw10 Netgate Administrator
              last edited by

              I'm using 64. However my test box is rarely loaded at all and it's sat on my desk not in a hot rack.
              I have run them at 16 with no problems and barely any detectable temperature rise.
              You can test it with cpuburn and mbmon.

              Steve

              1 Reply Last reply Reply Quote 0
              • stephenw10S Offline
                stephenw10 Netgate Administrator
                last edited by

                There is a new version of WGXepc.
                Find it attached to this thread along with the source code.
                As before remove the .png extension and chmod it 0755 once it's on the box.

                It now supports the XTM5 series boxes with LED and fan control (of sorts!).
                I have tested it on all the known boxes with 2.0.x and 2.1beta but my testing is limited, let me know if it misbehaves.

                [2.0.3-RELEASE][root@pfsense.fire.box]/root(7): /conf/WGXepc
                Found Firebox X-Peak
                WGXepc Version 0.8 14/5/2013 stephenw10
                WGXepc can accept two arguments:
                 -f (fan) will return the current and minimum fan speed or if followed
                    by a number in hex, 00-FF, will set it.
                 -l (led) will set the arm/disarm led state to the second argument:
                    red, green, red_flash, green_flash, red_flash_fast, green_flash_fast, off
                 -b (backlight) will set the lcd backlight to the second argument:
                    on or off. Do not use with LCD driver.
                Not all functions are supported by all models
                
                

                Steve

                WGXepc.png
                WGXepc.c.png

                1 Reply Last reply Reply Quote 0
                • stephenw10S Offline
                  stephenw10 Netgate Administrator
                  last edited by

                  I added an option to read the cpu temperature sensor on the X-e box since it was trivial to do and mbmon seemed to giving some errors.

                  [2.1-RC0][root@pfsense.localdomain]/conf(3): ./WGXepc
                  Found Firebox XTM5
                  WGXepc Version 0.9 28/6/2013 stephenw10
                  WGXepc can accept two arguments:
                   -f (fan) will return the current and minimum fan speed or if followed
                      by a number in hex, 00-FF, will set it.
                   -l (led) will set the arm/disarm led state to the second argument:
                      red, green, red_flash, green_flash, red_flash_fast, green_flash_fast, off
                   -b (backlight) will set the lcd backlight to the second argument:
                      on or off. Do not use with LCD driver.
                   -t (temperature) shows the current CPU temperature reported by the
                      SuperIO chip. X-e box only.
                  Not all functions are supported by all models
                  
                  

                  Steve

                  WGXepc.png
                  WGXepc.c.png

                  1 Reply Last reply Reply Quote 0
                  • R Offline
                    rhombus
                    last edited by

                    @stephenw10:

                    I added an option to read the cpu temperature sensor on the X-e box since it was trivial to do and mbmon seemed to giving some errors.

                    [2.1-RC0][root@pfsense.localdomain]/conf(3): ./WGXepc
                    Found Firebox XTM5
                    WGXepc Version 0.9 28/6/2013 stephenw10
                    WGXepc can accept two arguments:
                     -f (fan) will return the current and minimum fan speed or if followed
                        by a number in hex, 00-FF, will set it.
                     -l (led) will set the arm/disarm led state to the second argument:
                        red, green, red_flash, green_flash, red_flash_fast, green_flash_fast, off
                     -b (backlight) will set the lcd backlight to the second argument:
                        on or off. Do not use with LCD driver.
                     -t (temperature) shows the current CPU temperature reported by the
                        SuperIO chip. X-e box only.
                    Not all functions are supported by all models
                    
                    

                    Steve

                    I used your latest Ver 0.9 and edited the /usr/local/www/includes/functions.inc.php file (find and modify these entries in the file):

                    function has_temp() {

                    /* no known temp monitors available at present */

                    /* should only reach here if there is no hardware monitor /
                    /
                    return false; */
                            return true;
                    }

                    function get_temp() {

                    $temp_out = "";
                    exec("/conf/WGXepc -t | /usr/bin/awk 'NR==3{print;exit}'", $dfout);
                            $temp_out = trim($dfout[0]);

                    return $temp_out;
                    }

                    Now the temp displays on the Dashboard pulling from WGXepc.

                    Tested on Firebox X550e

                    1 Reply Last reply Reply Quote 0
                    • stephenw10S Offline
                      stephenw10 Netgate Administrator
                      last edited by

                      Nice.  :)
                      Let me know if it seems stable. It should be identical to mbmon but like I said another user found mbmon giving bad numbers after several days. Also mbmon has 0.5°C accuracy but I didn't both reading that register so it's only 1°C accurate.  ::)

                      Steve

                      1 Reply Last reply Reply Quote 0
                      • B Offline
                        browntown
                        last edited by

                        Sweet, thanks for the code, it worked like a charm, appears within 2 degrees of mbmon at any one point.  Looks like I need to throw some arctic silver on the heatsink.  This is fan at 32

                        1 Reply Last reply Reply Quote 0
                        • R Offline
                          rhombus
                          last edited by

                          @browntown:

                          Sweet, thanks for the code, it worked like a charm, appears within 2 degrees of mbmon at any one point.  Looks like I need to throw some arctic silver on the heatsink.  This is fan at 32

                          I had my fan set at 52 on a Pentium M 735 and at 37C. On high load, it will come up to 50. Im not worried about the $7 processor so much as having the system lock up when I am away. lol

                          1 Reply Last reply Reply Quote 0
                          • G Offline
                            Gabri.91
                            last edited by

                            Very nice, many thanks!

                            1 Reply Last reply Reply Quote 0
                            • B Offline
                              browntown
                              last edited by

                              I'm building my wgxepc script for reboot.  Can I pass two parameters in one command?
                              /usr/local/bin/WGXepc -l green -f 30

                              or do I pass each argument on its own line?
                              #!/bin/sh

                              /usr/local/bin/WGXepc -l green
                              /usr/local/bin/WGXepc -f 30

                              1 Reply Last reply Reply Quote 0
                              • stephenw10S Offline
                                stephenw10 Netgate Administrator
                                last edited by

                                Only one parameter at a time. My coding skills very limited.  ;)
                                I use the shellcmd package instead of an RC script. It is stored in configuration file so it survives a firmware update.

                                Steve

                                1 Reply Last reply Reply Quote 0
                                • R Offline
                                  rhombus
                                  last edited by

                                  @stephenw10:

                                  Nice.  :)
                                  Let me know if it seems stable. It should be identical to mbmon but like I said another user found mbmon giving bad numbers after several days. Also mbmon has 0.5°C accuracy but I didn't both reading that register so it's only 1°C accurate.  ::)

                                  Steve

                                  7 days of uptime and still displaying the correct temp. So far everything appears stable.

                                  1 Reply Last reply Reply Quote 0
                                  • ? Offline
                                    A Former User
                                    last edited by

                                    Hello,

                                    just installed it and runs fine.

                                    Does anyone need the output of

                                    pciconf -r pci0:31:0 0:256
                                    ```?
                                    1 Reply Last reply Reply Quote 0
                                    • stephenw10S Offline
                                      stephenw10 Netgate Administrator
                                      last edited by

                                      @pyroblast:

                                      Does anyone need the output of

                                      pciconf -r pci0:31:0 0:256
                                      

                                      Thanks for offering but the X1250e is identical to the other boxes we have tested already. So unless you have some odd variant we already have the info. Since the program recognises your box already it seems it's using the same board.  :)

                                      Steve

                                      1 Reply Last reply Reply Quote 0
                                      • F Offline
                                        fibrewire
                                        last edited by

                                        sorry for the necrobump, but where did this project end up?

                                        1 Reply Last reply Reply Quote 0
                                        • stephenw10S Offline
                                          stephenw10 Netgate Administrator
                                          last edited by

                                          It ended up here: https://github.com/stephenw10/WGXepc

                                          And here if you want to test it on one of the newer devices.

                                          Steve

                                          1 Reply Last reply Reply Quote 1
                                          • H Offline
                                            Hackdaddy
                                            last edited by

                                            Hi,

                                            Thanks @stephenw10 for your tool.

                                            I packaged it in a widget, to use it with the web interface and automatically change the fan speed depending on the temperature.

                                            For those interested: pfSense-Watchguard-widget

                                            Best regards

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