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

    LCDProc starts but won't connect

    Scheduled Pinned Locked Moved Hardware
    14 Posts 2 Posters 5.2k Views 2 Watching
    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 Online
      stephenw10 Netgate Administrator
      last edited by

      Just writing to the com port like that may not do anything. Depends when the LCD controller is expecting.
      I would expect one of those lcproc clients to work if the server is running though.
      You shouldn't need to specify the host or port since those are the defaults so simply lcdproc C T U for exmaple should work.

      Steve

      asacocoA 1 Reply Last reply Reply Quote 0
      • asacocoA Offline
        asacoco @stephenw10
        last edited by

        @stephenw10

        Thanks for your reply!

        Unfortunately though I can see LCDd running in the process list when I try lcdproc C T U I get the following message:

        dec3d0e6-d5ec-486b-8947-8127f4823c5d-image.png

        Thanks for your time.

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

          Are you able to test 2.7? I don't have anything with an LCD that's still running 2.6. Though devices I have now running 2.7 ran LCDproc fine in 2.6.

          In 2.7 it starts and runs fine here in yesterdays snap:

          Feb 11 13:54:50 	LCDd 	19353 	LCDd version 0.5.9 starting
          Feb 11 13:54:50 	LCDd 	19353 	Using Configuration File: /usr/local/etc/LCDd.conf
          Feb 11 13:54:50 	LCDd 	19353 	Listening for queries on 127.0.0.1:13666
          Feb 11 13:54:51 	php 	19771 	lcdproc: Start client procedure. Error counter: (0)
          Feb 11 13:54:52 	LCDd 	19353 	Connect from host 127.0.0.1:31343 on socket 6 
          

          You might try using one of the parallel port connected display drivers where it doesn't know if the screen is actually present. That would allow the server to start and listen as expected as a test.

          Do you actually see the server listening:

          [2.7.0-DEVELOPMENT][root@xtm5.stevew.lan]/root: sockstat | grep 13666
          root     php        47079 12  tcp4   127.0.0.1:57383       127.0.0.1:13666
          nobody   LCDd       47027 4   tcp4   127.0.0.1:13666       *:*
          nobody   LCDd       47027 6   tcp4   127.0.0.1:13666       127.0.0.1:57383
          
          asacocoA 1 Reply Last reply Reply Quote 0
          • asacocoA Offline
            asacoco @stephenw10
            last edited by

            I'll find a spare box, download 2.7 and report back soon.

            It seems LCDd is listening however connecting to it is another matter, as per the below screenshot:

            835a092c-0379-4842-b991-ccb65e3237d9-image.png

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

              As a test try setting the SDEClcd and parallel port for the server. You should see it start and the php client connect even without a screen or even a parallel port.

              1 Reply Last reply Reply Quote 0
              • asacocoA Offline
                asacoco
                last edited by asacoco

                I can report that using the same screen, I can run this on pfsense 2.7 - Using an identical configuration file on 2.6 results in no connection to the screen. A bit strange since a quick diff -s of /usr/local/pkg/lcdproc_client.php and /usr/local/etc/LCDd.conf between both versions are essentially the same.

                Here's the output from 2.7:

                [2.7.0-DEVELOPMENT][root@pfSense-test.home.arpa]/root: sockstat | grep 13666
                root     php        94904 13  tcp4   127.0.0.1:8568        127.0.0.1:13666
                nobody   LCDd       94880 5   tcp4   127.0.0.1:13666       *:*
                nobody   LCDd       94880 7   tcp4   127.0.0.1:13666       127.0.0.1:8568
                
                [2.7.0-DEVELOPMENT][root@pfSense-test.home.arpa]/root: ps aux | grep -i lcd
                nobody  94880   0.0  0.0  13068  2804  -  SNs  02:22    0:00.23 /usr/local/sbin/LCDd -c /usr/local/etc/LCDd.conf -u nobody
                root    94904   0.0  0.1  69648 37952  -  SN   02:22    0:00.14 /usr/local/bin/php -f /usr/local/pkg/lcdproc_client.php
                root     2267   0.0  0.0  12808  2448  0  S+   02:27    0:00.00 grep -i lcd
                
                [2.7.0-DEVELOPMENT][root@pfSense-test.home.arpa]/root: ls -l /dev/cuaU0
                crw-rw----  1 uucp  dialer  0x78 Feb 15 02:32 /dev/cuaU0
                
                [2.7.0-DEVELOPMENT][root@pfSense-test.home.arpa]/root: cat /usr/local/etc/LCDd.conf
                [server]
                DriverPath=/usr/local/lib/lcdproc/
                Driver=MtxOrb
                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
                Backlight=on
                ToggleRotateKey=Enter
                PrevScreenKey=Left
                NextScreenKey=Right
                ScrollUpKey=Up
                ScrollDownKey=Down
                [menu]
                MenuKey=Escape
                EnterKey=Enter
                UpKey=Up
                DownKey=Down
                [MtxOrb]
                Device=/dev/cuaU0
                Size=20x4
                Type=lkd
                hasAdjustableBacklight=yes
                Reboot=no
                Contrast=900
                Brightness=400
                OffBrightness=100
                Speed=9600
                

                Here's the best I can manage on 2.6

                8d777b7f-5f1e-4cca-a09f-fb65014e3b5d-image.png

                /root: sockstat | grep 13666
                nobody   LCDd       46251 4  tcp4   127.0.0.1:13666       *:*
                
                /root: ps aux | grep -i lcd
                nobody  46251   0.0  0.0  11392  2680  -  SNs  18:40        0:01.58 /usr/local/sbin/LCDd -c /usr/local/etc/LCDd.conf -u nobody
                root    75727   0.0  0.0  11216  2548  0  S+   19:19        0:00.00 grep -i lcd
                
                

                Addendum:

                I tried running LCDd in verbose mode, there were no additional messages when trying to connect using 'lcdproc C T U'

                
                /root: LCDd -f -r 5 -s 0 -c /usr/local/etc/LCDd.conf
                LCDd version 0.5.9 starting
                Built on Jan 12 2022, protocol version 0.3, API version 0.5
                Using Configuration File: /usr/local/etc/LCDd.conf
                Set report level to 5, output to stderr
                LCDd 0.5.9, LCDproc Protocol 0.3
                Part of the LCDproc suite
                Copyright (C) 1998-2017 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.
                
                Server running in foreground
                Listening for queries on 127.0.0.1:13666
                screenlist_init()
                driver_load(name="MtxOrb", filename="/usr/local/lib/lcdproc/MtxOrb.so")
                MtxOrb: using Device /dev/cuaU1
                MtxOrb: opened display on /dev/cuaU1
                MtxOrb: contrast set to 229
                MtxOrb: unable to read device type
                MtxOrb: unable to read device firmware revision
                MtxOrb: unable to read device serial number
                Display detected: Matrix Orbital, Unknown model (0x00), Firmware Rev.: 0x00 0x00, Serial No: 0x00 0x00
                MtxOrb: init() done
                Key "Escape" is now reserved exclusively by client [-1]
                Key "Enter" is now reserved shared by client [-1]
                Key "Up" is now reserved shared by client [-1]
                Key "Down" is now reserved shared by client [-1]
                screenlist_process()
                screenlist_switch(s=[_server_screen])
                screenlist_switch: switched to screen [_server_screen]
                screenlist_process()
                screenlist_process()
                screenlist_process()
                ...
                
                1 Reply Last reply Reply Quote 0
                • stephenw10S Online
                  stephenw10 Netgate Administrator
                  last edited by

                  Hmm, that is odd. I wouldn't have expected any difference there either. Especially odd sicne the server clearly is able to see the driver and hardware it just doesn't accept the client.

                  Did you try running SDEClcd driver? I expect that to run fine in 2.6 without the screen.

                  asacocoA 1 Reply Last reply Reply Quote 0
                  • asacocoA Offline
                    asacoco @stephenw10
                    last edited by

                    @stephenw10

                    Do you mean "Watchguard firebox with SDEC" ? I've given that a try with the com port set to parallel
                    That gives me the error "lcdproc: Failed to connect to LCDd process Can't assign requested address (49)"
                    So unfortunately not much luck.

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

                      Hmm, that's odd error. That looks to be from the client. Does the server not start at all when you try that?

                      asacocoA 1 Reply Last reply Reply Quote 0
                      • asacocoA Offline
                        asacoco @stephenw10
                        last edited by

                        @stephenw10

                        This is what's running:

                        /root: ps aux | grep -i lcd
                        nobody  40181   0.0  0.0  11356  2660  -  S<s  Wed21        1:30.28 /usr/local/sbin/LCDd -c /usr/local/etc/LCDd.conf -u nobody
                        

                        ...However the lcdproc_client.php never connects, even if I run it manually, same story for lcdproc.

                        Bit of a weird one, hey?

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

                          Hmm, that feels more like something is blocking it but I'm not sure what could... 🤔

                          asacocoA 1 Reply Last reply Reply Quote 0
                          • asacocoA Offline
                            asacoco @stephenw10
                            last edited by

                            @stephenw10
                            I might be way off base here, but there aren't any rules or such, or permissions, blocking processes connecting on 127.0.0.1 in 2.6?

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

                              I wouldn't expect there to be any. No different in 2.7 either.

                              I could just about imagine a floating block all rule might apply to localhost. But probably not from localhost also. I've never tried to block that!

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