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!
https://github.com/opnsense/core/issues/2114
https://github.com/opnsense/plugins/pull/920
Good to know!
Is there any plans to make a WebUI page?
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
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?
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).
@franco
I finished the initial release.
https://github.com/cloudfence/dev-packages/blob/master/os-apuled-1.0.txz
Details and Readme:
https://github.com/cloudfence/apuled
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
So simple :) Thanks.
Works perfectly, reboot test, will be done with the next update :P
Ronny
The short text version is for version 1.0:
Install Package:
pkg add https://github.com/cloudfence/dev-packages/raw/master/os-apuled-1.0.txz
Then add the minute cron refresh for APULED, Apply and finish
Hey Julio,
Neat, do you want to do a PR against our plugins for inclusion? I'm sure there's a bit of work and discussion coming up but it's better than a compiled daemon so ideally we should go for merging this simple script instead. :)
Cheers,
Franco
Hi Franco!
Sure! Done!
https://github.com/opnsense/plugins/pull/1269
Cheers!
(Reminder for myself)
Hi Franco
I assume the APULED plugin should show up on my OPNsense 20.1.3 plugin page as I can see it in the 20.1 repo (https://github.com/opnsense/plugins/tree/stable/20.1)? Or where can I see which are the "current" plugins available for 20.1.3 ?
Kind regards
KoS
os-apuled is still in development mode due to missing community feedback.
# pkg install os-apuled-devel
Cheers,
Franco
Thank you Franco. I'll try it.
Is there a way to see which of the plugins are in the normal repo and which are only available as dev?
I am new to OPNsense and haven't found it yet. e.g. something like http://packages.debian.org/).
How/where shall I provide feedback on the plugin? github? create a new issue on github?
Feedback anywhere is nice, just let us know you're using the plugin successfully and want to have it released. :)
I added the "(development only)" notes to https://github.com/opnsense/plugins#a-list-of-currently-available-plugins
Cheers,
Franco
I am using the plugin successfully :-)
FYI, due to a change in the APU Bios I had to add the line
debug.acpi.avoid="\_SB_.PCI0.GPIO"
to loader.conf to make the general APULED module work again.
(see https://github.com/opnsense/core/issues/2114#issuecomment-609365754 and https://github.com/pcengines/coreboot/issues/329#issuecomment-526217280)
-> It survived the OPNsense upgrade from 20.1.3 to 20.1.4
I want to do changes on the module, e.g. I would suggest to have the 1st LED always blinking to have "heartbeat", as I had in the past APU boards that freezed and if the LED is always on, you would not notice that the device got stuck. Should I "pre-discuss" it somewhere or just provide a pull-request in Github?
Hi kos!
Thank you!
I think you can submit a PR on the Github: https://github.com/opnsense/plugins/pulls
Quote from: KoS on April 18, 2020, 05:55:12 PM
I am using the plugin successfully :-)
FYI, due to a change in the APU Bios I had to add the line
debug.acpi.avoid="\_SB_.PCI0.GPIO"
to loader.conf to make the general APULED module work again.
(see https://github.com/opnsense/core/issues/2114#issuecomment-609365754 and https://github.com/pcengines/coreboot/issues/329#issuecomment-526217280)
-> It survived the OPNsense upgrade from 20.1.3 to 20.1.4
I want to do changes on the module, e.g. I would suggest to have the 1st LED always blinking to have "heartbeat", as I had in the past APU boards that freezed and if the LED is always on, you would not notice that the device got stuck. Should I "pre-discuss" it somewhere or just provide a pull-request in Github?
That is a long running story, unfortunately with no result. Somebody demoed a youtube video that it works under linux. But under Freebsd i think it was never done.
Do LEDs work with the 21.7 version and apu4d4?
Works for me on OPNsense 21.7.4-amd64. But under plugins it sais the plugin is (misconfigured).
Hi,
sorry for chiming in,
Quote from: juliocbc on November 08, 2018, 03:16:10 AM
I made a simple plugin to get APUs boxes more shiny!
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!
did you succeed to compile that source code against freeBSD 14 current? If yes would you be so kind and make the binary available?
Thank you and have a nice day,
firedog
It has been included in OPNsense for ages.
Cheers,
Franco
Quote from: franco on March 03, 2023, 11:55:30 AM
It has been included in OPNsense for ages.
Cheers,
Franco
Oooh - sorry!
Thank you!