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 Offline
      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 Offline
          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 Offline
              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 Offline
                  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 Offline
                      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 Offline
                          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.