Firebox LCD Driver for LCDProc
-
1. Install the lcdproc-dev package.
2. In the Services: LCDproc: Server: screen select:
'Enable LCDproc at startup' yes
Com port - Parallel Port 1
Display Size - 2x20
Driver - Watchguard Firebox with SDEC
Hit the save button at the bottom.
3. Doing the above generates the lcdd.conf file we need but it is only temporary so we need to copy it somewhere more permanent.
Go to Diagnostics: Command Prompt and run:cp /usr/local/etc/LCDd.conf /conf
You could also run that at the CLI but via the webgui takes care of remounting the filesystem for you.
4. No go back to Services: LCDproc: Server: , uncheck 'Enable LCDproc at startup' and set Com Port to 'none'. You must set the com port as none, that's what the lcdproc-dev config script looks for before it removes the RC start-stop scripts.
5. Install the Shellcmd package if you haven't already.
6. Add the following shell commands to start the lcdproc server and client:/usr/bin/nice -20 /usr/local/sbin/LCDd -r 0 -c /conf/LCDd.conf > /dev/null &
/usr/bin/nice -20 /usr/local/bin/lcdproc C T U &
Both are type 'shellcmd'. You can choose which screens to display, C T U works for me. See my attached screenshot from an X-e box.
7. Reboot. Or run those two commands manually.Steve
Thanks for this, I've been fighting problems with lcdproc for a while. For reference for anyone that is curious as to what other screen flags you can use (from lcdproc doc)
lcdproc - LCDproc system status information viewerCopyright 1999-2006 Selene Scriven, William Ferrell, and misc. contributors.
This program is released under the terms of the GNU General Public License.Usage: lcdproc [<options>] [ <screens>…]
where <options>are
-s <host> connect to LCDd daemon on <host>-p <port> connect to LCDd daemon using <port>-f run in foreground
-e <delay> slow down initial announcement of screens (in 1/100s)
-c <config> use a configuration file other than /etc/lcdproc/lcdproc.conf
-h show this help screen
-v display program version
and <screens>are
C CPU detailed CPU usage
P SMP-CPU CPU usage overview (one line per CPU)
G CPUGraph CPU usage histogram
L Load load histogram
M Memory memory & swap usage
S ProcSize biggest processes size
D Disk filling level of mounted file systems
I Iface network interface usage
B Battery battery status
T TimeDate time & date information
O OldTime old time screen
U Uptime uptime screen
K BigClock big clock
N MiniClock minimal clock
A About credits pageExample:
lcdproc -s my.lcdproc.server.com -p 13666 C M X</screens></config></delay></port></port></host></host></options></screens></options> -
Ah intersting, are you using a server on a different machine? What does X show? Is that just the example from the help file? ::)
Steve
-
I installed pfSense 2.1.1 to fix other issues I was having and was following the instructions to get the LCD working and it seems to hang when installing lcdproc-0.5.6-i386.pbi. It has downloaded the filed and it just sits there extracting. I went to the command line and noticed bsdtar is in the state biowr (writing) and consumes about 1% constantly (seems odd).
I had no issues installing this package on 2.1. Not sure it is just my environment or not; thought I would put this out there.
EDIT:
I decided to let this run for some time. It took very long > 15mins (went for a bite to eat), is this normal?
-
Writing to the CF card can be exceptionally slow! I have experienced long delays re-installing packages though I'm not sure it was 15mins. Upgrading my test box from 2.1 to 2.1.1 took a while reload packages, including lcdproc-dev, but I'm unsure how long since I shot myself in the foot with a bad config.
Steve
-
Thanks for the info. I know they can be slow; it was not this slow when I was using 2.1 - I will chalk it up to an outlier condition ;D.
-
Hi.
If you set the "Refresh frequency" before you copy the conf file this value will also be used by the new driver.
May someone needs more time per screen…. -
Yes it should do. That's part of the standard lcdproc configuration independent of the driver so it'd not hard coded or anything.
Steve
-
Hello,
i've just installed the lcdproc-dev package. I works so far, but after 30sek the backlight turned off.
In the webgui Services > LCDproc > Backlight > On
In the LCDd.conf is a line "Backlight=on" So it should work, but it doesn't.Any ideas?
Thanks.
-
That's the normal behaviour.
The backlight is hardcoded to turn off. The decision to do that was based on datasheets for the LCD module in the orginal X-Core box which stated the backlight life as limited number of hours (a few years) and that many of those boxes alreday had a dead backlight. Several people have requested it be allowed to stay on, which seems reasonable given the more recent modules have led backlights with a very long life, but that hasn't made it into the code.Steve
-
Hello Steve,
thanks for your fast answer.
Too bad. I hoped, to let the backlight always on.
If i didn't use the LCDproc the backlight is always on, but it shows this annoying "Booting OS…"pyro
ps. runnung pfsense on a X1250e
-
You could try something horrible like adding a cronjob to set the backlight on every 20s. No idea how it might interfer with the LCD driver though. :-
Or you could fork the driver and remove the code that turns it off. ;)Steve
-
Wow… This is crazy to see how my original proof of concept driver has taken off to a regular package and driver. I guess I lost track of all of this after mine died. It's nice to see people still using this hardware and the neat enhancements made. It's great for us as these devices are useless to many once they don't renew the licenses.
-
Hey, great to hear from you. Thank you so much for your original work. :)
Steve
-
@pyroblast:
Hello Steve,
thanks for your fast answer.
Too bad. I hoped, to let the backlight always on.
If i didn't use the LCDproc the backlight is always on, but it shows this annoying "Booting OS…"pyro
ps. runnung pfsense on a X1250e
I've rebuilt the code from github to force the backlight always on.
You can grab the file from https://www.dropbox.com/s/6ilykwt1p6zn4rm/sdeclcd.so, sadly Dropbox doesn't work nicely with fetch…
You'll need to drop this in /usr/pbi/lcdproc-i386/lib/lcdproc/ and chmod 555 the file. Don't forget to back up your original! Once you reboot the backlight should be on.
-
Nice. Good to have options. :)
Steve
-
@cii:
I've rebuilt the code from github to force the backlight always on.
You can grab the file from https://www.dropbox.com/s/6ilykwt1p6zn4rm/sdeclcd.so, sadly Dropbox doesn't work nicely with fetch…
You'll need to drop this in /usr/pbi/lcdproc-i386/lib/lcdproc/ and chmod 555 the file. Don't forget to back up your original! Once you reboot the backlight should be on.
Hi cii,
thx for your work… but dropbox send your sdeclcd.so as HTML-Text, not as a binary file... could you please zip your file and upload it again ?
@cii:
I've rebuilt the code from github
Can someone give me a direct link to the github sources… i searched myself but didn't find the sources :'(
cu gunther
-
You can try this URL for a zipped version:
https://dl.dropboxusercontent.com/u/6133016/bsd/sdeclcd.so.zipIt was built from this repo (under FreeBSD 8.3)
https://github.com/fmertz/sdeclcd -
works fine, the display stays on… big THX cii ;)
btw the first dropbox-link is also working now... very strange :o
cu gunther
-
Hi,
under pfsense 2.1 with the latest LCDproc-Dev driver you can configure the displayed entries via the webconfigurator inside the LCDproc Service Menu:
1. Simply navigate to the LCD-Proc Service Menu: 'Services -> LCDproc'
Click on "Enable LCDproc at startup" and change the settings as shown on the picture, like stephenw10 mentioned in this posting
2. Then click on the "Screens" Tab to see the following menu
and choose what the display should display, then click the "SAVE" button at the bottom of the page!
And your LCD become alive ;)
3. If your LCD shows only the following picture
This means that your lcdproc-client "died", happens for me on every reboot… don't know why... i will have a look inside the php-script ( lcdproc-client is really a php-shell-script )
Simple workaround... is to restart the lcdproc by hand ( 1. via command line, 2. via shellcmd )
/usr/local/etc/rc.d/lcdproc.sh restart
and all is fine... and running!
cu gunther
-
If you find a solution to that problem please tell us. :)
I have personally tried many, many modifications to the lcdproc client and start/stop scripts. None of them were very successful. That's the reason I have ended starting the client and server outside of the package system as detailed in that post.
There is a lot of discussion about it in the lcdproc-dev thread in the packages subforum.Steve