Firebox LCD Driver for LCDProc
-
Well someone a while ago mentioned getting pfSense running on a firebox - I was able to do the same but could not live without the LCD working.
So I wrote a driver for LCDProc and got it working on pfSense 1.2-RC4!
Check out the pixs. Realizing this is pretty specialized hardware not sure if there is any interest for the driver for anyone else's uses.
-
That is pretty cool! We can surely make this a package.
-
Hmmm - There was some mention a little while back about creating a driver for the mini-box.com ( http://www.mini-box.com/picoLCD-20x2-OEM?sc=8&category=490 ) display used in their M-200 and M-300 cases. Would this driver be applicable??? If not - how hard would it be to adapt???
gm…
-
That looks like a pretty cool LCD. the software which i wrote the driver was for lcdproc because i had scene that name used else where on this site.
It appears to already have support in lcdproc based on the website/link provided
LCDProc with keypad support: Available in latest CVS from lcdproc homepage or here. An archive of the sources is available here. LCDProc with picoLCD patch is also available in latest Gentoo ebuilds repositories.
I can grab a copy and try to compile for you guys but I don't have a display to test with.
-
this is awesome and thanks for writing this, I want to get a firebox soon as a pfsense box.
-
Got any instructions on how to make it work? I played around with it when I first got the firebox running but didn't really get anywhere.
-
Sure do. I have a tar archive at home with the components that you need to get it up and running. Its really small. When I get home, I'll look at it and post the archive here with a few directions.
-
Here are the directions w/ files! This only has support for the FireBox LCD compiled. I have also noticed the interface stats does not work w/ freeBSD. I've got a full install on my pc and it still doesn't pickup the traffic. I have not dug too much into it. At any rate here it is:
(Copy and paste from shell so you can see exactly how I set it up to install)
I should really wrap a cool GUI around this so it can all be configured from the web console. I do know PHP too, just need to find some time.
I'm using the EMBEDDED VERSION! the install script supports that only - if you are using a full install i'd try and comment out the 2 mount commands as you don't need to re-mount the file system as read-write then back to read-only.
Note: the /var/tmp filesystem resides in memory so you can 'play' here without wearing out your CF card.
This is from some PC to put the archive on the pfsense box.
MacWild:final jayson$ ls lcdd.tar.gz MacWild:final jayson$ gunzip lcdd.tar.gz MacWild:final jayson$ scp lcdd.tar root@***.***.***.***:/var/tmp Password: lcdd.tar 100% 124KB 124.0KB/s 00:00 MacWild:final jayson$
Now ssh into the box; make sure ya got it enabled first of course ;)
pfsense:/# cd /var/tmp pfsense:/var/tmp# ls -l total 126 -rw-r--r-- 1 root wheel 126976 Mar 6 22:30 lcdd.tar drwxr-xr-x 2 root wheel 512 Mar 6 22:28 vi.recover pfsense:/var/tmp# tar -xvf lcdd.tar x lcdd x lcdd/drivers x lcdd/lcdd x lcdd/LCDd.conf x lcdd/lcdd.sh x lcdd/lcdproc x lcdd/drivers/curses.so x lcdd/drivers/sdeclcd.so x install-embed.lcdd.sh pfsense:/var/tmp# chmod 700 install-embed.lcdd.sh pfsense:/var/tmp# ./install-embed.lcdd.sh pfsense:/var/tmp# mount /dev/ufs/pfSense on / (ufs, local, read-only) devfs on /dev (devfs, local) /dev/md0 on /tmp (ufs, local) /dev/md1 on /var (ufs, local) /dev/ufs/pfSenseCfg on /cf (ufs, local, read-only) devfs on /var/dhcpd/dev (devfs, local) pfsense:/var/tmp#
Now you can reboot or just 'cd' over to the run-scripts directory and start it up so you can keep that stellar 'up-time' figure
pfsense:/var/tmp# cd /usr/local/etc/rc.d pfsense:/usr/local/etc/rc.d# ls lcdd.sh lighttpd pfsense:/usr/local/etc/rc.d# ls -la total 5 drwxr-xr-x 2 root wheel 512 Mar 6 22:31 . drwxr-xr-x 4 root wheel 512 Feb 24 17:37 .. -r-xr-xr-x 1 root wheel 174 Mar 6 22:31 lcdd.sh -r-xr-xr-x 1 root wheel 1184 Sep 11 13:00 lighttpd pfsense:/usr/local/etc/rc.d# ls lcdd.sh lighttpd pfsense:/usr/local/etc/rc.d# ./lcdd.sh pfsense:/usr/local/etc/rc.d#
The driver currently does not have support for vertical filled histograms - its only a 2x20 LCD so I wrote the horizontal fill functions - I need to finish that but I really didn't need it so I pushed it to the back burner for now.
http://files.pfsense.org/misc/lcdd.tar.gz
(Can this file be put on one of the pfSense servers?) – Thanks! I've updated my url
-
thanks ridnhard19 for posting this, I'll try it out soon
-
ridnhard19: I copied this file to http://files.pfsense.org/misc/lcdd.tar.gz
If you ever want to make any updates, just email me (cmb@pfsense.org) the file as an attachment and I'll update it.
I may see about including this in our lcdproc package at some point if time permits.
-
I added the driver to my LCDproc package install, I added the following to:
/usr/local/pkg/lcdproc.inc
Under the /* lcdproc default driver definitions */:case "sdeclcd": $config_text .= "[{$lcdproc_config['driver']}]\n"; $config_text .= "BackLight=yes\n"; break;
And added the following to: /usr/local/pkg/lcdproc.xml
In the drive options section.<option><value>sdeclcd</value> <name>sdeclcd</name></option>
Then copied the attached "sdeclcd.so"(remove the ".txt") to "/usr/local/lib/lcdproc/"
So now the LCD works, it says LCDproc Server and on the second line says Cli: 0 Scr: 0
But I couldn't get the LCDproc service to start, so I had to do that manually from the terminal:
"lcdproc -s 127.0.0.1 -p 13666 C M U"
Now the LCD works awesome!
ridnhard19: Thanks for the driver! Hopefully we can get this in the LCDproc package and make it work.
-
Well, I just followed my own instructions on my other firebox and it worked without me having to start lcdproc from the terminal. And the options on the screens page work as well. Not sure what happened to the first one though ???
-
Cool; I'm glad its working!! A package for this would rock too where you can click options and it up via web interface…. Maybe after i finish up this big project at work I'll have a life again and can tinker.
-
thanks ridnhard19,
got this working well on my pfsense watchguard's lcd, switching between cpu and memory statsand let us know if you ever get it to display network related stuff
-
I tried this on my firebox 2 and the lights are blinking, but they doesn't make any sense. Can you please give me the sourcecode or adapt this driver for the firebox 2?
Thanks…
-
Since this has been rolled up in the LCDProc package - which driver did you write for the x700? I cannot seem to find the name of the driver in question as well as what port did you assign it (parallel port?, usb com1?)
Thanks again guys. One less X700 on the market.
Dayblade
-
Since this has been rolled up in the LCDProc package - which driver did you write for the x700? I cannot seem to find the name of the driver in question as well as what port did you assign it (parallel port?, usb com1?)
Thanks again guys. One less X700 on the market.
Dayblade
Just a bump.
Did you ever figure out what driver and port the lcd should be run as?
Or do you still have to install in manually? -
This is awesome… I loaded pfsense on my X500 by popping in a 2GB CF and upgrading the RAM to 512... Truthfully I never expected it to work this well, if at all, since I did it without looking if anyone had done it before. The LCD just tops it off and makes it look great... On ebay most used watchguards go for less than $50 usd since the live security subscription is so much which basically junks the box. This is a perfect appliance for pfsense and with the 6 NICs it really takes it to the next level.
I hope this makes it to a package for the faint of heart!
Being less of a programmer and more of a network guy I ahve been having a hard time adjusting what the LCD reads out. I went through the .conf file but did not see any per line settings... where can i go to edit how/what the LCD displays?
-
It works perfectly on X750 too. On FreeBSD 7 based versions of pfSense it doesn't work without tricks becose missing libraries libc.so.6 and libkvm.so.3.
-
fix it by:
cd /lib
ln -s libc.so.7 libc.so.6
ln -s libkvm.so.4 libkvm.so.3then it works