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

    Firebox LCD Driver for LCDProc

    Scheduled Pinned Locked Moved Hardware
    398 Posts 97 Posters 424.1k Views
    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.
    • F
      FJSchrankJr
      last edited by

      @stephenw10:

      Which version of pfSense are you running?

      There is a bug in current 2.0 snapshots (unless it's been fixed while I wasn't looking!) that leaves the filesystem mounted read-write. It's not really a problem or anything to worry about.

      The lcdd3 script used the mount command directly which is not the correct way to do it in recent versions. This combined with the bug can leave the filesystem mounted read-only with no way to remount it RW. This means that you can't save changes, add packages etc.

      If you used lcdd3 and you're running 2.0Beta5 or newer you may have a problem.

      Steve

      Thank you for the reply Steve! You're always a big help.

      I installed lcdd3 on a 2.0-RC1 system and just updated yesterday with a current snapshot. It would not be a problem for this system to be reinstalled because it's not live yet and I have a backup config. I just need to make sure this system is stable so it would definetely be worth the extra work to re-do it and install the lcdd4 instead. What do you think?

      This script is terrific, thank you for this and to everyone else who worked on it

      FJS - Embedded Systems Engineer
      Pictures are worth a thousand words, but <u>posting config.xml backups are worth 10,000</u>.  Alter the IPs, change anything revealing but leave subnets intact. Use find and replace. Please try to keep it brief on the description.
      ALWAYS disable TSO  & LRO EXCEPT CHKSUM IF SUPPORTED. TSO/LRO breaks traffic, pf scrub and this goes for any passive device inline

      1 Reply Last reply Reply Quote 0
      • stephenw10S
        stephenw10 Netgate Administrator
        last edited by

        Hmm, well that's the exact set of things that I would expect to cause a problem. Perhaps the bug has been fixed?
        Anyway if it's not a problem I would reflash and use lcdd4 to be sure.

        Steve

        Edit: Doesn't seem to have been fixed, not deliberately anyway! http://redmine.pfsense.org/issues/1279

        1 Reply Last reply Reply Quote 0
        • F
          FJSchrankJr
          last edited by

          @stephenw10:

          Hmm, well that's the exact set of things that I would expect to cause a problem. Perhaps the bug has been fixed?
          Anyway if it's not a problem I would reflash and use lcdd4 to be sure.

          Steve

          Edit: Doesn't seem to have been fixed, not deliberately anyway! http://redmine.pfsense.org/issues/1279

          After all of my config experiments yesterday, I got the reflashing process down fast! no problem at all. Thanks for the help Steve and enjoy your weekend.

          FJS - Embedded Systems Engineer
          Pictures are worth a thousand words, but <u>posting config.xml backups are worth 10,000</u>.  Alter the IPs, change anything revealing but leave subnets intact. Use find and replace. Please try to keep it brief on the description.
          ALWAYS disable TSO  & LRO EXCEPT CHKSUM IF SUPPORTED. TSO/LRO breaks traffic, pf scrub and this goes for any passive device inline

          1 Reply Last reply Reply Quote 0
          • F
            FJSchrankJr
            last edited by

            @stephenw10:

            Hmm, well that's the exact set of things that I would expect to cause a problem. Perhaps the bug has been fixed?
            Anyway if it's not a problem I would reflash and use lcdd4 to be sure.

            Steve

            Edit: Doesn't seem to have been fixed, not deliberately anyway! http://redmine.pfsense.org/issues/1279

            Slightly off topic a bit but do you know anything about the serial console menu not showing up on a watchguard. last message is "Bootup complete".

            FJS - Embedded Systems Engineer
            Pictures are worth a thousand words, but <u>posting config.xml backups are worth 10,000</u>.  Alter the IPs, change anything revealing but leave subnets intact. Use find and replace. Please try to keep it brief on the description.
            ALWAYS disable TSO  & LRO EXCEPT CHKSUM IF SUPPORTED. TSO/LRO breaks traffic, pf scrub and this goes for any passive device inline

            1 Reply Last reply Reply Quote 0
            • stephenw10S
              stephenw10 Netgate Administrator
              last edited by

              It seems to be an issue only with the X-Core, or at least I haven't had that problem with either the X-peak or X-e boxes. It may be a symptom of the file system being mounted incorrectly. It seemed to start showing up around the same time the lcdd3 script broke.

              Steve

              1 Reply Last reply Reply Quote 0
              • F
                FJSchrankJr
                last edited by

                @stephenw10:

                It seems to be an issue only with the X-Core, or at least I haven't had that problem with either the X-peak or X-e boxes. It may be a symptom of the file system being mounted incorrectly. It seemed to start showing up around the same time the lcdd3 script broke.

                Steve

                That's what I am using the xcore. It seams as though the BIOS for the watchguard also has control of the LCD because I noticed without any CF card in there you can boot it and change the port speed from the LCD/keypad. Maybe something is conflicting, not sure will have to play around with it more but it's wierd that it works for the rest of the boot and stops at Bootup complete.

                FJS - Embedded Systems Engineer
                Pictures are worth a thousand words, but <u>posting config.xml backups are worth 10,000</u>.  Alter the IPs, change anything revealing but leave subnets intact. Use find and replace. Please try to keep it brief on the description.
                ALWAYS disable TSO  & LRO EXCEPT CHKSUM IF SUPPORTED. TSO/LRO breaks traffic, pf scrub and this goes for any passive device inline

                1 Reply Last reply Reply Quote 0
                • stephenw10S
                  stephenw10 Netgate Administrator
                  last edited by

                  Hello Firebox users!  :)
                  I am still working on getting the LCD driver into a proper pfSense package. It's proving to be far beyond my usual level of tinkering but it's all good fun.
                  Anyway as, jjgoessens said when he wrote it, there isn't enough memory in the LCD to hold all the special characters required for vertical graphs, big clock and the heartbeat graphic. His latest driver doesn't support the heatbeat as a result.
                  Personally I would rather see the heartbeat working as I don't use big clock or vertical graphs.
                  Is anybody out there actually using these features?

                  Steve

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

                    when i try to install the tar package and give ./ command it say's permission denied . logged in via ssh as root

                    1 Reply Last reply Reply Quote 0
                    • stephenw10S
                      stephenw10 Netgate Administrator
                      last edited by

                      You mean when you try to run this?

                      ./install-embed2.lcdd.sh
                      

                      Seems odd. It usually untars with the correct permissions.
                      You can reset the permissions with:

                      chmod 0755 install-embed2.lcddd.sh
                      

                      What version of pfSense are you using?

                      Steve

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

                        Thanks for reply.

                        I'm runing 2.0 Rc3 its a full hd install on x700. when i try to do chmod it say's command not found?

                        1 Reply Last reply Reply Quote 0
                        • stephenw10S
                          stephenw10 Netgate Administrator
                          last edited by

                          Hmm, well that seems very weird.
                          I don't have a full install to test right now but I can't believe that there's no chmod in it. It's certainly present in the nanoBSD install of RC3.
                          Are you experiencing any other problems?
                          The script is intended for embedded installs and may cause a problem with mounting the filesystem RO on a full install. However as you haven't managed to run it yet it can't be that.  ???

                          Steve

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

                            Hey

                            just like to confirm that it work's with full HDD install aswell

                            this is what i did

                            $ chmod 0755 ./install-embed2.lcdd.sh
                            $  /usr/local/etc/rc.d/lcdd.sh

                            VOLA it works :)

                            Thanks again for your help …

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

                              Hello stephenw10,

                              thank you for lcdd4.tar, it work quit well on my Firebox X700.

                              It is possible to disable/enable/blink the "Arm/Disarm"-LED in the BIOS (permanent).

                              One think could be enhanced: to extend the lcd-driver to set the "Arm/Disarm"-LED to green on init and to red on exit.
                              I don't have the source code, but I think it should be simple and would be the icing on the cake.

                              xleox

                              1 Reply Last reply Reply Quote 0
                              • stephenw10S
                                stephenw10 Netgate Administrator
                                last edited by

                                It wasn't at all simple!  ::)
                                Read the entire thread to discover just how not simple or go straight to this post to get the resulting program to set the led.

                                Steve

                                1 Reply Last reply Reply Quote 0
                                • W
                                  woc38
                                  last edited by

                                  I'm currently in the proces of migrating to pfSense 2.0. I installed a full 2.0RC3 version on a HD and installed Steve's LCD and LED packages on a WG Firebox X700. Just like on 1.2.3 it looks like it is running fine. I once encounterd a problem with the LCD driver only displaying "LCDproc Server" but couldn't reproduce.

                                  Today I booted my Firebox for configuring and directly after bootup the LCD is "locked up" (see picture).
                                  Arrow up shows "next", down shows "prev", right does nothing, left enters the menu with: options, screens, test menu. There is no system data like uptime, mem usage etc.

                                  • version: 2.0-RC3 (i386) built on Sun Jul 24 19:17:15 EDT 2011

                                  • did not install the package LCDproc via packages, only Steve's tarball

                                  • Serial console shows a normal startup of the lcdd script

                                  
                                  Starting CRON... done.
                                   Starting /usr/local/etc/rc.d/WGXepc.sh...done.
                                   Starting /usr/local/etc/rc.d/lcdd.sh...done.
                                  Bootup complete
                                  
                                  

                                  What is going on here? Strange thing is it doesn't happen every time I boot or reboot the firewall…
                                  I have little knowledge of FreeBSD, but is it possible to restart the lcdd service via the terminal? How?

                                  Thanks for your info and help!

                                  lcd1.jpg
                                  lcd1.jpg_thumb
                                  lcd2.jpg
                                  lcd2.jpg_thumb

                                  1 Reply Last reply Reply Quote 0
                                  • stephenw10S
                                    stephenw10 Netgate Administrator
                                    last edited by

                                    LCDproc is in two parts. lcdd is the server half that talks to the screen. lcdprocc is the client that tells lcdd what to put on the screen. If you only have the server half running you get what you are seeing.
                                    Got to the console and run 'top' you should see both lcdd and lcdproc:

                                    
                                    [2.0-RC3][root@pfsense.fire.box]/root(1): top
                                    last pid:  8157;  load averages:  0.01,  0.01,  0.00   up 35+01:07:41  15:50:32
                                    44 processes:  1 running, 43 sleeping
                                    CPU:  4.8% user,  0.0% nice,  0.0% system,  0.0% interrupt, 95.2% idle
                                    Mem: 52M Active, 20M Inact, 62M Wired, 128K Cache, 59M Buf, 352M Free
                                    Swap:
                                    
                                      PID USERNAME  THR PRI NICE   SIZE    RES STATE    TIME   WCPU COMMAND
                                    18701 nobody      1  64   20  3364K  1424K nanslp  51:51  0.00% LCDd
                                    19029 root        1  64   20  3352K  1216K nanslp  28:42  0.00% lcdproc
                                    
                                    

                                    q to stop.

                                    You can start lcdproc manually by running:

                                    /usr/local/etc/rc.d/lcdd.sh
                                    
                                    

                                    Though it will try to start both server and client. It's hard to say why it stopped working reliably, disk errors?  :-\

                                    Steve

                                    1 Reply Last reply Reply Quote 0
                                    • W
                                      woc38
                                      last edited by

                                      I issued "/usr/local/etc/rc.d/lcdd.sh" earlier and indeed, now it is working.
                                      Top shows LCDd and lcdproc.

                                      My /usr/local/etc/rc.d/lcdd.sh contains:

                                      
                                      #!/bin/sh
                                      #
                                      /usr/bin/nice -20 /usr/local/share/lcdd/LCDd -r 0 -c /usr/local/share/lcdd/LCDd.conf > /dev/null 2>&1 &
                                      /usr/bin/nice -20 /usr/local/share/lcdd/lcdproc C T U &
                                      
                                      

                                      Thanks for our explanation: now I understand the server (lcdd) and the client (lcdprocc) both need to be running.
                                      What I don't understand is why the client part wasn't running after boot, even though the lcdd.sh script was executed.

                                      <edit>Didn't see your edit before posting. Hmm, diskerrors, don't know. Didn't see any other errors.
                                      Is there a sort of "chkdsk" tool/command for freebsd?
                                      I will keep an eye on this…

                                      <edit2>I booted in single user mode (i guess?) and issued fsck -y /dev/ad2s1a. It gave no errors.</edit2></edit>

                                      1 Reply Last reply Reply Quote 0
                                      • stephenw10S
                                        stephenw10 Netgate Administrator
                                        last edited by

                                        As part of my effort to produce a package for the Watchguard lcd I recompiled the driver. Until I get a proper package out anyone installing fresh might as well use this new set of programs. This for 2.0 only, it won't work on 1.2.x. Installation is as before.
                                        Download the attached file and remove the .png extension.
                                        Upload lcdd5.tar via the web GUI, Diagnostics: Command Prompt: Upload, this puts it in /tmp.
                                        Then open a command line via serial or SSH or whatever and:

                                        
                                        [2.0-RC3][root@pfSense.localdomain]/root/tmp(3): cd /tmp
                                        [2.0-RC3][root@pfSense.localdomain]/tmp(4): tar xvf lcdd5.tar
                                        x install3.sh
                                        x lcdd/
                                        x lcdd/LCDd.conf
                                        x lcdd/lcdd.sh
                                        x lcdd/lcdproc
                                        x lcdd/LCDd
                                        x lcdd/drivers/
                                        x lcdd/drivers/sdeclcd.so
                                        [2.0-RC3][root@pfSense.localdomain]/tmp(5): ./install3.sh
                                        [2.0-RC3][root@pfSense.localdomain]/tmp(6): /usr/local/etc/rc.d/lcdd.sh
                                        
                                        

                                        And your display should be working.  :)

                                        Changelog:
                                        Renamed the install script to make it easier to type!
                                        The programs, lcdproc and LCDd, are now V0.53 compiled against FreeBSD 8.1-Release.
                                        The driver, sdecldec, was giving a lot of warnings when I tried to compile it. These have been corrected.

                                        The new version seems to obey the LCDd.conf file better such that the option heartbeat=no now works removing the ugly error on the right hand side of the display.

                                        The key mapping is still incorrect for X-e boxes.  :(

                                        I had no response to my question as to whether anyone uses the big clock or vertical histogram functions. Personally I would rather have the heartbeat functioning but it's a choice in the driver. Any opinions?

                                        Steve

                                        lcdd5.tar.png

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

                                          Hi Steve,

                                          I am in the middle of setting up a X500 got it today :) and just used your script for the LCD and it worked flawless the instructions are bang on no problems at all!!
                                          Many Thanks for all your hard work put into this I'm sure it wasn't a easy time and time consuming to say the least so thank you.

                                          1 Reply Last reply Reply Quote 0
                                          • stephenw10S
                                            stephenw10 Netgate Administrator
                                            last edited by

                                            Thanks for that!  :)

                                            Most of the hard work was done by others before me though.
                                            Coding by ridnhard19 and jjgoessens.

                                            Steve

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.