Firebox LCD Driver for LCDProc



  • 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 stats

    and 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



  • @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.3

    then it works



  • @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.



  • 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



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



  • 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.



  • 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/



  • 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



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





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



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



  • Just bumpin this up, anyone?



  • 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



  • 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.



  • 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



  • 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.



  • 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



  • 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.



  • 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



  • 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



  • 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



  • the contents of the tarball and linking the libs works fine for me but the *.so.txts you've posted don't work for me and I keep having to revert to the original. Tried downloading with different browsers and scpin' over differently but to no avail.

    I'm using the 1.2.3-RC3 , as I said it works from the tar contents. Just wondering if the forum software or something has mangled the files.



  • Mmm

    I dont like this!

    can you describe what appends ?

    if you try to start LCDd from console, do you get a message ?

    enter in console mode : option 8
    type:

    killall LCCd
    /usr/local/sbin/LCDd

    I will try the downlod, because i did not tried it.

    I am also running 1.2.3-rc3, so it should be the same.

    JJ



  • I downloaded the file, size is not ok : 12098 bytes instead of 12022.

    Here is the original file :

    http://www.goessens.dyndns.org/public/sdeclcd.so

    JJ



  • Thanks so much , I'll test it today for you.

    For the record what was happening was that when you started the daemon it would eventually say there was a timeout listening on the supplied port. It appeared as if the driver was damaged. Which it appears it was! I'll test today :D.



  • Can confirm that this .so works with menu buttons and backlight , which is EXACTLY what i needed .

    Thanks so much for the excellent work! Now to go slay some more firebox firmwares muhahhahahar :D.



  • I am very happy that it works!

    effectively, when i compared the file .so.txt with original, i discover that the web site replaced all 0x0a bytes by the sequence 0x0d 0x0a, this explains why it is longer, and why it did not work!

    Windows compatibilty killed my program!

    I think the backlight timer is a necessary option, because it can save some power…

    I am working on another (and last ?) release with horizontal bars corrected and Vertical bars added.

    unfortanetly, as there are only 8 user chars, heartbeat graphics will not work with this version, i need to replace by other standard chars.

    I have also made some hardware improvement regarding fan control, in order to reduce the noise. I will describe that on my web site later...

    JJ



  • Awesome work being done. I'm wondering if there is any way you could get a guide up on how to install everything you are writing.

    Thanks!



  • Here is the last release:

    • H bar correction : uses now the whole height of display, nicer.
    • V bar addition, now can display cpu load vs time
    • Big clock support, now you can use it as a clock !

    unfortunately, as the number of user chars is very limited, the two latest adds makes the heartbeat unavailable.

    this is the version 1.0.3

    the original author is ridnhard19, who made the main part of the work.

    here are the files : http://goessens.dyndns.org/public

    for firebox users, just need to replace sdeclcd.so

    I also included the sources, maybe to use them for converting a retired Firebox to a Freenas, or maybe also a linux box (web server, mail server, …)

    maybe it is possible to place the files on the pfsense server ?

    JJ  :)






  • Can someone please post a complete copy of there  /usr/local/etc/LCDd.conf file as I think I may have badly damaged mine, and I was stupid enough not to make a backup.



  • Here it is :

    This is specific for sdeclcd 1.0.3 with keyboard & backlight timer.

    # LCDd.conf -- configuration file for the LCDproc server daemon LCDd
    [server]
    Driver=sdeclcd
    
    Bind=127.0.0.1
    Port=13666
    #ReportLevel=3
    #ReportToSyslog=yes
    WaitTime=10
    User=nobody
    ServerScreen=no
    # The server will stay in the foreground if set to true.
    #Foreground=no
    
    DriverPath=/usr/local/lib/lcdproc/
    #      12345678901234567890
    Hello="  pfSense  booting  "
    Hello="    please wait     "
    
    # GoodBye message: each entry represents a display line; default: builtin
    #        12345678901234567890
    GoodBye="  Pfsense 1.2.3 rc3 "
    GoodBye="  is shutting down  "
    
    TitleSpeed=0
    
    HeartBeat=off
    
    PrevScreenKey=Down
    NextScreenKey=Up
    
    ##ToggleRotateKey=Enter
    ##PrevScreenKey=Left
    ##NextScreenKey=Right
    #ScrollUpKey=Up
    #ScrollDownKey=Down
    
    [menu]
    
    MenuKey=Left
    EnterKey=Right
    UpKey=Up
    DownKey=Down
    
    # The following works excellent with 4 keys or more.
    ##MenuKey=Escape
    ##EnterKey=Enter
    ##UpKey=Up
    ##DownKey=Down
    
    # If you have 6 keys you may define these as well
    #LeftKey=Left
    #RightKey=Right
    
    # If you have only 3 keys, you could use something like this:
    #MenuKey=Escape
    #EnterKey=Enter
    #DownKey=Down
    
    ## Firebox specific driver ##
    [sdeclcd]
    BackLight=yes
    Backlight_Timer=60
    
    # EOF
    
    

    Jean Jacques



  • Hi,

    :)Thanks to the pseron who worte this -  it works greate :)

    Followed the instruction to most part and got it working with the buttons ans options.
    I have just on question.
    the option that are set via the LCD display and button on the Firebox, - are they saved to the disk ( i use a 2.5" la hdd and not a flash card) any where, if not how can i set the option i wnat so next time pfsens starts they will be there.

    Also what other options are available for the LCDd.conf file that I can use.

    Thanks in advance
    George.



  • Tnx to all here helping getting this to work for all of us.

    But there is a small thing that has been nagging me sins i got pfsense on my two Fireboxes.
    I might be posting this in the wrong thread but this is the closest i get to my question.
    So here is my question:

    Is there ANY way to get the armed light to turn green when the system is fully active??

    I know this just is the icing on the cake but i would love if anyone have any idea on how to solve this.

    ;D