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 637.9k 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.
    • stephenw10S
      stephenw10 Netgate Administrator
      last edited by

      Here's a suggestion, while reading through some other bootup scripts I found this:

      
      // Do not process while booting
      if($g['booting']) 
      	exit;
      

      Perhaps we could use this somehow to limit the number of reloads? Of course it could easily stop it loading at all.  ::)

      Steve

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

        Good hint, thanks!! I will make some experiments with it and let you know…

        Ciao,
        Michele

        1 Reply Last reply Reply Quote 0
        • marcellocM
          marcelloc
          last edited by

          @stephenw10:

          Here's a suggestion, while reading through some other bootup scripts I found this:

          
          // Do not process while booting
          if($g['booting']) 
          	exit;
          

          Perhaps we could use this somehow to limit the number of reloads? Of course it could easily stop it loading at all.  ::)

          Steve

          It's on dansguardian as well but I did not saw changes on bootup time or times it tries to restart daemon.

          What I did was changing reload option to stop and start.

          I'm not sure about That but it looks like pfsense bootup script calls sync_package function for every xml file on package. Dansguardian has about 20 XML files and It's boot takes more then a minute in start / stop calls.

          Something I'll try is to do not stop/start daemon if uptime is less then 01 minute for example or check if last stop/start call has less then x seconds.

          Treinamentos de Elite: http://sys-squad.com

          Help a community developer! ;D

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

            I have a test driver with LED support. It's been tested some on X-Peak and X-Core-e models, but there is code for X-Core as well. The updated FreeBSD driver is here:

            https://github.com/downloads/fmertz/sdeclcd/sdeclcd.so

            Once up and running, telnet to lcdproc (pretend to be a client) and type

            telnet localhost 13666
            hello
            connect LCDproc 0.5.5 protocol 0.3 lcd wid 20 hgt 2 cellwid 5 cellhgt 8
            output 1 <—Short red blink about every 4 seconds
            success
            output 2 <—Short green blink about every 4 seconds
            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, I have 16 time slots to work with. So, basically, code in the LED sequence of colors you want to see (Red, Green or off) and keep filling in the groups of 2 bits by shifting. the sequence just repeats indefinitely.

            Worksheet:
            XXXX XXXX XXXX XXXX, X is 0,1, or 2, and represents 2 bits

            0000 0000 0000 0001 is slow short blink red
            0101 0101 0101 0101 is fast short 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, and off in between

            The representation above needs to be made decimal for the “output” command. Sequence is about 4 seconds.

            Thanks for letting me know if this works out for everyone. Would be nice to work this out into the PHP client, too.

            1 Reply Last reply Reply Quote 0
            • E
              easyhugo
              last edited by

              @easyhugo:

              @mdima:

              @easyhugo:

              Hi Guys

              Is it possible to ad this Lcd to

              http://allnet.de/1577.html?&tx_mmallnetproductplugin_pi1[showUid]=421433&cHash=949c8a38a8
              ftp://212.18.29.48/ftp/pub/allnet/utility-server/fw8888/lcm_server_1.0.tar.bz2

              i,m trying this for some time but with no success, see other posts from me

              thx max

              Hi Max (easyhugo),
              it's impossible to know for me which driver this LCD panel uses… do you know the chipset? Can it use one of the drivers already made or you need another driver?

              Ciao,
              Michele

              Hi
              sorry but no driver work with this display, it does not work without these lcm server.

              @stephenw10:

              My German is very bad!  :-[ (Only beaten by my non-existant Italian!  ::))

              However, according to [url=http://www.ipcop-forum.de/forum/viewtopic.php?f=22&t=26948#p231301]this post by IPCop ledgend Wintermute the display in the FW8888 is an LCM-162.

              This doesn't appear to be supported directly by LCDproc but this blog post seems to show it is possible. That's quite old now so support maybe better integrated.

              What drivers/versions have you tried?

              Steve

              Edit: This post confirms this.

              and yes wintermute is an excellent ipcop programmer, but ipcop is not an freebsd os so i cant copy the files .
              i have tried to copy the lcm to the pfsense and change the config files but with no success.
              my test with these lcm if i tried the dev version was not born  :D so at now i will connect the guys from allnet how this lcm will work
              the answer i would then post

              thx

              edit:
              from the lcm pckage:

              Make commands:
                   Static binary:
                        gcc –static -o lcm_server lcm_server.c
                     
                   Dynamic linked binary:
                        gcc -o lcm_server lcm_server.c

              Execution command:
                   lcm_server /dev/ttyS1 "Banner"

              Command FIFO:
                  /var/run/lcm_cmd

              Available commands:
                        Clear -- Clear the LCM display
                    Home -- Set the cursor back to row 0, column 0
                    Display {on/off/nocur} -- Turn display on, off and on without cursor
                    BKLight {on/off}      -- Turn LCM backlight on and off
                    Setpos {0~1} {0~15}    -- Set the cursor position to row and column
                    Write {text}      -- Write the text to LCM start from
                              current cursor position
                  Examples:
              echo "Display oncur" > /var/run/lcm_cmd
              echo "Setpos 0 0" > /var/run/lcm_cmd
              echo "Write test message" > /var/run/lcm_cmd

              Key FIFO:
                  /var/run/lcm_key

              Available keys: UP, DOWN, RET, ESC

              Example:
              cat /var/run/lcm_key

              Note: There is no key de-bounce mechanism on LCM.
                    Multiple key response may happen while receiving keys.

              hi

              the guys from allnet are not the fastest, no response to my mail from 18.2.2012
              so google is now my friend angain to my problem with these lcm server on fw8888

              in found an interesting site http://www.tecnowledge.net/2009/06/getting-lcdproc-to-work-with-an-lcm-162-freebsd/
              how the managed these lcm server in freebsd
              this description are from 2009 with an lcdproc version 0.5.2 but now im not sure if these changes are now included

              thx max

              max

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

                In a parallel discussion we have established that the lcm-162 is in fact almost identical to the firebox lcd (or at least the nexcom display is).
                Try using the firebox sdeclcd driver and see if you get anything at all.

                Steve

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

                  Execution command:
                      lcm_server /dev/ttyS1 "Banner"

                  This tells me the interface is serial, not parallel. Good old RS-232. My SDEC LCD driver will not work.

                  Looking through the code here:```
                  ftp://212.18.29.48/ftp/pub/allnet/utility-server/fw8888/lcm_server_1.0.tar.bz2

                  
                  It seems like the commands for the LCD are the "usual" set (same as SDEC LCD, and possibly HD44780). Being serial interface, you can give a shot to the HD44780, part of lcdproc. You will have to read the documentation for the driver to properly configure it for your display. The reward is that, once working (if it does), then clients like lcdproc itself, or the pfSense PHP client will work, too. Good luck, and keep us posted.
                  
                  PS: [http://www.tecnowledge.net/2009/06/getting-lcdproc-to-work-with-an-lcm-162-freebsd/](http://www.tecnowledge.net/2009/06/getting-lcdproc-to-work-with-an-lcm-162-freebsd/) is for a parallel port interface, not serial.
                  1 Reply Last reply Reply Quote 0
                  • M
                    mdima
                    last edited by

                    Hi fmertz,
                      well, if the command/behavior is the same, maybe the sdec driver could accept the port as parameter from the client (there are already serial and parallel ports). Just an idea…

                    Ciao,
                    Michele

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

                      This would require new code. The parallel interface is driven directly with in/out machine language commands. Serial ports are typically coded with more abstraction, i.e. treated like files. At this point, let's see if the HD driver will do…

                      1 Reply Last reply Reply Quote 0
                      • E
                        easyhugo
                        last edited by

                        hi guys

                        thx for the answers
                        the parallel discussion i know i have read it
                        i tried the hd44780,nexcom and watchgard driver bevor my post but with no succes

                        so at now i am setting up a 2nd fw8888 to test these driver on testing machine

                        thx max

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

                          @stephenw10:

                          Here's a suggestion, while reading through some other bootup scripts I found this:

                          
                          // Do not process while booting
                          if($g['booting']) 
                          	exit;
                          

                          Perhaps we could use this somehow to limit the number of reloads? Of course it could easily stop it loading at all.  ::)

                          Steve

                          Hi Steve,
                              I did this change, but I didn't notice any difference on my system (verified from the system.log file), the service is synced 2 times but run only one.

                          Btw, can you apply this change to your "lcdproc.inc" file:
                          Line 525 becomes:
                          if(is_service_running(LCDPROC_SERVICE_NAME) && ! $g['booting'] ) {

                          if this works for you I will release a new version with this change!

                          Thanks,
                          Michele

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

                            Steve,
                              also, can you check in your /usr/local/etc/rc.d folder if you have a second .sh file running LCDd at startup? The one created by the package is "lcdproc.sh".

                            Thanks,
                            Michele

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

                              I've only recently stumbled upon this thread and it caught my interest.
                              I'd just like to see throughput on a panel.

                              This thread is huge, but I still can't find a recommended panel that I can easily order (say ebay).
                              I found mention of U204FB-A1. but all I can find is the A2 model of it, and that one does not mention lcdproc (where the a1 specifically says lcdproc).
                                Can someone recommend a cheap, easy to order panel that just works?

                              The idea is interesting to say the least.

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

                                Hi Tester,
                                  well… I cannot recommend my panels because I had a bit to complain with the supplier (they are not precise, when I bought them, the main picture on ebay was the panel with the frame, frame that they didn't ship. When I bought a case it was not precise for my panels. When I complained with them they just said a kind of "that's it", and so on), but at least their stuff worked for me. Also, consider that this forum is not a marketplace, and I think it's better to avoid to turn it into one.

                                So, after this introduction, I was buying two of this ones:
                                http://www.ebay.it/itm/20-4-LCD-Smartie-Display-Board-UART-USB-PC-Edition-III-/350546524199?pt=LH_DefaultDomain_0&hash=item519e337827

                                made by this company: http://www.sureelectronics.net/

                                Consider that I was buying them last year, so was a different hardware version, but I think the "sureelect" driver should work also with this new release of the panel.

                                A little disclaimer:

                                • I am not swearing this will work;
                                • I am not taking any reward from that company;
                                • I am not related to that company (and responsible for any issues you could have with them: billing, payment, shipping, damaged items and so on);
                                • I am just saying "in my case it worked".

                                but if you want to try to spend about $30 to try them (about 20 Euro) it might work. I don't think there is nothing cheaper on the market (at least last year I was searching and searching).

                                Ciao,
                                Michele

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

                                  I was looking for something that mounted in a drive bay slot.
                                  for example.

                                  http://www.ebay.ca/itm/U204FB-A2-8-USB-HD44780-204-Blue-LCD-Smartie-Computer-Case-Bay-Drive-PC-Modding-/220978640726?pt=LH_DefaultDomain_2&hash=item33735a7756

                                  otherwise I'd jump on your suggestion and give it a try.
                                  I'd just like to have something clean looking in the slot…

                                  Any thoughts on the item above, or another item that mounts in a drive slot?  No commitments, it's cheap and it seems like a nice toy to play with :)

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

                                    Hi,
                                      yes, it looks nice, even better than mines! On the paper it should work (to tell you for sure I should try one, but for that price it worth a try).

                                    The only positive consideration to have it external, is that I am using HP servers to run pfSense and I have an active care pack. If something happens to the server, it's better the HP tech won't find anything "not HP" inside the case. Also, if some short or whatever happens to the panel, it does not compromise the server.

                                    Ciao,
                                    Michele

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

                                      THis might be related to the LCM-162 talk above, but I have no idea…

                                      Been working on getting the Lanner LCMs working. I got some official code from Lanner, but it's for lcdproc-0.5.2. Of course it's outdated, but I figured I'd at least get it working before I try to move to the latest. I assume this code is for the lanner "standard" LCM, but maybe it's not...

                                      Using lcdproc-0.5.2, I used the attached Lanner patch files (remove .png, etc). Patch works great, "compile" works great.

                                      When I start LCDd with the driver, I get:

                                      Could not open driver module server/drivers/hd44780.so: server/drivers/hd44780.so: Undefined symbol "hd_init_lanner"

                                      Obviously, something is wrong with the patch code, but I can't figure it out (hd_init_lanner seems defined) or understand why Lanner would release broken code.

                                      I'd appreciate any help possible, I'd be willing to toss some bucks someone's way if they get my Lanner LCMs working.

                                      edit: since my code is broken, see fmertz's post for the driver

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

                                        @Brak:

                                        When I start LCDd with the driver, I get:

                                        Could not open driver module server/drivers/hd44780.so: server/drivers/hd44780.so: Undefined symbol "hd_init_lanner"

                                        Seems like the code in the new source file is not getting linked in the library (.so). Try:

                                        make distclean
                                        

                                        This should scrub the existing build files, then recompile again.

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

                                          @fmertz:

                                          @Brak:

                                          When I start LCDd with the driver, I get:

                                          Could not open driver module server/drivers/hd44780.so: server/drivers/hd44780.so: Undefined symbol "hd_init_lanner"

                                          Seems like the code in the new source file is not getting linked in the library (.so). Try:

                                          make distclean
                                          

                                          This should scrub the existing build files, then recompile again.

                                          Hmm, just tried it now, I did:

                                          make distclean
                                          ./configure –enable-drivers=all
                                          make all
                                          make install
                                          LCDd -c ./LCDd.conf

                                          Gets the same error. :(

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

                                            Try https://github.com/downloads/fmertz/sdeclcd/hd44780.so

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