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

    LCDProc package update

    Scheduled Pinned Locked Moved General pfSense Questions
    40 Posts 3 Posters 13.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.
    • M Offline
      mdima
      last edited by

      Hello,
        as I understood LCDProc in Freebsd is still version 0.5.3, while I would need 0.5.4 to get my LCD panel to work (http://www.sureelectronics.net/goods.php?id=964)…

      To bypass the problem I compiled the driver myself and I add it to every update I do on my routers... also I was modifying the package in order to add a lot of new features (corrected bugs, added support for 4 lines panels, added more "screens", and so on). The changes have been tested for months until now.

      I was asking the commit of my git clone in order to implement the changes I did in the main project, but the mantainer of the package is unreachable (the email address does not exist anymore), and I got no other reference for this...

      I know that until now there was a lot of more important things to fix on pfSense 2.0, but can someone help me please?

      Thanks a lot,
      Michele

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

        I can't help but I hope cmb and jimp can. I noticed the updates you did a few months and manually edited them to my files. I can confirm they do work. I do like the MBUF Usage screen. If they are able help, do you think you could add a driver, lib (i386 and amd64) and some code so this driver can work? Its for a picolcd display. I dont know how to create a patch file but can upload them on my dropbox for you to look at if you have time.

        Thanks,

        Stephen

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

          @Cino:

          I can't help but I hope cmb and jimp can. I noticed the updates you did a few months and manually edited them to my files. I can confirm they do work. I do like the MBUF Usage screen. If they are able help, do you think you could add a driver, lib (i386 and amd64) and some code so this driver can work? Its for a picolcd display. I dont know how to create a patch file but can upload them on my dropbox for you to look at if you have time.

          Thanks,

          Stephen

          hehe, thanks Stephen, I am glad someone used it…

          Unfortunately I can only add x86 drivers, I am a very newbye in FreeBSD and I was only able to set up a x86 virtual machine in order to compile LCDProc... I was already adding the SureElec.so driver in the package xml and uploading next to another driver that has been distributed in the same way...
          If you want I can recompile including also the picolcd driver and include it in the package or send it to you, but only for x86 unfortunately...

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

            Yeah,if you can add the piclocd driver, that would be great!! Include it in the package. I currently have both the i386(i use this) and the amd64 driver(compiled myself). I was going to use amd64 but found some bugs of another package I use so i went back to i386.. I feel I will probably stay with i386 for a while.

            For the past year, every time I would do a firmware update; I would copy over my hacked copies of php/xml to get lcdproc to work with lcdproc.. The driver at least never gets removed :-) It did once when i manually add 0.5.4 to the system but I created a quick update script to copy the files back.

            I don't know much about the the backend of the pfsense packaging system but once you update the xmls, does it compile everything on their servers or do you have update pre-compile binaries?

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

              Hi,
              well, I don't know that too, I was adding my "already compiled" driver, so I don't know exactly how the pfSense compiling procedure works…

              Tomorrow I will compile the driver at the office for the x86 architecture (where I have the vm) and I will update the xml, then I will post it on a reply on this message. I can't test if the driver works because I don't have that lcd panel, so I will wait for your feedback before posting them to the git archive, ok?

              Have a nice evening,
              Michele

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

                @mdima:

                Hi,
                well, I don't know that too, I was adding my "already compiled" driver, so I don't know exactly how the pfSense compiling procedure works…

                Tomorrow I will compile the driver at the office for the x86 architecture (where I have the vm) and I will update the xml, then I will post it on a reply on this message. I can't test if the driver works because I don't have that lcd panel, so I will wait for your feedback before posting them to the git archive, ok?

                Have a nice evening,
                Michele

                Works for me :-) I check the git archive almost everyday when i'm at work. Oh, btw, are you using the new site? github? I remember coping your code from the old git site. You have a nice evening also.

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

                  i was checking my notes and there is another file that needs to be uploaded for the display to work. After it compiles the picolcd.so driver, can you also upload /usr/local/lib/libusb.so.2? This lib is needed for picolcd.so to work.

                  I also had to add references so i can pick the Com Port. I added this to lcdproc.xml, lcdproc.inc:
                  ugen0.2(/dev/ugen0.2)
                  ugen1.2(/dev/ugen1.2)
                  ugen2.2(/dec/ugen2.2)

                  and added after "case "bayrad":" in lcdproc.inc

                  
                  				case "picolcd":
                  					$config_text .= "[{$lcdproc_config['driver']}]\n";
                  					$config_text .= "driverpath=/usr/local/lib/lcdproc/\n";
                  					$config_text .= "Device={$realport}\n";
                  					$config_text .= "Size={$lcdproc_config['size']}\n";
                  					$config_text .= "KeyTimeout=500\n";
                  					$config_text .= "Brightness=1000\n";
                  					$config_text .= "Blacklight_Timer=60\n";
                  					$config_text .= "Contrast=1000\n";
                  					$config_text .= "Keylights=on\n";
                  					$config_text .= "Key0Light=on\n";
                  					$config_text .= "Key1Light=off\n";
                  					$config_text .= "Key2Light=off\n";
                  					$config_text .= "Key3Light=off\n";
                  					$config_text .= "Key4Light=off\n";
                  					$config_text .= "Key5Light=off\n";
                  					break;
                  
                  

                  I just checked my box and I have it configured to use ugen2.2. When I ran usbconfig on the box, its on ugen0.2. Doesn't make sense but it works.

                  Here is a copy of all the files that i copy over after installing the lcdproc package if you want to reference:

                  http://dl.dropbox.com/u/11597356/pfSense/lcdpro%20files/lcdproc-picolcd.tar.gz

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

                    @Cino:

                    I don't know much about the the backend of the pfsense packaging system but once you update the xmls, does it compile everything on their servers or do you have update pre-compile binaries?

                    That's not how the package system works. It's independent of the pfSense build system. It's up to the package maintainer to keep it working if something big is changed in pfSense. There's quite a lot of good infomation over in the dev wiki but it's a bit spread out. I've been trying to assimilate it over the past few months!  ::)
                    Mostly the package system gives you an easy way to have a nice GUI for your package that's all tied in with the main pfSense GUI. It also handles installing and uninstalling the package and reinstalling after a firmware update.

                    @mdima, I'm interested in the exact syntax you have used for compiling the driver for lcdproc as I've been struggling to do the same for some time.  :-\

                    Steve

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

                      Thanks Steve! I've done some reading also and not there yet to create my own.

                      @mdima Take a look here, looks like you need to open a ticket http://forum.pfsense.org/index.php/topic,25519.msg132491.html#msg132491

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

                        @stephenw10:

                        @mdima, I'm interested in the exact syntax you have used for compiling the driver for lcdproc as I've been struggling to do the same for some time.  :-\

                        Steve

                        Hi, I was using the syntax I got from the instructions, with the parameter –enable-drivers=all
                        I just run:

                        ./configure --enable-drivers=all
                        make
                        

                        and it made the job…

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

                          Thanks for that.  :)
                          I managed to get it to compile in the end. My biggest problem was a typo I made in the config files while adding the driver.  :-[

                          Actually I might take this opportunity to document the process if you don't mind me hi-jacking your thread.

                          Steve

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

                            @Cino:

                            Thanks Steve! I've done some reading also and not there yet to create my own.

                            @mdima Take a look here, looks like you need to open a ticket http://forum.pfsense.org/index.php/topic,25519.msg132491.html#msg132491

                            OK! Sorry for the delay but I just got back from my "summer break" and the urgent stuff was stucking me…

                            Also, it took a lot of time because I wanted to compile also the picolcd driver, but it's really hard, at least for me, since I should install also the libusb library that is needed but I don't know where to install them... btw, in the end I was using the drivers from your dropbox, and I used the x86 version...

                            At this address (http://staff.nt2.it/lcdproc.zip) you can download the files to install on the pfSense box. The files in the /bin directory should be copied on the box in the directory /usr/local/lib/lcdproc, the others in the directory /usr/local/pkg.

                            This files are the "merge" of the files I changed + your changes (serial ports, parameters of the picolcd, and so on) + the driver binary files for picolcd... on my system the package works, if it works on your system also I update my git branch and will ask again to update the main repository with the files from my branch in order to install the updated package directly from the webconfigurator... ok?

                            Thanks,
                            Michele

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

                              @stephenw10:

                              Thanks for that.  :)
                              I managed to get it to compile in the end. My biggest problem was a typo I made in the config files while adding the driver.  :-[

                              Actually I might take this opportunity to document the process if you don't mind me hi-jacking your thread.

                              Steve
                              [/quote]

                              no, it's fine! I really thought that the LCDProc package was kind of dead, because it was not updated since a lot of time, and the mantainer's email is not reachable anymore… but as I see everyone is implementing his own changes by himself and this can lead to a mess...

                              Now I was "merging" the changes that Cino and I did to the package, if you want we can merge also yours, in order to update the package in the repository... what do you think about that?

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

                                Michele, I wont be able to see my display until later this evening but I'll let you know how it turns out… And thank you very much!!

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

                                  @Cino:

                                  Michele, I wont be able to see my display until later this evening but I'll let you know how it turns out… And thank you very much!!

                                  Don't worry, it's fine! I look forward to hearing a feedback from you!

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

                                    @mdima:

                                    Also, it took a lot of time because I wanted to compile also the picolcd driver, but it's really hard, at least for me, since I should install also the libusb library that is needed but I don't know where to install them… btw, in the end I was using the drivers from your dropbox, and I used the x86 version...

                                    the libusb library, a full install of FreeBSD includes this lib. Don't know if it makes a difference, but I've put libusb.so.5 in the /usr/local/lib directory. We don't need libkvm.so.5 lib anymore. This is included with the current snapshots of pfsense.

                                    I had problems trying to compile all the drivers for lcdproc from source-code using ./configure –enable-drivers=all. I signed up for the lcdproc mailing list and was told instead of compiling from SC, use the Port from the package system and tell that to configure all the drivers... Doing this, I was able to get all the drivers for with no errors since the package knew where all the libs that were needed.

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

                                      Mostly to remind myself how I did it here are the steps I took to compile a new driver for LCDproc for the package under 2.0.

                                      I started with an install of FreeBSD 8.1_release.
                                      First install the FreeBSD port of LCDproc. Goto /usr/ports/sysutils/lcdproc and type make. This will download all the sources and dependencies for LCDproc 0.5.3 and build them.
                                      Then follow the instructions from the LCDproc site, here, to add your new driver. There are some parts of these that are unclear.  ;)
                                      The driver I'm adding is specific to the Watchguard Firebox, which causes problems later, named sdeclcd.
                                      Editing acinclude.m4 is as per the instructions, as long as you don't make a typo! Editing Makefile.am was more involved.
                                      For step 2 I needed:```
                                      sdeclcd_LDADD =      libLCD.a libbignum.a

                                      And for step 3 I needed:```
                                       sdeclcd_SOURCES =    lcd.h lcd_lib.h sdeclcd.c sdeclcd.h report.h 
                                      

                                      Next you need to run autogen.sh but that's not included in the FreeBSD port so download it from here to  /usr/ports/sysutils/lcdproc/work/lcdproc-0.5.3.
                                      Then you can run ./configure –enable-drivers=sdeclcd (or whatever your driver is or all to build every driver) and then make to build the driver. sdeclcd.ko in my case.

                                      You then need to edit the files from the lcdproc package to allow the new driver to be selected and loaded. This is still a work in progress for me as the driver is a special case.

                                      Steve

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

                                        i copied the package files over and it worked for me. I did leave the libusb in the /usr/local/lib directory tho.

                                        reading steve's post, i believe that was the same thing i did when i trying to get the driver i needed.

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

                                          @Cino:

                                          i copied the package files over and it worked for me. I did leave the libusb in the /usr/local/lib directory tho.

                                          ok, I updated the files in my git clone… today I will mail Jim and ask how to do that... I keep you updated!

                                          Ciao,
                                          Michele

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

                                            Thanks Michele!

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