APU LEDs Plugin

Started by juliocbc, November 08, 2018, 03:16:10 AM

Previous topic - Next topic
Hello!

I made a simple plugin to get APUs boxes more shiny!

https://github.com/cloudfence/dev-packages (plugin package)

https://github.com/cloudfence/apuled (plugin source code)

I've compiled the LED's module from this source code: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=189772

I know that isn't a good idea to put a binary (compiled) in a plugin package, but I don't know exactly how put this module with the plugin yet... maybe build a custom port and put it as plugin dependence... Anyway ideas are very welcome!

This initial version is not very useful yet... but it's a begining!
Cloudfence Open Source Team


Good to know!

Is there any plans to make a WebUI page?

Cloudfence Open Source Team

I am also very interested, eagerly waiting for this feature to be shipped since 18.1.

Is there any description what is possible / what has been implemented as part of "APU LED" ?

LED sequence During startup phase / LED sequence normal working phase / LED sequence during shutdown phase? 

The driver is there now by default and can be used, but the plugin path needs to be evaluated still... it's a bit heavy for my taste with a C++ daemon required.


Cheers,
Franco

Quote from: franco on February 04, 2019, 11:51:43 AM
The driver is there now by default and can be used, but the plugin path needs to be evaluated still... it's a bit heavy for my taste with a C++ daemon required.


Cheers,
Franco

At least can it be tested via CLI, how?

After the module loaded, you can run the echo command direct to the device:

https://www.freebsd.org/cgi/man.cgi?query=led&sektion=4

power on the first LED:

echo 1 > /dev/led/led1


power off :

echo 0 > /dev/led/led1
Cloudfence Open Source Team

The module is loaded via:

# kldload apuled

But I haven't used it yet so I cannot say.

Here's the daemon that was written by Smart Soft with a bit of documentation...

https://github.com/alexpro/apuledctld/tree/master/apuledctld

@Franco

I tested today the APU's led module on OPNsense 19.1 and works fine!

Just to avoid to have a duplicate effort... the plan is to use the plugin from Smart Soft as the official plugin?

We're planning to make an updated version from our plugin to control the LEDs using just shell (not a binary version).

What you think about it?

Cloudfence Open Source Team

I would prefer a script to keep it simple, yes.


Cheers,
Franco

Quote from: franco on February 05, 2019, 03:34:36 PM
I would prefer a script to keep it simple, yes.


Cheers,
Franco

Some hints:
-  WAN UP/DOWN trigger LED-changes
- system load over x / load below y trigger LED-changes
- WAN interface traffic in the past minute above X bps / below Y bps trigger LED-changes (or define 10 ranges: 1) at max. 10% bandwidth utilization 1 blink/sec, 2) at max  20% bw util 2 blinks/sec, etc. and finally over 90% bw util, 9 blinks/sec)
- free disk space is low trigger LED-changes

My idea is to have the scripts selected from the above list, 1 script
assigned to each LED device, max of 3 scripts active at any time.

@franco: this is a C daemon as it does not look like it is using any C++ features but needs to be compiled anyway.

The C code needs some improvements in my opinion anyway (for example bad variable naming practice).


sorry for my clueless, but how to try it on a normal OPNsense 19.1 ?

Ronny

Hi Ronny, my bad!

The download and installation process, please see this video: https://youtu.be/OR6hg-WOTB0


Cloudfence Open Source Team