Firebox LCD Driver for LCDProc



  • hello together,

    i want so start the install of the driver with die read-write problem.

    the user "thewizard" posted last year:

    After setting up pfsense i have loaded the web browser and gone to diag, command, and uploaded the lcdd.tar.gz

    For a pc via 9 pin serial i have selected option 8 (shell)

    but in the console i see the boot screen:
    1. Boot pfSense [default]
    2. Boot pfSense with ACPI enabled
    3. Boot pfSense using USB device
    4. Boot pfSense in Safe Mode
    5. Boot pfSense in single user mode
    6. Boot pfSense with verbose logging
    7. Escape to loader prompt
    8. Reboot

    how can i get the shell?


  • Netgate Administrator

    That's odd. Is that before the box has booted?

    Alternatively you can access a command prompt by using ssh to connect.
    Make sure it's enabled in the web interface:
    \system\advanced\enable secure shell
    Use putty to connect (if you're using Windows).

    Steve



  • at first the bootloader, then this menu. After booting "booting complete", but not the generelly menu

    thx for the idea, i will test this tomorrow.

    the lcdriver package "lcdproc" is not needed? only the lcdd.tar.gz?


  • Netgate Administrator

    You only need the lcdd tarball, it includes lcdproc along with the firebox lcd driver. However there is a problem with the install script when using 2.0Beta5 (or newer).

    Here's a new set of instructions for installing the firebox lcd software that should work with Beta5

    Edit: These instructions didn't work. There's a file permissions problem that needs to be fixed.

    Steve


  • Netgate Administrator

    Edit: This only works correctly under 2.0. To use this file for 1.2.3 you need to add a sym link manually see
    here.

    Here's something that works!  ::)
    At least it did with yesterdays build (pfSense-2.0-BETA5-1g-i386-20110209-1815) on a completely clean install.
    Download the attachment to this message. Rename it lcdd4.tar (remove the .png).
    Upload it to your firebox via Diagnostics\Command Prompt\Upload in the web interface. This will put the file in \tmp. Then open a command prompt via serial or shh and:

    
    [2.0-BETA5][root@pfSense.localdomain]/root(9): cd /tmp
    [2.0-BETA5][root@pfSense.localdomain]/tmp(10): tar -xvf lcdd4.tar
    x ./
    x ./lcdd/
    x ./install-embed2.lcdd.sh
    x ./lcdd/drivers/
    x ./lcdd/LCDd.conf
    x ./lcdd/lcdd.sh
    x ./lcdd/lcdproc
    x ./lcdd/LCDd
    x ./lcdd/drivers/curses.so
    x ./lcdd/drivers/sdeclcd.so
    [2.0-BETA5][root@pfSense.localdomain]/tmp(11): ./install-embed2.lcdd.sh
    [2.0-BETA5][root@pfSense.localdomain]/tmp(12): /usr/local/etc/rc.d/lcdd.sh
    
    

    And your lcd should be working.  ;D

    Changelog from lcdd3:
    Reworked the install script to use rc.conf_mount_rw instead of 'mount -u -w /'.
    Included the symlinking in the install script.
    Changed the default lcd proc display options to C T U.
    Changed the default LCDd.conf to use the front panel buttons correctly for menu access.  :)

    Bugs:
    (Xe box only) Having set it to use the buttons correctly I have found that the buttons on the Xe box are wired differently to the other fireboxes.  >:( When it starts you'll be left in the menu, just press the left button to escape. The result is no different to when the buttons weren't configured correctly.

    Although I am using the rc.conf_mount_rw/ro commands in the script there is no need since it appears that (in this build at least) everything is mounted RW by default. Seems odd.

    Steve

    Edit: Changed the attachment to .png as .txt was corrupt.

    lcdd4.tar.png



  • hello steve,

    that sounds good, but i can´t unpack the file.

    error message on box and on windows…


  • Netgate Administrator

    Hmm, you're right try this.
    Obviously rename it lcdd4.tar
    I tested it and it untared fine.

    Steve

    Edit: Removed the attachment as it's now on the original post.



  • ich have a problem now:

    boot the hdu:

    àp x xpxñý ; ñßø ùŸ Ç ˜

    EDIT:
    don´t forget to go back to read-only mode  ::)
    (/etc/rc.conf_mount_ro)


  • Netgate Administrator

    What are you trying to boot from?
    Looks like something is corrupt.

    3 looks like leftover stuff from the original Watchguard OS. pfSense doesn't use lilo.

    Steve



  • steve the updated driver looks good im flashing a new cf card and will test it tomorrow morning

    Thanks for all the work on the firebox!

    -Jeff



  • i have a problem now, without doing anything…

    -> still working now

    AND:

    the lcd-driver works! thx steve  :)



  • new driver works great! and the menu looks good 2!
    it would be nice to be able to switch the display screens from the menu i like that option even though it dosent work yet



  • Is there a way to keep the backlight constantly on?


  • Netgate Administrator

    There are settings for the backlight in lcdd.conf. I can't remember off hand but there is setting for the time, you could try setting that very high or 0. Have a look through the file there's probably a setting for disabling the backlight timer. The original driver didn't have it so the light was permanently on.

    Steve



  • This is the contents of lcdd.conf:

    
    [server]
    Driver=pyramid
    Bind=127.0.0.1
    Port=13666
    ReportLevel=3
    ReportToSyslog=yes
    WaitTime=5
    User=nobody
    ServerScreen=no
    Foreground=no
    DriverPath=/usr/local/lib/lcdproc/
    GoodBye="Thanks for using"
    GoodBye="    pfSense     "
    ToggleRotateKey=Enter
    PrevScreenKey=Left
    NextScreenKey=Right
    ScrollUpKey=Up
    ScrollDownKey=Down
    [menu]
    MenuKey=Escape
    EnterKey=Enter
    UpKey=Up
    DownKey=Down
    [pyramid]
    Device=/dev/cuaU0
    Size=16x2
    
    

    Don't see anything related to Backlight. Or am I using an older version?


  • Netgate Administrator

    Hmmm, not sure what version you're using but it isn't using the firebox driver (sdeclcd).
    The sdeclcd driver has parameters that appear in lcdd.conf:

    [sdeclcd]
    BackLight=yes
    Backlight_Timer=60
    

    How did you install it?

    Steve

    Edit: I see now that you're using the lcdd2 tarball which is very old now. See my post on the previous page with the lcdd4 attachment.



  • @ridnhard19:

    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

    MMmmm….

    Still can't seem to get this syntax to work - it keeps saying my drive is mounted and I can't seem to write the commands...
    install.embed.lcdd.sh



  • @slider_nww:

    at first the bootloader, then this menu. After booting "booting complete", but not the generelly menu

    thx for the idea, i will test this tomorrow.

    the lcdriver package "lcdproc" is not needed? only the lcdd.tar.gz?

    Your getting the "Booting Complete" without the additional pfsense console setup menu system.
    I have seen this happen on some loads of 1.2.3. & 2 and cannot figure out why.
    I rebuilt my drive and now it works… Rev2 will do this and not give you the final menu also...
    What version are you running?

    H.


  • Netgate Administrator

    @hmeister:

    MMmmm….

    Still can't seem to get this syntax to work - it keeps saying my drive is mounted and I can't seem to write the commands...
    install.embed.lcdd.sh

    That post you quoted is over three years old! It's the first version of the driver built against a much older version of pfSense. It won't work for 2.0 at all.

    The most recent version complete with an install script that works for 1.2.3 or 2.0 and many other improvements is here.

    What version are you installing on? There is a good chance that the install script from the first version will have left your file system incorrectly mounted.

    Steve



  • Ok…

    I will look at the other thread... just trying to figure out where to start and Yes- it messed with the setup and I started over...!
    I tried the upgrade and that did not work either going from 1.2.3. to 2 x386.
    That thread shows RC2. I am running 1.2.3...
    I am running the embedded 1.2.3 on hard drive and that is something else I am trying to figure out - how and what file to use for upgrading...
    The last attempt just cycles the boot process over and over... I was able to upgrade using the GUI.
    Thx for the pointer and I will read some more...
    H.


  • Netgate Administrator

    Hmmm,
    The file I linked to in that post, lcdd4.tar, is intended for embedded systems. I'm not sure what it would do on a full install.
    The embedded nanobsd install has the file system mounted read only to prevent excessive writes to flash media. The script re-mounts the filesystem RW, install the LCD driver and daemon and then re-mounts it read only. Obviously you do not want a full HD install mounted RO. However it uses the included functionality on pfSense to do the re-mounting, /etc/rc.conf_mount_rw and /etc/rc.conf_mount_ro. If those files are not included in a full install then it will probably work just fine. Or it may just throw up errors!  ::)
    Try it and see if it's a fresh install with nothing to loose.

    Steve



  • stephenw10,

    lcdd4.tar works perfectly on 2.0 RC1 full install (uniproc kernel) as I have this installed on my firebox core xxl.

    Greetings,
    Eric


  • Netgate Administrator

    Great, that's good to know.
    Can you remember if it gave any errors?

    Steve



  • No errors at all, just run the install script and poef…enjoy your lcd display



  • erisan - are you running 2.0 on CF or 1.2.3?
    I am running 1.2.3 on a hard drive but am thinking to try and use the CF.
    Thx….



  • I'm running 2.0 on a HD



  • Ok Erisan and Steve - I will try the script tonight on the 1.2.3 embedded build on my HD install.
    Thanks for the help… and thank-you for your script...
    Will update you later tomorrow -
    Regards;
    H.



  • I am having an issue installing the lcdd4.tar.  (firebox x700, 1.2.3 embeded installed via live cd, onto HD)

    Steps:
    1. uploaded the lcdd4.tar via web interface
    2. opened console via serial (putty)
    3. tar -xvf lcdd4.tar
    4. ./install-embed2.lcdd.sh

    I get this:

    ln /lib/libkvm.so.4:  File Exists

    I try to run it anyway with:
    /usr/local/etc/rc.d/lcdd.sh

    I get:
    /libexec/ld-elf.so.1: Shared object "libkvm.so.3" not found, required by "lcdproc"

    Can anyone help me?
    (btw, this was a fresh install, only thing i did after interface setup was try to install this lccd4.tar)

    Thanks!

    EDIT:

    Ok… so I think I figured it out.  Got it working at least.
    I had to edit the install-embed.lcdd.sh. It looked like it was creating the wrong symlinks for 1.2.3 (gathered from other posts).  Here is what I edited it to:

    
    #!/bin/csh
    /etc/rc.conf_mount_rw
    cp -R lcdd /usr/local/share/
    cp /usr/local/share/lcdd/lcdd.sh /usr/local/etc/rc.d/
    chown -R root:wheel /usr/local/share/lcdd
    chmod -R ugo=rX /usr/local/share/lcdd
    chown root:wheel /usr/local/etc/rc.d/lcdd.sh
    chmod ugo=rx /usr/local/etc/rc.d/lcdd.sh
    ln -s /lib/libc.so.7 /lib/libc.so.6
    ln -s /lib/libkvm.so.4 /lib/libkvm.so.3
    /etc/rc.conf_mount_ro
    
    

  • Netgate Administrator

    Yes, my fault! Sorry  :-[

    libkvm.so.5 is only in 2.0.

    I'm late for a dinner party, I'll edit something later!

    Steve


  • Netgate Administrator

    Ok, so as pointed out phr0zen above the file lcdd4.tar does not install properly on 1.2.3 since it sets sym links for libkvm.so.5 which doesn't exist in 1.2.3.

    If you have installed it and got the error

    ln /lib/libkvm.so.4:  File Exists
    

    You need to add the sym link manually with the following console commands:

    
    /etc/rc.conf_mount_rw
    ln -s /lib/libkvm.so.4 /lib/libkvm.so.3
    /etc/rc.conf_mount_ro
    
    

    Now you can start the server and all should be well.

    Steve



  • @phr0zen:

    I am having an issue installing the lcdd4.tar.  (firebox x700, 1.2.3 embeded installed via live cd, onto HD)

    Steps:
    1. uploaded the lcdd4.tar via web interface
    2. opened console via serial (putty)
    3. tar -xvf lcdd4.tar
    4. ./install-embed2.lcdd.sh

    I get this:

    ln /lib/libkvm.so.4:  File Exists

    I try to run it anyway with:
    /usr/local/etc/rc.d/lcdd.sh

    I get:
    /libexec/ld-elf.so.1: Shared object "libkvm.so.3" not found, required by "lcdproc"

    Can anyone help me?
    (btw, this was a fresh install, only thing i did after interface setup was try to install this lccd4.tar)

    Thanks!

    EDIT:

    Ok… so I think I figured it out.  Got it working at least.
    I had to edit the install-embed.lcdd.sh. It looked like it was creating the wrong symlinks for 1.2.3 (gathered from other posts).  Here is what I edited it to:

    
    #!/bin/csh
    /etc/rc.conf_mount_rw
    cp -R lcdd /usr/local/share/
    cp /usr/local/share/lcdd/lcdd.sh /usr/local/etc/rc.d/
    chown -R root:wheel /usr/local/share/lcdd
    chmod -R ugo=rX /usr/local/share/lcdd
    chown root:wheel /usr/local/etc/rc.d/lcdd.sh
    chmod ugo=rx /usr/local/etc/rc.d/lcdd.sh
    ln -s /lib/libc.so.7 /lib/libc.so.6
    ln -s /lib/libkvm.so.4 /lib/libkvm.so.3
    /etc/rc.conf_mount_ro
    
    

    phr0zen & steve…
    Ok - so if I run the 4.tar with the original syntax and then clean up with your (phr0zen) instructions will that get this to work? I just hate to hose my HD install of the 1.2.3 imbedded. I just finished up cleaning up the 3 fans and added a quiet coolermaster with a modded heat sync. I also fell into the perfect drive sled that works with the 2.5laptop drive. I made the decision to close the case - but this may be too soon if this next attempt at the CLI does not get the lcd working... Thanks for all your help here...
    H.



  • @stephenw10:

    Ok, so as pointed out phr0zen above the file lcdd4.tar does not install properly on 1.2.3 since it sets sym links for libkvm.so.5 which doesn't exist in 1.2.3.

    If you have installed it and got the error

    ln /lib/libkvm.so.4:  File Exists
    

    You need to add the sym link manually with the following console commands:

    
    /etc/rc.conf_mount_rw
    ln -s /lib/libkvm.so.4 /lib/libkvm.so.3
    /etc/rc.conf_mount_ro
    
    

    Now you can start the server and all should be well.

    Steve

    Steve - Ok - I read this twice and I am ready to jump in again on the CLI…
    I will expect the error and move on with your instructions here...
    Thanks for the efforts here and hoping to put this project together and start building the firewall rules. Will update tomorrow and let you know how things are going ....
    Thx & Best Regards...
    H.
    BTW - I took off Friday and on Admin at work asked if I stayed home on Friday to watch the wedding but my reply was something like beer and fishing were the order of the day. Her reply was "In the name of the wedding I presume" :)


  • Netgate Administrator

    Here in London it was pretty crazy!  ::)

    National day off was nice though.  :)

    Steve



  • @stephenw10:

    Here in London it was pretty crazy!  ::)

    National day off was nice though.  :)

    Steve

    There ya go - Niiiccce…
    That crowd was huge!

    Well, I tried and now consider myself Linux challenged... Must have been the beer and fishing on Friday..
    Tar'd the version 4 and got no error? but continued and ran rw on the system and tried the edit. I think I need to edit the install-embed.lcdd.sh following phr0zen's syntax - I can see it try and load but no joy...


  • Netgate Administrator

    Editing the script should definitely work. But I would expect it to simply need the extra sym link.  :-
    What error does it give when it tries to load?

    When you ran the install script it didn't give an error? Weird!

    Steve



  • @stephenw10:

    Editing the script should definitely work. But I would expect it to simply need the extra sym link.  :-
    What error does it give when it tries to load?

    When you ran the install script it didn't give an error? Weird!

    Steve

    Steve…
    No Error...
    I am going to build out another 2 version ISO and write another drive...
    I got the error the first time on the 1.2.3 and rebuilt 1.2.3 drive again as I think it changes the system boot so I started over. I think you mentioned it messes with the imbedded RO.

    When I build the hard drive & use my current 2 version ISO it never gets to the last menu when it boots so I am going to download 2 again and rebuild the ISO again and try that... It would be great to get the LCD going but it is not a show stopper but I am willing to try and figure out how to do this. - Like you said - It isn't that hard.... :)



  • I am going to throw this out there - (sameless lack of effort) ::)
    Anyone have a .gho or acronis image??
    I am burning the 2.0 RC1 now but was just wondering?



  • Hi…

    When you build 2.0 imbedded - it boots and does not go to the last menu nor does it allow you to setup the LAN addressing? Is that normal?

    I am rebuilding my 1.2.3 and going after this again - Thanks everyone for your help...
    Getting back to Linux after a few years is a challange but things are slowly coming back and I think this is a good exercise for me - If I start whining to much just give me a snickers bar and I will be ok...

    Regards;

    H.


  • Netgate Administrator

    Hmm,
    There seem to several people having that problem, check the x700 thread.
    It seems to have started around 2.0Beta5.
    One solution is to install 1.2.3 and then upgrade. Not a nice or long term solution if you ask me.
    I don't actually have an x-core box so I haven't experienced it.

    pfSense is BSD not linux. Just different enough to catch you out!  ::)

    Steve



  • Wow - I started this and did not even pay attention - I thought FreeBSD was Linux - my bad….
    Thanks for a eye opener Steve... After reading about FreeBSD I can see why pfsense is built on this os.... and I am glad I am on this path now.

    I rebuilt the drive on 1.2.3 and will try the upgrade path and go through the thread again... When I look at the syntax and try to apply it some of the paths do not exist after the upgrade attempt??! Or my input is incorrect...
    H.
    edit - Update - All due to a hard drive that did not work with the 2.0 version - For some reason the in-place upgrade did not like the /mbr signature on the harddrive!


Log in to reply