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

    EZIO Driver for LCDproc

    Scheduled Pinned Locked Moved Hardware
    144 Posts 22 Posters 49.2k 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

      Right that's because libkvm.so.7 doesn't exist in 2.3.4.

      If you can try that module in 2.4 or wait for a module built against 2.3.X.

      Steve

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

        OK, I updated the attachments to the first post. I separated the drivers by pfSense release. At this moment, only HD44780_EZIO_Driver_pfSense2_3_64bit.zip has been compiled with EZIO-300 keypad support. I will update the other archives later.

        yshakhov, you probably want HD44780_EZIO_Driver_pfSense2_3_64bit.zip

        PS: These files are the result of compiling code in virtual machines. I do not own an actual appliance, much less one with all combinations of operating systems, so it is best effort. Thanks for any help in testing.

        1 Reply Last reply Reply Quote 0
        • Y
          yshakhov
          last edited by

          Hi fmertz,
          Where is link to download you archive HD44780_EZIO_Driver_pfSense2_3_64bit.zip?
          Thanks.

          1 Reply Last reply Reply Quote 0
          • Y
            yshakhov
            last edited by

            Sorry,
            now is available

            1 Reply Last reply Reply Quote 0
            • U
              uknownme123
              last edited by

              Hmm am I missing something. I'm on pfSense 2.3.4

              1. install lcdproc
              2. extract HD44780_EZIO_Driver_pfSense2_4_64bit.zip, then put hd44780.so in /usr/local/lib/lcdproc/
              3. nano /usr/local/etc/LCD.conf, and paste code

              
              [server]
              Driver=hd44780
              
              [hd44780]
              ConnectionType=ezio
              Device=/dev/cuau1
              Keypad=yes
              Size=16x2
              KeyMatrix_4_1=Enter
              KeyMatrix_4_2=Up
              KeyMatrix_4_3=Down
              KeyMatrix_4_4=Escape
              
              

              I run below command and get error
              [2.3.4-RELEASE][root@pfSense.localdomain]/root: /usr/bin/nice -20 /usr/local/sbin/LCDd -r 0 -c /usr/local/etc/LCD.conf > /dev/null &
              [1] 90321
              [2.3.4-RELEASE][root@pfSense.localdomain]/root: Critical error while initializing, abort.

              4. reboot and go under services> lcdproc
              Display size = Serial Com port 2 alternate (/dev/cuau1)
              Display size = 2 x 16
              Driver = HD44780 and compatible
              Connection type = ?

              I do not see ezio. Did I do something wrong?

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

                @uknownme123:

                I'm on pfSense 2.3.4

                2. extract HD44780_EZIO_Driver_pfSense2_4_64bit.zip, then put hd44780.so in /usr/local/lib/lcdproc/
                I run below command and get error
                [2.3.4-RELEASE][root@pfSense.localdomain]/root: /usr/bin/nice -20 /usr/local/sbin/LCDd -r 0 -c /usr/local/etc/LCD.conf > /dev/null &
                [1] 90321
                [2.3.4-RELEASE][root@pfSense.localdomain]/root: Critical error while initializing, abort.

                If you are running pfSense 2.3.4, you need to get the driver from one of the 2.3 archive (32 or 64 bit). You are using the driver for 2.4, which will not work.

                To test, you can run something more direct:

                /usr/local/sbin/LCDd -r 3 -c /usr/local/etc/LCD.conf -f
                

                This raises the reporting level, and runs the program in the foreground.

                Thanks for helping with the testing.

                PS: This effort is to add EZIO support to the HD44780 driver of the lcdproc project. As of now, there is no addition to the pfSense integration package, so there is no option in the menu, yet.

                1 Reply Last reply Reply Quote 0
                • U
                  uknownme123
                  last edited by

                  Under  services> lcdproc, unchecked "start lcdproc at boot"
                  Rebooted, then attempted to start LCDproc from command

                  [2.3.4-RELEASE][admin@pfSense.localdomain]/root: /usr/local/sbin/LCDd -r 3 -c /u                                                                                                          sr/local/etc/LCD.conf -f
                  LCDd version 0.5.7 starting
                  Using Configuration File: /usr/local/etc/LCD.conf
                  LCDd 0.5.7, LCDproc Protocol 0.3
                  Part of the LCDproc suite
                  Copyright (C) 1998-2014 William Ferrell, Selene Scriven
                                          and many other contributors

                  This program is free software; you can redistribute it and/or
                  modify it under the terms of the GNU General Public License
                  as published by the Free Software Foundation; either version 2
                  of the License, or (at your option) any later version.

                  This program is distributed in the hope that it will be useful,
                  but WITHOUT ANY WARRANTY; without even the implied warranty of
                  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                  GNU General Public License for more details.

                  You should have received a copy of the GNU General Public License
                  along with this program; if not, write to the Free Software Foundation,
                  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

                  sock_create_inet_socket: cannot bind to port 13666 at address 127.0.0.1 - Address already in use
                  sock_init: error creating socket - Address already in use
                  Critical error while initializing, abort.

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

                    For a better test, make sure only one copy of LCDd is running. For the time being, turn off the pfSense instance of the daemon. What is happening is that the pfSense LCDd is taking possession of port 13666. The LCD started manually therefore cannot have access to it anymore.

                    The other option is to start the manual LCDd with instruction to use another port:

                    /usr/local/sbin/LCDd -r 3 -c /usr/local/etc/LCD.conf -f -p 13667
                    
                    1 Reply Last reply Reply Quote 0
                    • U
                      uknownme123
                      last edited by

                      Sorry you are having to walk me step by step.

                      2. extract HD44780_EZIO_Driver_pfSense2_4_64bit.zip, then put hd44780.so in /usr/local/lib/lcdproc/

                      This was a typo, I did download the correct driver (HD44780_EZIO_Driver_pfSense2_3_64bit).

                      So /usr/local/sbin/LCDd -r 3 -c /usr/local/etc/LCD.conf -f -p 13667 gives the below error

                      Listening for queries on 127.0.0.1:13667
                      Could not open driver module hd44780.so: Shared object "hd44780.so" not found, required by "LCDd"
                      Driver [hd44780] binding failed
                      Could not load driver hd44780
                      There is no output driver
                      Critical error while initializing, abort.

                      ezio.jpg
                      ezio.jpg_thumb

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

                        The server needs to be told where to find the drivers.

                        Add this to LCDd.conf:

                        [server]
                        DriverPath= /usr/local/lib/lcdproc/
                        

                        Make sure there is a slash at the end..

                        1 Reply Last reply Reply Quote 0
                        • U
                          uknownme123
                          last edited by

                          Alright, now it's : Listening for queries on 127.0.0.1:13667,
                          and just waiting here.

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

                            Ok, so now you can start a client. Something like:

                            /usr/local/sbin/lcdproc -p 13667 -h 127.0.0.1 G K
                            
                            1 Reply Last reply Reply Quote 0
                            • U
                              uknownme123
                              last edited by

                              [2.3.4-RELEASE][admin@pfSense.localdomain]/usr/local/sbin: /usr/bin/nice -20 /usr/local/bin/lcdproc -p 13667 -s 127.0.0.1 C T U I D M L P &
                              [1] 71213
                              [2.3.4-RELEASE][admin@pfSense.localdomain]/usr/local/sbin: /usr/local/bin/lcdproc -p 13667 -s 127.0.0.1 C T U I D M L P &
                              [2] 81824
                              [1]    Done                          /usr/bin/nice -20 /usr/local/bin/lcdproc -p 13667 -s 127.0.0.1 C T U I D M L P
                              [2.3.4-RELEASE][admin@pfSense.localdomain]/usr/local/sbin: /usr/local/bin/lcdproc -p 13666 -s 127.0.0.1 C T U I D M L P &
                              [3] 82399
                              [2]    Done                          /usr/local/bin/lcdproc -p 13667 -s 127.0.0.1 C T U I D M L P
                              [2.3.4-RELEASE][admin@pfSense.localdomain]/usr/local/sbin: /usr/local/bin/lcdproc -s 127.0.0.1 -p 13666 C T U I D M L P &
                              [1] 37831
                              
                              

                              Tried different variation nothing shows on the screen. Its taking the command for sure, but I don't know where.

                              Confirmed the lb216 driver does work somewhat for this screen, buttons are not functional. So at least I know the screen works.

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

                                Can you post LCDd.conf?

                                1 Reply Last reply Reply Quote 0
                                • U
                                  uknownme123
                                  last edited by

                                  
                                  [server]
                                  DriverPath=/usr/local/lib/lcdproc/
                                  Driver=hd44780
                                  
                                  [hd44780]
                                  ConnectionType=ezio
                                  Device=/dev/cuau1
                                  Keypad=yes
                                  Size=16x2
                                  KeyMatrix_4_1=Enter
                                  KeyMatrix_4_2=Up
                                  KeyMatrix_4_3=Down
                                  KeyMatrix_4_4=Escape
                                  
                                  1 Reply Last reply Reply Quote 0
                                  • U
                                    uknownme123
                                    last edited by

                                    [server]
                                    DriverPath=/usr/local/lib/lcdproc/
                                    Driver=hd44780

                                    [hd44780]
                                    ConnectionType=ezio
                                    Device=/dev/cuau1
                                    Keypad=yes
                                    Size=16x2
                                    KeyMatrix_4_1=Enter
                                    KeyMatrix_4_2=Up
                                    KeyMatrix_4_3=Down
                                    KeyMatrix_4_4=Escape

                                    Woops, this was actually LCD.conf. LCDd.conf still contained information regarding lb216 driver.

                                    Issue was, I initially created LCD.conf, instead I should had wipe out LCDd.conf and replaced with above code. commands mv LCD.conf LCDd.conf.

                                    Now its working. Now I'll try out the buttons and let you know.

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

                                      @uknownme123:

                                      Now I'll try out the buttons and let you know.

                                      You might have to enable the internal menu for this:

                                      
                                      [server]
                                      DriverPath=/usr/local/lib/lcdproc/
                                      Driver=hd44780
                                      
                                      ToggleRotateKey=Enter
                                      PrevScreenKey=Left
                                      NextScreenKey=Right
                                      
                                      [menu]
                                      MenuKey=Escape
                                      EnterKey=Enter
                                      UpKey=Up
                                      DownKey=Down
                                      
                                      
                                      1 Reply Last reply Reply Quote 0
                                      • U
                                        uknownme123
                                        last edited by

                                        Awesome, the buttons work. I did notice that after a while it gets very laggy in response, this is probably because of the 2400 baud rate.

                                        Hope to see this driver it in the WebGUI. I know a lot of folks out there have this LCD screen. I saw a lot of Checkpoints. I saw one on an Xceedium GateKeeper. The one I have was Smoothwall. I though I saw then on Mikrotek's x86 devices, I could be wrong on this tho. Thanks.

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

                                          Thanks, good to hear confirmation that it works on the real hardware. I was developing this on an ARM NAS (running Debian Linux) with a USB/Serial adapter.

                                          At this point, the code change has been merged upstream with the lcdproc project: https://github.com/lcdproc/lcdproc/pull/82

                                          I assume the pfSense maintainers will pull the lcdproc package after the next release, so everyone can use these EZIO devices right out of the box.

                                          The only "open item" is a (minor?) change to the pfSense lcproc PHP package to include this connection type in the pre-defined list…

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

                                            Thanks for your efforts here.  This thread has made me join this forum.

                                            You've helped me to make use of the LCD panel on a "Smoothwall S4" that I bought 2nd hand. Smoothwall didn't work for me, so I've been using pfSense for a few days. So far, it's meeting my needs.

                                            I do have LCDproc enabled, but it doesn't run for some reason. I haven't been able to work that out yet nor make use of the menu buttons.

                                            But what I have done is used the stty command and hex file Steve provided to initialise my LCD successfully.
                                            I then have a cron job which keeps the screen updated with CPU temp and time every few minutes.

                                            So thanks for that.

                                            If needed, I can expand my simple shell scripts to show any statistic I can get to fit on the ?32? characters :)

                                            Does anyone have tips for writing on the second line neatly? Right now I just pad in 20+ characters to cause word wrap to happen.

                                            Cheers,
                                            Graham.

                                            ó¿ó

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