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

Netgate 2100 Customization of LEDs (Guide)

Hardware
2
37
2.2k
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.
  • J
    JonathanLee @wgstarks
    last edited by JonathanLee Jul 18, 2024, 10:52 PM Jul 18, 2024, 10:30 PM

    This post is deleted!
    1 Reply Last reply Reply Quote 0
    • J
      JonathanLee
      last edited by JonathanLee Jul 18, 2024, 11:07 PM Jul 18, 2024, 10:57 PM

      I got it don't use DNS use the interfaces name and pinger

      pfctl -vvss | grep -e "mvneta0 icmp"

      that works!!!

      #!/bin/sh
      led_intensity=0
      while [ $led_intensity -le 8 ]; do
        gpioctl -f /dev/gpioc2 $led_intensity duty 0 >/dev/null
        led_intensity=$(( led_intensity + 1 ))
      done
      
      check_current_states=$( pfctl -vvss | grep -e "mvneta0 icmp" )
      WAN=0
      case "$check_current_states" in
        *icmp* ) WAN=1 ;;
      esac
      if [ $WAN = 0 ];
      then
       sysctl -q dev.gpio.2.led.0.pwm=0
       gpioctl -f /dev/gpioc2 0 duty 200 >/dev/null
       sysctl -q dev.gpio.2.led.1.pwm=0
       gpioctl -f /dev/gpioc2 3 duty 200 >/dev/null
       sysctl -q dev.gpio.2.led.2.pwm=0
       gpioctl -f /dev/gpioc2 6 duty 200 >/dev/null
      else
        /usr/local/sbin/pfSense-led.sh ready
      
      fi
      
      

      login-to-view

      Your mvneta0 might be different over the 2100 check it on Interface Assignments, that is the pinger state used to check to see if gateway is up just use it for the program also

      YEAH!!

      Just updated after testing 4:07 7-18-24

      1 Reply Last reply Reply Quote 0
      • J
        JonathanLee
        last edited by Jul 18, 2024, 11:21 PM

        Update to mine to reflect the gateway offline

        #!/bin/sh
        check_current_states=$( pfctl -vvss | grep -e ', rule 105' -e ', rule 52' -e '192.168.1.11' -e '192.168.1.15' -e 'mvneta0 icmp' )
        res=1
        resb=1
        resc=1
        resd=1
        WAN=1
        case "$check_current_states" in
          *icmp* ) WAN=0 ;;
        esac
        if [ $WAN = 1 ];
        then
         sysctl -q dev.gpio.2.led.0.pwm=0
         gpioctl -f /dev/gpioc2 0 duty 200 >/dev/null
         sysctl -q dev.gpio.2.led.1.pwm=0
         gpioctl -f /dev/gpioc2 3 duty 200 >/dev/null
         sysctl -q dev.gpio.2.led.2.pwm=0
         gpioctl -f /dev/gpioc2 6 duty 200 >/dev/null
         exit 1
         fi
        case "$check_current_states" in 
          *", rule 105"* ) res=0 ;;
        esac
        case "$check_current_states" in
          *192.168.1.11* ) resb=0 ;;
        esac
        case "$check_current_states" in
          *192.168.1.15* ) resc=0 ;;
        esac
        case "$check_current_states" in
          *", rule 52"* ) resd=0 ;;
        esac
        if [ $res = 0 ] && [ $resb = 0 ]; 
        then
          sysctl -q dev.gpio.2.led.1.pwm=1
          gpioctl -f /dev/gpioc2 3 duty 50 >/dev/null
          gpioctl -f /dev/gpioc2 4 duty 15 >/dev/null
          sysctl -q dev.gpio.2.led.2.pwm=0
          gpioctl -f /dev/gpioc2 6 duty 55 >/dev/null
          gpioctl -f /dev/gpioc2 7 duty 20 >/dev/null
          gpioctl -f /dev/gpioc2 8 duty 15 >/dev/null
        elif [ $res = 0 ];
        then
          sysctl -q dev.gpio.2.led.1.pwm=1
          gpioctl -f /dev/gpioc2 3 duty 0 >/dev/null
          gpioctl -f /dev/gpioc2 4 duty 0 >/dev/null
          sysctl -q dev.gpio.2.led.2.pwm=0
          gpioctl -f /dev/gpioc2 6 duty 55 >/dev/null
          gpioctl -f /dev/gpioc2 7 duty 20 >/dev/null
          gpioctl -f /dev/gpioc2 8 duty 15 >/dev/null
        elif [ $resb = 0 ];
        then
          sysctl -q dev.gpio.2.led.2.pwm=1
          gpioctl -f /dev/gpioc2 6 duty 0 >/dev/null
          gpioctl -f /dev/gpioc2 7 duty 0 >/dev/null
          gpioctl -f /dev/gpioc2 8 duty 0 >/dev/null
          sysctl -q dev.gpio.2.led.1.pwm=1
          gpioctl -f /dev/gpioc2 3 duty 50 >/dev/null
          gpioctl -f /dev/gpioc2 4 duty 15 >/dev/null
        else
          sysctl -q dev.gpio.2.led.1.pwm=1
          gpioctl -f /dev/gpioc2 3 duty 0 >/dev/null
          gpioctl -f /dev/gpioc2 4 duty 0 >/dev/null
          sysctl -q dev.gpio.2.led.2.pwm=1
          gpioctl -f /dev/gpioc2 6 duty 0 >/dev/null
          gpioctl -f /dev/gpioc2 7 duty 50 >/dev/null
          gpioctl -f /dev/gpioc2 8 duty 0 >/dev/null
          
        fi
        if [ $resc = 0 ] || [ $resd = 0 ];
        then
          sysctl -q dev.gpio.2.led.0.pwm=1
          gpioctl -f /dev/gpioc2 2 duty 50 >/dev/null
          gpioctl -f /dev/gpioc2 0 duty 50 >/dev/null
        else
          sysctl -q dev.gpio.2.led.0.pwm=1
          gpioctl -f /dev/gpioc2 2 duty 0 >/dev/null
          gpioctl -f /dev/gpioc2 0 duty 0 >/dev/null
        
        fi
        
        1 Reply Last reply Reply Quote 0
        • W
          wgstarks
          last edited by Jul 19, 2024, 12:17 AM

          When I test in shell I get the following result-

          gpio_open: No such file or directory
          gpio_open: No such file or directory
          gpio_open: No such file or directory
          gpio_open: No such file or directory
          gpio_open: No such file or directory
          gpio_open: No such file or directory
          gpio_open: No such file or directory
          gpio_open: No such file or directory
          gpio_open: No such file or directory
          

          My script-

          #!/bin/sh
          led_intensity=0
          while [ $led_intensity -le 8 ]; do
            gpioctl -f /dev/gpioc2 $led_intensity duty 0 >/dev/null
            led_intensity=$(( led_intensity + 1 ))
          done
          
          check_current_states=$( pfctl -vvss | grep -e "igc3 icmp" )
          WAN=0
          case "$check_current_states" in
            *icmp* ) WAN=1 ;;
          esac
          if [ $WAN = 0 ];
          then
           sysctl -q dev.gpio.2.led.0.pwm=0
           gpioctl -f /dev/gpioc2 0 duty 200 >/dev/null
           sysctl -q dev.gpio.2.led.1.pwm=0
           gpioctl -f /dev/gpioc2 3 duty 200 >/dev/null
           sysctl -q dev.gpio.2.led.2.pwm=0
           gpioctl -f /dev/gpioc2 6 duty 200 >/dev/null
          else
            /usr/local/sbin/pfSense-led.sh ready
          
          fi
          
          
          

          Box: SG-4200

          J 1 Reply Last reply Jul 19, 2024, 12:26 AM Reply Quote 0
          • J
            JonathanLee @wgstarks
            last edited by JonathanLee Jul 19, 2024, 12:30 AM Jul 19, 2024, 12:26 AM

            @wgstarks

            Do me a favor take a look in
            /usr/local/sbin/pfSense-led.sh

            Find your model firewall and tell me what directive is used to change the LEDS…

            Also peek in /dev/led see if you have that folder, if you do it should be easy to adapt with the directive used for your model

            W 1 Reply Last reply Jul 19, 2024, 12:34 AM Reply Quote 0
            • W
              wgstarks @JonathanLee
              last edited by Jul 19, 2024, 12:34 AM

              @JonathanLee said in Netgate 2100 Customization of LEDs (Guide):

              @wgstarks

              Do me a favor take a look in
              /usr/local/sbin/pfSense-led.sh

              Find your model firewall and tell me what directive is used to change the LEDS…

              Maybe this is what you need.

              
              # Netgate 4200
              #
              
              4200_led_off() {
              	local _leds="red_0 green_0 blue_0 red_1 green_1 blue_1 red_2 green_2 blue_2"
              
              	for led in ${_leds}; do
              		echo 0 > /dev/led/${led}
              	done
              }
              
              4200_led_booting() {
              	4200_led_off
              	# Fast blink blue on all LEDs
              	echo f2 > /dev/led/blue_0
              	echo f2 > /dev/led/blue_1
              	echo f2 > /dev/led/blue_2
              }
              
              4200_led_ready() {
              	4200_led_off
              	# Left LED solid blue
              	echo 1 > /dev/led/blue_2
              }
              
              4200_led_update() {
              	# Purple on center LED
              	echo 1 > /dev/led/red_1
              	echo 0 > /dev/led/green_1
              	echo 1 > /dev/led/blue_1
              }
              
              4200_led_update_off() {
              	# Turn off center LED only
              	echo 0 > /dev/led/red_1
              	echo 0 > /dev/led/green_1
              	echo 0 > /dev/led/blue_1
              }
              
              4200_led_updating() {
              	4200_led_off
              	# Fast green blink on all LEDs
              	echo f2 > /dev/led/green_0
              	echo f2 > /dev/led/green_1
              	echo f2 > /dev/led/green_2
              }
              

              Box: SG-4200

              J 1 Reply Last reply Jul 19, 2024, 12:53 AM Reply Quote 1
              • J
                JonathanLee @wgstarks
                last edited by JonathanLee Jul 19, 2024, 1:02 AM Jul 19, 2024, 12:53 AM

                @wgstarks said in Netgate 2100 Customization of LEDs (Guide):

                echo f2 > /dev/led/blue_0
                echo f2 > /dev/led/blue_1
                echo f2 > /dev/led/blue_2

                try this one

                #!/bin/sh
                echo 0 > /dev/led/blue_0
                echo 0 > /dev/led/blue_1
                echo 0 > /dev/led/blue_2
                echo 0 > /dev/led/red_0
                echo 0 > /dev/led/red_1
                echo 0 > /dev/led/red_2
                echo 0 > /dev/led/green_0
                echo 0 > /dev/led/green_1
                echo 0 > /dev/led/green_2
                
                check_current_states=$( pfctl -vvss | grep -e "igc3 icmp" )
                WAN=0
                case "$check_current_states" in
                  *icmp* ) WAN=1 ;;
                esac
                if [ $WAN = 0 ];
                then
                 echo f2 > /dev/led/red_0
                 echo f2 > /dev/led/red_1
                 echo f2 > /dev/led/red_2
                else
                  /usr/local/sbin/pfSense-led.sh ready
                
                fi
                

                Or to just turn on solid red

                #!/bin/sh
                echo 0 > /dev/led/blue_0
                echo 0 > /dev/led/blue_1
                echo 0 > /dev/led/blue_2
                echo 0 > /dev/led/red_0
                echo 0 > /dev/led/red_1
                echo 0 > /dev/led/red_2
                echo 0 > /dev/led/green_0
                echo 0 > /dev/led/green_1
                echo 0 > /dev/led/green_2
                
                check_current_states=$( pfctl -vvss | grep -e "igc3 icmp" )
                WAN=0
                case "$check_current_states" in
                  *icmp* ) WAN=1 ;;
                esac
                if [ $WAN = 0 ];
                then
                 echo 1 > /dev/led/red_0
                 echo 1 > /dev/led/red_1
                 echo 1 > /dev/led/red_2
                else
                  /usr/local/sbin/pfSense-led.sh ready
                
                fi
                

                Please let me know if that works unplug wan it should come on red when you test it.

                After set your cron job to what ever amount of timer you want every min check it or whatever you want. Mine runs every min

                make sure you chmod the file also so it can run.

                if you want just do a chmod 777 on it and or a more secure privilege.

                I have some that run in the day and some at night so this is my 6am - 8:59 one

                login-to-view

                W 1 Reply Last reply Jul 19, 2024, 1:05 AM Reply Quote 1
                • W
                  wgstarks @JonathanLee
                  last edited by Jul 19, 2024, 1:05 AM

                  @JonathanLee said in Netgate 2100 Customization of LEDs (Guide):

                  @wgstarks said in Netgate 2100 Customization of LEDs (Guide):

                  echo f2 > /dev/led/blue_0
                  echo f2 > /dev/led/blue_1
                  echo f2 > /dev/led/blue_2

                  try this one

                  #!/bin/sh
                  echo 0 > /dev/led/blue_0
                  echo 0 > /dev/led/blue_1
                  echo 0 > /dev/led/blue_2
                  echo 0 > /dev/led/red_0
                  echo 0 > /dev/led/red_1
                  echo 0 > /dev/led/red_2
                  echo 0 > /dev/led/green_0
                  echo 0 > /dev/led/green_1
                  echo 0 > /dev/led/green_2
                  
                  check_current_states=$( pfctl -vvss | grep -e "igc3 icmp" )
                  WAN=0
                  case "$check_current_states" in
                    *icmp* ) WAN=1 ;;
                  esac
                  if [ $WAN = 0 ];
                  then
                   echo f2 > /dev/led/red_0
                   echo f2 > /dev/led/red_1
                   echo f2 > /dev/led/red_2
                  else
                    /usr/local/sbin/pfSense-led.sh ready
                  
                  fi
                  

                  Or to just turn on solid red

                  #!/bin/sh
                  echo 0 > /dev/led/blue_0
                  echo 0 > /dev/led/blue_1
                  echo 0 > /dev/led/blue_2
                  echo 0 > /dev/led/red_0
                  echo 0 > /dev/led/red_1
                  echo 0 > /dev/led/red_2
                  echo 0 > /dev/led/green_0
                  echo 0 > /dev/led/green_1
                  echo 0 > /dev/led/green_2
                  
                  check_current_states=$( pfctl -vvss | grep -e "igc3 icmp" )
                  WAN=0
                  case "$check_current_states" in
                    *icmp* ) WAN=1 ;;
                  esac
                  if [ $WAN = 0 ];
                  then
                   echo 1 > /dev/led/red_0
                   echo 1 > /dev/led/red_1
                   echo 1 > /dev/led/red_2
                  else
                    /usr/local/sbin/pfSense-led.sh ready
                  
                  fi
                  

                  Please let me know if that works unplug wan it should come on red when you test it.

                  After set your cron job to what ever amount of timer you want every min check it or whatever you want. Mine runs every min

                  make sure you chmod the file also so it can run.

                  if you want just do a chmod 777 on it and or a more secure privilege.

                  I have some that run in the day and some at night so this is my 6am - 8:59 one

                  login-to-view

                  I like the blinking red. More of an attention getter IMO. Working beautifully. Thanks for the script and the help.

                  Box: SG-4200

                  J 1 Reply Last reply Jul 19, 2024, 1:10 AM Reply Quote 1
                  • W
                    wgstarks
                    last edited by wgstarks Jul 19, 2024, 1:11 AM Jul 19, 2024, 1:10 AM

                    Is it possible to increase the brightness? And blink all three?

                    Box: SG-4200

                    J 1 Reply Last reply Jul 19, 2024, 1:12 AM Reply Quote 0
                    • J
                      JonathanLee @wgstarks
                      last edited by Jul 19, 2024, 1:10 AM

                      @wgstarks said in Netgate 2100 Customization of LEDs (Guide):

                      IMO

                      Great, no problem enjoy. I have one that turns purple when my wife has her work stuff on... royal purple means do not mess with firewall when she is working... haha

                      1 Reply Last reply Reply Quote 0
                      • J
                        JonathanLee @wgstarks
                        last edited by Jul 19, 2024, 1:12 AM

                        @wgstarks that you would need to ask an official Netgate rep about, I only have a 2100 so I can only use the directives that my model uses.

                        I wonder if you can also...

                        @stephenw10 Do you know what the LED intensity directive is on the 4200?

                        1 Reply Last reply Reply Quote 0
                        • W
                          wgstarks
                          last edited by Jul 19, 2024, 1:17 AM

                          Only the first and third led's are blinking. I'm fairly sure the code is for all three right? I wonder if it's possible to test them?

                          Box: SG-4200

                          J 1 Reply Last reply Jul 19, 2024, 1:20 AM Reply Quote 0
                          • J
                            JonathanLee @wgstarks
                            last edited by JonathanLee Jul 19, 2024, 1:21 AM Jul 19, 2024, 1:20 AM

                            @wgstarks does the 2nd glow red? The f2 directive might only work for led 0 and 2 test with the echo command

                            W 1 Reply Last reply Jul 19, 2024, 1:22 AM Reply Quote 0
                            • W
                              wgstarks @JonathanLee
                              last edited by Jul 19, 2024, 1:22 AM

                              @JonathanLee said in Netgate 2100 Customization of LEDs (Guide):

                              @wgstarks does the 2nd glow red?

                              No but I see 0,1 and 2 in the code so wondering if it's a bad led.

                              Box: SG-4200

                              J 1 Reply Last reply Jul 19, 2024, 1:27 AM Reply Quote 0
                              • J
                                JonathanLee @wgstarks
                                last edited by Jul 19, 2024, 1:27 AM

                                @wgstarks check the file in /dev/led red 2

                                W 1 Reply Last reply Jul 19, 2024, 1:32 AM Reply Quote 0
                                • W
                                  wgstarks @JonathanLee
                                  last edited by wgstarks Jul 19, 2024, 1:41 AM Jul 19, 2024, 1:32 AM

                                  @JonathanLee said in Netgate 2100 Customization of LEDs (Guide):

                                  @wgstarks check the file in /dev/led red 2

                                  Can't open that file. the led directory is locked (555).

                                  Box: SG-4200

                                  J 2 Replies Last reply Jul 19, 2024, 1:40 AM Reply Quote 0
                                  • J
                                    JonathanLee @wgstarks
                                    last edited by Jul 19, 2024, 1:40 AM

                                    @wgstarks 🤔

                                    1 Reply Last reply Reply Quote 0
                                    • J
                                      JonathanLee @wgstarks
                                      last edited by Jul 19, 2024, 1:41 AM

                                      @wgstarks can you cat the file?

                                      W 1 Reply Last reply Jul 19, 2024, 2:01 AM Reply Quote 0
                                      • W
                                        wgstarks @JonathanLee
                                        last edited by Jul 19, 2024, 2:01 AM

                                        @JonathanLee said in Netgate 2100 Customization of LEDs (Guide):

                                        @wgstarks can you cat the file?

                                        Operation not supported by device.

                                        Box: SG-4200

                                        J 2 Replies Last reply Jul 19, 2024, 3:01 AM Reply Quote 0
                                        • J
                                          JonathanLee @wgstarks
                                          last edited by Jul 19, 2024, 3:01 AM

                                          @wgstarks look at the open source file on GitHub it’s all open source, git hub should be open non locked

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