Navigation

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

    Firebox LCD Driver for LCDProc

    Hardware
    97
    398
    228118
    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.
    • R
      ridnhard19 last edited by

      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.



      1 Reply Last reply Reply Quote 0
      • S
        sullrich last edited by

        That is pretty cool!  We can surely make this a package.

        1 Reply Last reply Reply Quote 0
        • G
          gmckinney last edited by

          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…

          1 Reply Last reply Reply Quote 0
          • R
            ridnhard19 last edited by

            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.

            1 Reply Last reply Reply Quote 0
            • V
              Valhalla1 last edited by

              this is awesome and thanks for writing this, I want to get a firebox soon as a pfsense box.

              1 Reply Last reply Reply Quote 0
              • J
                jmcentire last edited by

                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.

                1 Reply Last reply Reply Quote 0
                • R
                  ridnhard19 last edited by

                  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.

                  1 Reply Last reply Reply Quote 0
                  • R
                    ridnhard19 last edited by

                    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

                    1 Reply Last reply Reply Quote 0
                    • V
                      Valhalla1 last edited by

                      thanks ridnhard19 for posting this, I'll try it out soon

                      1 Reply Last reply Reply Quote 0
                      • C
                        cmb last edited by

                        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.

                        1 Reply Last reply Reply Quote 0
                        • J
                          jmcentire last edited by

                          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.

                          sdeclcd.so.txt

                          1 Reply Last reply Reply Quote 0
                          • J
                            jmcentire last edited by

                            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  ???

                            1 Reply Last reply Reply Quote 0
                            • R
                              ridnhard19 last edited by

                              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.

                              1 Reply Last reply Reply Quote 0
                              • V
                                Valhalla1 last edited by

                                thanks ridnhard19,
                                got this working well on my pfsense watchguard's lcd, switching between cpu and memory stats

                                and let us know if you ever get it to display network related stuff

                                1 Reply Last reply Reply Quote 0
                                • B
                                  binco last edited by

                                  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…

                                  1 Reply Last reply Reply Quote 0
                                  • D
                                    Dayblade last edited by

                                    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

                                    1 Reply Last reply Reply Quote 0
                                    • M
                                      MeatPuppet last edited by

                                      @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?

                                      1 Reply Last reply Reply Quote 0
                                      • S
                                        shepimport last edited by

                                        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?

                                        1 Reply Last reply Reply Quote 0
                                        • M
                                          MMan last edited by

                                          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.

                                          1 Reply Last reply Reply Quote 0
                                          • T
                                            trendchiller last edited by

                                            fix it by:

                                            cd /lib
                                            ln -s libc.so.7 libc.so.6
                                            ln -s libkvm.so.4 libkvm.so.3

                                            then it works

                                            1 Reply Last reply Reply Quote 0
                                            • M
                                              MMan last edited by

                                              @trendchiller:

                                              fix it by:

                                              cd /lib
                                              ln -s libc.so.7 libc.so.6
                                              ln -s libkvm.so.4 libkvm.so.3

                                              then it works

                                              Yup. I did that.

                                              Friend also recommended using libmap.conf instead of ln, but I didn't get myself to try it yet.

                                              1 Reply Last reply Reply Quote 0
                                              • D
                                                dizydiz last edited by

                                                Hi. Kinda new to this. I got a 128 MB card loaded with the PFSense but need some more detailed newb type help to get the LCD portion to work. Can anyone help me?

                                                Thanks for your time,

                                                Jess
                                                Dizydiz@gmail.com

                                                1 Reply Last reply Reply Quote 0
                                                • M
                                                  mike56 last edited by

                                                  I am also new and interested in getting the LCD to work on my Firebox. 1.2.1 final works great from CompactFlash otherwise.

                                                  1 Reply Last reply Reply Quote 0
                                                  • D
                                                    drallibor last edited by

                                                    what is the chance somebody will get the buttons on the firebox x series working within lcdproc?  prior to installing pfsense on my watchguard I had full ubuntu server installed using lcd4linux.  The latest version of lcd4linux supports 100% the sdec lcd on the firebox x series as well as the buttons.  I was able to configure screens and reboot the firebox through the interface.

                                                    The aptitude version of lcd4linux doesnt have this support, only the latest v10.1 rc2 version does which I manually downloaded and installed on top of the v10.0 that is available through aptitude.

                                                    1 Reply Last reply Reply Quote 0
                                                    • R
                                                      ridnhard19 last edited by

                                                      In response to a couple requests; I've posed the LCDproc driver code for the lcd.  I've been informed we might be able to make a charmap for the hd44780 standard driver in LCDproc. Doing this would allow the buttons to work too!

                                                      Source code is posted on my site: http://www.ktechs.net/

                                                      1 Reply Last reply Reply Quote 0
                                                      • P
                                                        Phil last edited by

                                                        Works fine here on 1.2.3-RC1, even without the symlinks. As I run an embeded kernel on a HDD, I just had to comment out the 2 mount lines in the install script before running.

                                                        Would be nice to see the buttons working.

                                                        Phil

                                                        1 Reply Last reply Reply Quote 0
                                                        • S
                                                          Sifter last edited by

                                                          @trendchiller:

                                                          fix it by:

                                                          cd /lib
                                                          ln -s libc.so.7 libc.so.6
                                                          ln -s libkvm.so.4 libkvm.so.3

                                                          then it works

                                                          Did you do this on an embedded system or full install?  When I try on an embedded, I get:

                                                          pfsense:/lib#  ln -s libc.so.7 libc.so.6
                                                          ln: libc.so.6: Read-only file system

                                                          1 Reply Last reply Reply Quote 0
                                                          • dotdash
                                                            dotdash last edited by

                                                            http://doc.pfsense.org/index.php/Remount_embedded_filesystem_as_read-write

                                                            1 Reply Last reply Reply Quote 0
                                                            • S
                                                              Sifter last edited by

                                                              Thank you.  Awesome job on this.  Another x700 LCD working on an embedded system.

                                                              1 Reply Last reply Reply Quote 0
                                                              • S
                                                                Sifter last edited by

                                                                @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

                                                                I recently installed a full version of this and would also like to know if this was ever figured out.  What port and driver were used in the package for the watchguards?

                                                                1 Reply Last reply Reply Quote 0
                                                                • S
                                                                  Sifter last edited by

                                                                  Just bumpin this up, anyone?

                                                                  1 Reply Last reply Reply Quote 0
                                                                  • X
                                                                    Xmicrosoftie last edited by

                                                                    I've been looking for a firewall to replace an aging netgear fsv box.  Stumbled on pfSense, found it to be pretty amazing, got a decommisioned Firebox x700 and replaced the cf card with a 4g and lcdproc on the 1.2.3rc1 embedded image.  Works like a champ.  Had some troulble getting lcdproc to work but after finding this thread and adding symlinks, all is good.  Was there any ever progress with controlling the lcd with the buttons on the firebox and a charmap that was discussed in this thread?  Sorry to resurrect an old thread but thought those that originally started it might have more insight.

                                                                    Thanks,
                                                                    Eric

                                                                    1 Reply Last reply Reply Quote 0
                                                                    • R
                                                                      ridnhard19 last edited by

                                                                      I've not done any work with mine at all. I started troubleshooting a problem with no connectivity and turned out the old firebox bit the dust  :(

                                                                      So I won't have a test system any more to work with this specific LCD.  BUT I did build a kick-ass system with a power efficient mini-itx board, 6 GIG E ports, 2 GIG of memory, fan less and quite all in a nice small metal case. Now I wonder how  I can squeeze an LCD in there  ::)

                                                                      I did have fun writing the driver for this. I've never written one before but sounds like a lot of you were able to make some use of it.

                                                                      1 Reply Last reply Reply Quote 0
                                                                      • J
                                                                        jjgoessens last edited by

                                                                        Hello,

                                                                        I found where is the keyboard,  :) i just wrote a scanning program which tracks changes on all ports… ;D

                                                                        and if found the 4 pushbuttons are at address 0x379 !!

                                                                        for the moment, i am not able to reach the front panel lights...

                                                                        if it was easy to write a small test program, when i tried to modify sdeclcd to add the key_read routine, unfortunately, i encounter a lot of difficulties to compile it ???

                                                                        If someone could support me for that, so all fireboxes X series could enable the keyboard !

                                                                        Jean Jacques

                                                                        1 Reply Last reply Reply Quote 0
                                                                        • R
                                                                          ridnhard19 last edited by

                                                                          You have to download the source for lcdproc and modify the autoconfig scripts to find your sources. The best advice I have is to look at the lcdproc documentation on how to integrate a new driver and use the already established name of the files that I've posted. They have a whole
                                                                          section on how to develop drivers and integrate the
                                                                          with the autoconfig and autobuild scripts. Once you do that you can just type make :) after you run the configure script of course setting the parameter to include your driver.

                                                                          1 Reply Last reply Reply Quote 0
                                                                          • J
                                                                            jjgoessens last edited by

                                                                            While you were writing, i found the developer documentation.

                                                                            i was not able to ./configure –enable-driver=all ... there was an error in the documentation, the right switch is --enable-drivers...

                                                                            unfortunately, i do not know why, the new driver i called sdeclcd2 becomes sdeclcd2SO in the makefile !!
                                                                            i corrected that manually and i am able to compile it ! :)

                                                                            Now, i am proud  ;D to tell that my driver is working fine, the 4 buttons returns "Left","Right","Up" and "Down" and i can change the screens.

                                                                            For sure, the main part of the program is your, not mine !!

                                                                            I will put in online in a few days because i prefer to test it before.

                                                                            About the name, do you want to keep this name ?

                                                                            Jean Jacques

                                                                            1 Reply Last reply Reply Quote 0
                                                                            • R
                                                                              ridnhard19 last edited by

                                                                              I'd prefer it say the same as it references the name of the LCD module that is being used in the fireboxes.  I think we should also submit the source code to the project so people can just download it as part of the normal distribution of LCDProc.  Then again i'm not sure if there is such of a "demand" to warrant a driver that is for something so specific.

                                                                              1 Reply Last reply Reply Quote 0
                                                                              • J
                                                                                jjgoessens last edited by

                                                                                I agree, it's a so specific driver that it may not included in lcdproc.

                                                                                Anyway, it can be added to pfsense, maybe in download area for those who got a nice red firebox box (i like the color!)

                                                                                I have made some tests, it works fine, it's nice in addition with lcdexec.

                                                                                I prefer to have more feedback before giving it. Additionnally, i need to understand my compilation troubles, i certainely did someting wrong in the *.am files, but i do not see what for the moment.

                                                                                nota : I removed the #include "shared/str.h", because it was giving me a compile error (file not found). It compiles without. Have you some idea?

                                                                                Jean Jacques

                                                                                1 Reply Last reply Reply Quote 0
                                                                                • J
                                                                                  jjgoessens last edited by

                                                                                  Hello all,

                                                                                  I solved all my compile problems!
                                                                                  It was a mistake in Makefile.am …

                                                                                  so i tested th driver yesterday and today, it works.

                                                                                  here is attached the file, jst change the name : remove the .txt

                                                                                  make a copy of previous sdeclcd.so file, in case of trouble, you can reinstall it
                                                                                  copy it instead of original sdeclcd.so
                                                                                  restart LCDd

                                                                                  Then the 4 keys send messages "Up","Down","Left","Right"

                                                                                  So the standard LCDd.conf will work.

                                                                                  if you want to use my kbd setup, here it is :

                                                                                  PrevScreenKey=Down
                                                                                  NextScreenKey=Up

                                                                                  [menu]

                                                                                  MenuKey=Left
                                                                                  EnterKey=Right
                                                                                  UpKey=Up
                                                                                  DownKey=Down

                                                                                  Enjoy  :D

                                                                                  Jean Jacques

                                                                                  sdeclcd.so.txt

                                                                                  1 Reply Last reply Reply Quote 0
                                                                                  • J
                                                                                    jjgoessens last edited by

                                                                                    Hi all Fireboxes users!

                                                                                    Good news, I improved a little bit sdeclcd.so driver, by adding now a backlight timer.

                                                                                    here are instructions:

                                                                                    • backup your old sdeclcd.so to sdeclcd.so.bak, just in case of trouble, you can reinstall the previous one
                                                                                    • donwload sdeclcd.so.txt, rename it sdeclcd.so
                                                                                    • copy the new sdeclcd.so instead of the old
                                                                                    • edit the /usr/local/etc/LCDd.conf file and add in [sdeclcd] section:
                                                                                      ================================
                                                                                      Backlight_Timer=60 if you want 60 seconds
                                                                                      ================================
                                                                                      notice: if no entry is written in LCDd.conf, or if value is set to 0, the timer is disabled.
                                                                                    • you need to restart your lcdproc driver :
                                                                                    • killall LCDd
                                                                                    • LCDd
                                                                                    • lcdproc
                                                                                    • lcdexec (if you use it)
                                                                                      or reboot your Firebox
                                                                                      => after 60 seconds (or the time you decided), the backlight will turn off. any key will turn it on.  ;D

                                                                                    keep me informed of your trials.

                                                                                    Enjoy it  :)

                                                                                    Jean Jacques

                                                                                    sdeclcd.so.txt

                                                                                    1 Reply Last reply Reply Quote 0
                                                                                    • First post
                                                                                      Last post