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

    LCDProc 0.5.4-dev

    Scheduled Pinned Locked Moved pfSense Packages
    587 Posts 68 Posters 602.8k 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
      fmertz
      last edited by

      @Brak:

      Only thing I think we can keep from this side-tracking is that the 64-bit SDECLCD works, but it is hard-coded as 16x2 status screens still.

      You can ask LCDd what it thinks the width is:

      
      telnet <pfsense host="" ip="" or="" name="">13666
      hello
      connect LCDproc 0.5.4 protocol 0.3 lcd wid 20 hgt 2 cellwid 5 cellhgt 8</pfsense> 
      
      1 Reply Last reply Reply Quote 0
      • B
        Brak
        last edited by

        @fmertz:

        @Brak:

        Only thing I think we can keep from this side-tracking is that the 64-bit SDECLCD works, but it is hard-coded as 16x2 status screens still.

        You can ask LCDd what it thinks the width is:

        
        telnet <pfsense host="" ip="" or="" name="">13666
        hello
        connect LCDproc 0.5.4 protocol 0.3 lcd wid 20 hgt 2 cellwid 5 cellhgt 8</pfsense> 
        

        Output:

        
        [2.0.1-RELEASE][root@fringebox.blizzard]/root(4): telnet 127.0.0.1 13666
        Trying 127.0.0.1...
        Connected to localhost.
        Escape character is '^]'.
        hello
        connect LCDproc 0.5.5 protocol 0.3 lcd wid 20 hgt 2 cellwid 5 cellhgt 8
        
        

        Examples: (Kinda bad example, but it at least shows the screens are shortened. I know things are getting cut off since I can't change the "pfsense shutting down" to be any bigger without losing the extra 8 characters on the end. The Lanner-LCM hacked driver can write the shutdown line on all the 20x2 characters just fine)

        Off center, not showing screens to be big enough:

        Clearly addresses the extra characters with other displays:

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

          Not a driver problem then.
          Are you sure it ever shows more characters than that? The screens are always drawn from the left side.
          E.g.

          Steve

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

            Brak,

            If you want to point me to the hacked Lanner code again, I can have a quick look. Without hardware available to me though, this is quickly becoming unproductive. I am in the mid-atlantic US, maybe you should look up shipping rates and mail me a stripped down box for development. I could probably get the full LCD and LED control coded in the driver for 32 and 64 bit. Up to you.

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

              I think the issue was just with my implementation. No use you guys wasting time on my hardware.

              I did notice the issue with lcdproc crashing on the initial boot, then later restarting into just the LCDd server/client menu. Once I start the service once, it's seemingly good forever (at least until an unlucky interface up/down!)

              Is there anything I should try and look at to see why it's failing at the initial boot?

              Also, is there any way we could get LCDExec to be included in the package (both 32bit/64bit, 32bit does NOT work on 64bit in my experience - makes no sense?), and have it check for an lcdexec.conf (and if it exists, start the process running that config right after lcdproc starts?) My menu system would be more easily implemented if we could get everyone already have a working lcdexec install. 80% of my installation scripts are just hacking in the lcdexec install.

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

                There has to be something wrong with the rc.d or PHP scripts, but I just can't find it. Could it be the interface up/downs on boot causing this crash?

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

                  Alright, nevermind on the lcdexec stuff, I'm an idiot. It's already in /usr/bin/ for everyone.

                  But, as for the service crashing on boot, it still appears to happen. I've noticed it does not happen on full (x64) installs, but my nanoBSD installs require a service restart to get working after boot.

                  Any ideas?

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

                    Time for a code release:

                    I just posted the ledsupport branch of the lcdproc package source code on github:

                    https://github.com/fmertz/sdeclcd/tree/ledsupport

                    Basically, this code adds driver support for known Firebox LED arrangements, from X-Core to X-Core-e to X-Peak and finally XTM. The code identifies the particular Intel Southbridge/ICH, and matches it up with specific GPIO pins as posted on this forum. It deals with ICH and SuperIO GPIO. As I only own an X-Core-e, it is not all completely tested.

                    There is a binary here: https://github.com/downloads/fmertz/sdeclcd/sdeclcd.so

                    If you can assist in the testing, replace your copy of the driver with this one, and give it a try:

                    
                    telnet localhost 13666
                    hello
                    connect LCDproc 0.5.5 protocol 0.3 lcd wid 20 hgt 2 cellwid 5 cellhgt 8
                    output 1 <—Should start blinking red, rare short blink
                    success
                    output 2 <—Should start blinking green, rare short blink
                    success
                    
                    

                    The output logic is this: we have 32 bit to work with, and we need 3 states (Red, Green and off). This is 2 bits. So, in 32 bits, we have 16 time slots to work with. So, basically, code in the sequence of colors you want to see (Red, Green or off) and keep shifting to fill in the bits.

                    Worksheet:
                    XXXX XXXX XXXX XXXX
                    X is 1, 2 or 0

                    0000 0000 0000 0001 is slow quick blink red
                    0101 0101 0101 0101 is fast quick blink red
                    0011 0011 0011 0011 is medium medium blink red
                    0000 1111 0000 1111 is slow long blink red
                    0000 2222 0000 1111 is slow blink alternating between red and green

                    etc… The binary needs to be made decimal for the “output” command. Sequence lasts about 4 seconds.

                    As we know, there is no client yet that exercises this driver "output" feature. If this works with various models, I'll submit a pull request with the pfSense team so that new package installations will get this binary.

                    Anyone wants to add LED support to the PHP client? Something like controlling the LED based on availability of internet access, or the ISP's DNS server would be nice...

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

                      Here is an lcdproc.inc that seems to fix the startup crash issue.

                      Not sure if this will work for everyone or if it isn't working right, but let me know how it could be improved.

                      It generates this rc.d script:

                      #!/bin/sh
                      
                      #!/bin/sh
                      # This file was automatically generated
                      # by the pfSense service handler.
                      
                      rc_start() {
                      sleep 5
                      	/usr/bin/nice -20 /usr/local/sbin/LCDd -c /usr/local/etc/LCDd.conf 
                      	/usr/bin/nice -20 /usr/local/bin/php -f /usr/local/pkg/lcdproc_client.php &
                      
                      }
                      
                      rc_stop() {
                      	pkill -f lcdproc_client.php
                      
                      	pkill -anx lcdexec
                      	pkill -anx lcdproc
                      	pkill -anx LCDd 
                      	sleep 1
                      
                      }
                      
                      case $1 in
                      	start)
                      		rc_start
                      		;;
                      	stop)
                      		rc_stop
                      		;;
                      	restart)
                      		rc_stop
                      		rc_start
                      		;;
                      esac
                      

                      lcdproc.inc.png

                      1 Reply Last reply Reply Quote 0
                      • N
                        nicktlloyd
                        last edited by

                        Not sure if this is the correct place to post this question but I'm new here so any help would be much appreciated.  I have a crystalfontz 634 running on pfsense 2.0.1 amd64 with LCDproc 0.5.5 pkg v. 0.9.4 installed.  At startup I see the crystalfontz info come up, then the blinking light in the top left.  After pfsense and LCDproc start up I see a bunch of garbage characters scroll down the lcd for like thirty seconds then just a blank screen.  I'm pretty sure I've got the right usb com port as the top left blinking light will just keep on if I switch to another one.  From the web settings I have it set to 4x20, CrystalFontz driver, 5 sec refresh, 9600 baud (tried default, same thing) and then default on the rest of the settings.  For screens I have "Enable Traffic Interface, WAN" and "Enable Hostname".  Here's the contents of LCDd.conf:

                        
                        [server]
                        DriverPath=/usr/local/lib/lcdproc/
                        Driver=CFontz
                        Bind=127.0.0.1
                        Port=13666
                        ReportLevel=3
                        ReportToSyslog=yes
                        User=nobody
                        Foreground=no
                        ServerScreen=no
                        GoodBye="Thanks for using"
                        GoodBye="    pfSense     "
                        WaitTime=5
                        ToggleRotateKey=Enter
                        PrevScreenKey=Left
                        NextScreenKey=Right
                        ScrollUpKey=Up
                        ScrollDownKey=Down
                        [menu]
                        MenuKey=Escape
                        EnterKey=Enter
                        UpKey=Up
                        DownKey=Down
                        [CFontz]
                        Device=/dev/cuaU0
                        Size=20x4
                        Contrast=350
                        Brightness=1000
                        OffBrightness=50
                        NewFirmware=no
                        Reboot=no
                        Speed=9600
                        
                        

                        Anybody have any ideas about why it's doing this?

                        1 Reply Last reply Reply Quote 0
                        • N
                          nicktlloyd
                          last edited by

                          Ok, if anyone else has a crystalfontz 634: make sure you set the contrast over 50% or you won't see ANYTHING.  DON'T LEAVE IT ON DEFAULT.

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

                            Bumping this so people can see and try my fixed lcdproc.inc

                            I was wondering if we could get that and the 64bit SDECLCD driver put in the real package.

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

                              Hmm, this looks like spam but doesn't have any links.  :-
                              Please re-phrase this if you are really asking.

                              Steve

                              Edit: It was spam then!  ::)

                              1 Reply Last reply Reply Quote 0
                              • M
                                mirco.ippoliti
                                last edited by

                                Hi !
                                congratulations for the work !
                                I am Celestix Scoprio X MSA 5000 user and the box run very nice with pfsense 2.0.1
                                …but..the lcd display don't work !
                                I tried different drivers ... but nothing ...
                                is a USB display of 40 x 2 (with 3 led for (1) attention / (2) HDD / (3) ON )
                                Would it be possible to control it with lcdproc?
                                Many Thanks !

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

                                  Possibly. We need more information. Anything written on the the LCD unit itself? Any windows drivers that might provide a clue?

                                  Steve

                                  1 Reply Last reply Reply Quote 0
                                  • M
                                    mirco.ippoliti
                                    last edited by

                                    @stephenw10:

                                    Possibly. We need more information. Anything written on the the LCD unit itself? Any windows drivers that might provide a clue?

                                    Steve

                                    The display manufactured is varitronix
                                    Unfortunately, I have never written anything …
                                    you can not find any drivers...even windows ...

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

                                      The Varitronix MGLS19264 used in this box appears to use a HD61202 chip which is compatible with the KS108. This is a graphical LCD and lcdproc is setup to drive character based displays. However all may not be lost. It might work using the glcdlib driver:
                                      http://lcdproc.sourceforge.net/docs/stable-0-5-x-user.html#glcdlib-howto
                                      This appears to support the ks0108. However it looks like there would be quite a lot of additional packages/drivers needed.
                                      This is beyond my usual level of tinkering.  ;)

                                      Steve

                                      1 Reply Last reply Reply Quote 0
                                      • M
                                        mirco.ippoliti
                                        last edited by

                                        @stephenw10:

                                        The Varitronix MGLS19264 used in this box appears to use a HD61202 chip which is compatible with the KS108. This is a graphical LCD and lcdproc is setup to drive character based displays. However all may not be lost. It might work using the glcdlib driver:
                                        http://lcdproc.sourceforge.net/docs/stable-0-5-x-user.html#glcdlib-howto
                                        This appears to support the ks0108. However it looks like there would be quite a lot of additional packages/drivers needed.
                                        This is beyond my usual level of tinkering.  ;)

                                        Steve

                                        Many Thank for the Info !
                                        I can Try !

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

                                          Crystalfontz released the new 735, they are much better in quality and can emulate 635, but not 100% AFAIK.

                                          I hope they gets supported.

                                          See the quality:
                                          https://www.crystalfontz.com/phpthumb/phpThumb.php?id=2235

                                          1 Reply Last reply Reply Quote 0
                                          • K
                                            kilthro
                                            last edited by

                                            I was looking to see if there was a new thread for the 0.5.5 package and couldnt find it so I could post this question in it. Maybe search fail on my end not sure,

                                            Would someone know how to get this to work with LCD Proc?

                                            http://forum.pfsense.org/index.php/topic,56419.msg301162.html#msg301162

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