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

      Folks, the SDEC driver for Fireboxes is now officially part of the upstream lcdproc project! I received confirmation this morning that my code submission was committed. I guess it should come to pfSense as part of the package when the project leaders decide the current development branch is stable enough for release.

      Now, on to support for the LEDs…

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

        That's great! So the next version of LCDproc will have the SDEC driver… fmerz, consider that the compiling option in pfSense is "WITH_USB=true" only, I don't know if with this option the SDEC driver will be compiled...

        BTW, how's going with the new package version? I found out it's more stable, but anyway still give some problems... what do you think?

        Thanks,
        Michele

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

          Excellent work!  ;D

          Steve

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

            @stephenw10:

            X-Peak:

            
            [2.0.1-RELEASE][root@pfsense.fire.box]/root(7): pciconf -r pci0:31:0 0:256
            25a18086
            
            

            Device ID 25a1 is a 6300ESB, data sheet: http://ark.intel.com/products/27663/Intel-6300ESB-IO-Controller

            For the X-Peak, the LEDs are on GPIO pins 40 and 41. This is part of the second set of pins, so there no blink support in hardware. We already knew this…

            Anyone with an X-Core?

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

              @fmertz:

              I would like the output of the command, for the X-Core and X-Peak models. The key is the first 8 digits, the last 4 being 8086, Intel's vendor ID. Thanks.

              X-Core (x700)

              
              /root(1): pciconf -r pci0:31:0 0:256
              24408086 0280000f 06010005 00800000
              00000000 00000000 00000000 00000000
              00000000 00000000 00000000 00000000
              00000000 00000000 00000000 00000000
              00004001 00000010 00000000 00000000
              00000000 00000000 00004081 00000010
              09060b0c 000000d0 0a058003 00000000
              00000000 00000000 00000000 00000000
              00000000 00000000 00000000 00000000
              00005475 00000000 00000000 00000000
              00000200 00000000 00000000 00000000
              00000000 00000000 00000000 00000000
              00000000 00004004 00000000 00000000
              00002002 00001f02 00000004 00000000
              c0000010 14050000 00112233 45670291
              017c000f 00000000 00000f47 00000200
              ffffffff
              
              

              I'm using the WGXepc script and it works flawlessly!

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

                @tix:

                X-Core (x700)

                
                /root(1): pciconf -r pci0:31:0 0:256
                24408086
                
                

                2440 is an 82801BA, Intel ICH2, datasheet here: http://www.intel.com/content/dam/doc/datasheet/82801ba-i-o-controller-hub-2-82801bam-i-o-controller-hub-2-mobile-datasheet.pdf

                Somehow the existing WGXepc code does not seem to line up with the spec…

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

                  Hi,
                    how's going with the latest (0.9.2) package?

                  Right now I am working on this:

                  1. I divided / 2 the number of commands sent to LCDproc every cycle. So if before were sent 10 commands, now only 5
                  2. I wrote a little better code for error handling
                  3. I slowed down a bit the scrolling (just a little bit)
                  4. Simplified the script to launch. There's no more lcdproc_client.sh.

                  Then I will:
                  4) add and test the "nice" command to the programs running
                  5) I will add a "top value" for waiting to the next cycle of 10 seconds. So it will be sure that the communication won't timeout

                  What else?

                  Ciao,
                  Michele

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

                    @fmertz:

                    Somehow the existing WGXepc code does not seem to line up with the spec…

                    Hmm, in what way?
                    There was a problem because the GPIO base is set to a non-standard value on the X-core.
                    On the other boxes it is at 0x480, which I believe is the standard value where as the X-Core is at 0x4080.

                    Steve

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

                      @stephenw10:

                      @fmertz:

                      Somehow the existing WGXepc code does not seem to line up with the spec…

                      Hmm, in what way?
                      There was a problem because the GPIO base is set to a non-standard value on the X-core.
                      On the other boxes it is at 0x480, which I believe is the standard value where as the X-Core is at 0x4080.

                      Steve

                      The way I read it, this particular device ID is an ICH2, and has the GPIO base port stored at offset 0x58 (page 9-1). Fine. The value at that offset happens to be 4081, which, masked off is 4080 (this was listed in the pciconf command, and is already in your code). Fine. In your code, you use port 4080 + 0x0f. Offset 15 in the GPIO area is for GPIO level, and bits control pins. Fine. The blink register is at offset 0x18 (32 bit), so I am not sure how it can blink with just the level register, or how it is not possible to turn the LEDs off…

                      For the X-Core-e, the Level port controls on/off, the Blink port controls the, well, blinking, and it all can be turned off with putting the bit to zero.

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

                        I had to re-read the thread to remind myself what happened. I agree with you it doesn't make any sense! In fact you can see, here, where I was expecting the registers to work as you describe above but the experimental results show otherwise.

                        One thing that is different about the X-core is that you can set the LED state in the BIOS (though I've never tried it myself). And you have a choice of red or green and fast or slow flash. There is no fast/slow blink described in the documentation yet it is clearly available.  :-\

                        Steve

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

                          Hello

                          I've tried the latest .92 package and my x-core will still become unresponsive at the 10 hour mark.

                          I'm out of ideas on what the issue could be… :(

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

                            @tix:

                            Hello

                            I've tried the latest .92 package and my x-core will still become unresponsive at the 10 hour mark.

                            I'm out of ideas on what the issue could be… :(

                            Hi Tix,
                              Thank you for the feedback. I am trying a new version with a lot of changes, if it passes my tests I will publish it… Cross your fingers...

                            Ciao,
                              Michele

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

                              @mdima:

                              @tix:

                              Hello

                              I've tried the latest .92 package and my x-core will still become unresponsive at the 10 hour mark.

                              I'm out of ideas on what the issue could be… :(

                              Hi Tix,
                                 Thank you for the feedback. I am trying a new version with a lot of changes, if it passes my tests I will publish it… Cross your fingers...

                              Ciao,
                                 Michele

                              Shot in the dark: is the client reading the responses back from LCDd? The release notes mentioned something about ignoring them causing unpleasant behavior …

                              1 Reply Last reply Reply Quote 0
                              • C
                                Cino
                                last edited by

                                I'm noticing a bug that I haven't seen since before the re-write of the package. If my second WAN does down (3G wireless), and comes back up; lcdclient seems to lose the connection to LCDd. In the past I would have pages of errors in the system log. but i dont have any this time. I do want to say this started with the last changes.

                                Still want to see if I can reproduce this on the fly (maybe tin cup around the 3G Wireless USB stick) but wanted to report it

                                Edit: I think this may have been a fluke… my 3g went down a couple of times last night and no issues with lcdproc

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

                                  @fmertz:

                                  @mdima:

                                  @tix:

                                  Hello
                                  I've tried the latest .92 package and my x-core will still become unresponsive at the 10 hour mark.
                                  I'm out of ideas on what the issue could be… :(

                                  Hi Tix,
                                    Thank you for the feedback. I am trying a new version with a lot of changes, if it passes my tests I will publish it… Cross your fingers...

                                  Ciao,
                                    Michele

                                  Shot in the dark: is the client reading the responses back from LCDd? The release notes mentioned something about ignoring them causing unpleasant behavior …

                                  Fmertz,
                                    what do you mean? I just read the entire changelog and the release notes but I didn't find anything about that. Can you give me some references?

                                  EDIT: Btw, yes, the client is reading the responses and log on pfSense if there is some error reported (messages with huh?)

                                  Now I am running the binary 0.5.3 and the package 0.9.2 to see what changes. With 0.5.5 it looks like there are some problems having more than one screen, like there are problems for LCDd to "switch" during the screen rotation.

                                  If you all set only one screen with 0.5.3 and pkg 0.9.2 do you have this problem?

                                  Thanks,
                                  Michele

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

                                    @Cino:

                                    I'm noticing a bug that I haven't seen since before the re-write of the package. If my second WAN does down (3G wireless), and comes back up; lcdclient seems to lose the connection to LCDd. In the past I would have pages of errors in the system log. but i dont have any this time. I do want to say this started with the last changes.

                                    Still want to see if I can reproduce this on the fly (maybe tin cup around the 3G Wireless USB stick) but wanted to report it

                                    Edit: I think this may have been a fluke… my 3g went down a couple of times last night and no issues with lcdproc

                                    Hi Cino,
                                      well, this should have start with the last version of the package.

                                    Before the LCDclient was trying to connect to LCDd forever (which caused endless lists of log entries and high CPU usage), now if it fails for 3 times straight it will end. In the while if LCDd restart to respond, it connects and resets the error counter.

                                    I can understand that a gateway failture may cause a reset of the routes and the states, but if the client gets disconnected it starts other 2 times to reconnect (about 10 seconds between each attempt). Maybe we should increase it to 4… what do you think about it?

                                    Thanks,
                                    Michele

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

                                      @mdima:

                                      @fmertz:

                                      Shot in the dark: is the client reading the responses back from LCDd? The release notes mentioned something about ignoring them causing unpleasant behavior …

                                      Fmertz,
                                        what do you mean? I just read the entire changelog and the release notes but I didn't find anything about that. Can you give me some references?

                                      EDIT: Btw, yes, the client is reading the responses and log on pfSense if there is some error reported (messages with huh?)

                                      https://github.com/fmertz/sdeclcd/blob/master/BUGS

                                      The documentation for responses is here: http://lcdproc.sourceforge.net/docs/lcdproc-0-5-5-dev.html#language-messages

                                      It says: LCDd can send messages back to the client. These messages can be directly related to the last command, or generated for some other reason. Because messages can be generated at any moment, the client should read from the connection at regular intervals. A very simple client could simply ignore all received messages. Not reading the messages will cause trouble !

                                      I read this to mean that LCDd could generate more than one response to a command, or even send text outside of typical responses to commands. Does the PHP code accommodate for this? Reading the code, there seems to be the assumption that only 1 response comes back, maybe leaving responses hanging, and slowly filling the buffer. Just a thought.

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

                                        @fmertz:

                                        It says: LCDd can send messages back to the client. These messages can be directly related to the last command, or generated for some other reason. Because messages can be generated at any moment, the client should read from the connection at regular intervals. A very simple client could simply ignore all received messages. Not reading the messages will cause trouble !

                                        I read this to mean that LCDd could generate more than one response to a command, or even send text outside of typical responses to commands. Does the PHP code accommodate for this? Reading the code, there seems to be the assumption that only 1 response comes back, maybe leaving responses hanging, and slowly filling the buffer. Just a thought.

                                        well… the client polls the data from LCDd, but maybe it's not enough... I am trying to see if I can do that better... in the while THANKS for the suggestions, this looks to me as the right direction! ;)

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

                                          If could be REALLY that… I am deeply debugging, and I found out that for each command I send to LCDd, this answer with some answer MORE... so in the end I send:

                                          widget_set scr_time text_wdgt 1 2 20 2 h 4 "2/7/2012 23:19"
                                          widget_set scr_time text_summary 1 4 "01% 56% 4529 37%"
                                          widget_set scr_uptime text_wdgt 1 2 20 2 h 4 "17 days 9:18"
                                          widget_set scr_uptime text_summary 1 4 "01% 56% 4529 37%"
                                          widget_set scr_system text_wdgt 1 2 20 2 h 4 "CPU 11%, Mem 56%"
                                          widget_set scr_system text_summary 1 4 "01% 56% 4529 37%"
                                          widget_set scr_load text_wdgt 1 2 20 2 h 4 "0.06, 0.04, 0.01"
                                          widget_set scr_load text_summary 1 4 "01% 56% 4529 37%"
                                          widget_set scr_states text_wdgt 1 2 20 2 h 4 "Cur/Max 4578/500000"
                                          widget_set scr_states text_summary 1 4 "01% 56% 4529 37%"
                                          widget_set scr_ipsec text_wdgt 1 2 20 2 h 4 "IPSEC Disabled"
                                          widget_set scr_ipsec text_summary 1 4 "01% 56% 4529 37%"
                                          widget_set scr_traffic title_wdgt 1 1 "IN: 45.1 Kbps"
                                          widget_set scr_traffic text_wdgt 1 2 "OUT: 2.1 Kbps"
                                          widget_set scr_traffic text_summary 1 4 "01% 56% 4529 37%"
                                          

                                          and it answers:

                                          success
                                          success
                                          success
                                          success
                                          success
                                          success
                                          success
                                          success
                                          success
                                          success
                                          success
                                          success
                                          success
                                          success
                                          success
                                          ignore scr_system
                                          listen scr_load
                                          ignore scr_load
                                          listen scr_states
                                          ignore scr_states
                                          listen scr_ipsec
                                          ignore scr_ipsec
                                          listen scr_traffic
                                          ignore scr_traffic
                                          listen scr_time
                                          ignore scr_time
                                          listen scr_uptime
                                          ignore scr_uptime
                                          listen scr_system
                                          ignore scr_system
                                          listen scr_load
                                          

                                          so if the ratio between write and get is 1:1, sooner or later the LCDd buffer will get full and LCDd will hang. Sorry but I found that code there and I really gave for granted that the ratio was 1:1, but the client gets too many answers from LCDd. The client must to "suck" all that answers in order to keep LCDd stable.

                                          I will test this and publish a new release ASAP!

                                          Ciao,
                                          Michele

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

                                            Looks promising.  :)
                                            More excellent work.

                                            Steve

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