The pfSense Store

Author Topic: Firebox LCD Driver for LCDProc  (Read 93886 times)

0 Members and 2 Guests are viewing this topic.

Offline jjgoessens

  • Newbie
  • *
  • Posts: 22
    • View Profile
    • personnal site
Re: Firebox LCD Driver for LCDProc
« Reply #45 on: November 09, 2009, 07:11:31 am »
I am very happy that it works!

effectively, when i compared the file .so.txt with original, i discover that the web site replaced all 0x0a bytes by the sequence 0x0d 0x0a, this explains why it is longer, and why it did not work!

Windows compatibilty killed my program!

I think the backlight timer is a necessary option, because it can save some power...

I am working on another (and last ?) release with horizontal bars corrected and Vertical bars added.

unfortanetly, as there are only 8 user chars, heartbeat graphics will not work with this version, i need to replace by other standard chars.

I have also made some hardware improvement regarding fan control, in order to reduce the noise. I will describe that on my web site later...

JJ

Offline boblmartens

  • Newbie
  • *
  • Posts: 7
    • View Profile
    • Martin Luther College
Re: Firebox LCD Driver for LCDProc
« Reply #46 on: November 09, 2009, 09:37:42 am »
Awesome work being done. I'm wondering if there is any way you could get a guide up on how to install everything you are writing.

Thanks!

Offline jjgoessens

  • Newbie
  • *
  • Posts: 22
    • View Profile
    • personnal site
Re: Firebox LCD Driver for LCDProc
« Reply #47 on: November 11, 2009, 08:53:55 am »
Here is the last release:

- H bar correction : uses now the whole height of display, nicer.
- V bar addition, now can display cpu load vs time
- Big clock support, now you can use it as a clock !

unfortunately, as the number of user chars is very limited, the two latest adds makes the heartbeat unavailable.

this is the version 1.0.3

the original author is ridnhard19, who made the main part of the work.

here are the files : http://goessens.dyndns.org/public

for firebox users, just need to replace sdeclcd.so

I also included the sources, maybe to use them for converting a retired Firebox to a Freenas, or maybe also a linux box (web server, mail server, ...)

maybe it is possible to place the files on the pfsense server ?

JJ  :)
« Last Edit: November 13, 2009, 01:21:53 am by jjgoessens »

Offline razor

  • Newbie
  • *
  • Posts: 1
    • View Profile
Re: Firebox LCD Driver for LCDProc
« Reply #48 on: December 02, 2009, 02:54:05 pm »
Can someone please post a complete copy of there  /usr/local/etc/LCDd.conf file as I think I may have badly damaged mine, and I was stupid enough not to make a backup.

Offline jjgoessens

  • Newbie
  • *
  • Posts: 22
    • View Profile
    • personnal site
Re: Firebox LCD Driver for LCDProc
« Reply #49 on: December 02, 2009, 03:05:55 pm »
Here it is :

This is specific for sdeclcd 1.0.3 with keyboard & backlight timer.

Code: [Select]
# LCDd.conf -- configuration file for the LCDproc server daemon LCDd
[server]
Driver=sdeclcd

Bind=127.0.0.1
Port=13666
#ReportLevel=3
#ReportToSyslog=yes
WaitTime=10
User=nobody
ServerScreen=no
# The server will stay in the foreground if set to true.
#Foreground=no

DriverPath=/usr/local/lib/lcdproc/
#      12345678901234567890
Hello="  pfSense  booting  "
Hello="    please wait     "

# GoodBye message: each entry represents a display line; default: builtin
#        12345678901234567890
GoodBye="  Pfsense 1.2.3 rc3 "
GoodBye="  is shutting down  "

TitleSpeed=0

HeartBeat=off

PrevScreenKey=Down
NextScreenKey=Up

##ToggleRotateKey=Enter
##PrevScreenKey=Left
##NextScreenKey=Right
#ScrollUpKey=Up
#ScrollDownKey=Down

[menu]

MenuKey=Left
EnterKey=Right
UpKey=Up
DownKey=Down

# The following works excellent with 4 keys or more.
##MenuKey=Escape
##EnterKey=Enter
##UpKey=Up
##DownKey=Down

# If you have 6 keys you may define these as well
#LeftKey=Left
#RightKey=Right

# If you have only 3 keys, you could use something like this:
#MenuKey=Escape
#EnterKey=Enter
#DownKey=Down

## Firebox specific driver ##
[sdeclcd]
BackLight=yes
Backlight_Timer=60

# EOF

Jean Jacques

Offline gpapaiko

  • Newbie
  • *
  • Posts: 16
    • View Profile
Re: Firebox LCD Driver for LCDProc
« Reply #50 on: December 03, 2009, 05:49:14 am »
Hi,

:)Thanks to the pseron who worte this -  it works greate :)

Followed the instruction to most part and got it working with the buttons ans options.
I have just on question.
the option that are set via the LCD display and button on the Firebox, - are they saved to the disk ( i use a 2.5" la hdd and not a flash card) any where, if not how can i set the option i wnat so next time pfsens starts they will be there.

Also what other options are available for the LCDd.conf file that I can use.

Thanks in advance
George.

Offline Unubtanium

  • Full Member
  • ***
  • Posts: 136
  • Logic Dictates
    • View Profile
    • Work
Firebox LCD Driver for LCDProc
« Reply #51 on: December 03, 2009, 07:43:30 am »
Tnx to all here helping getting this to work for all of us.

But there is a small thing that has been nagging me sins i got pfsense on my two Fireboxes.
I might be posting this in the wrong thread but this is the closest i get to my question.
So here is my question:

Is there ANY way to get the armed light to turn green when the system is fully active??

I know this just is the icing on the cake but i would love if anyone have any idea on how to solve this.

 ;D

Offline jjgoessens

  • Newbie
  • *
  • Posts: 22
    • View Profile
    • personnal site
Re: Firebox LCD Driver for LCDProc
« Reply #52 on: December 03, 2009, 12:57:26 pm »
whem i wrote the keyboard driver, i made some investigations around fireboxes:

- the main circuit is a it8712f, which contains all peripherals.
- to discover wher is the keyboard, i wrote a little spy program which was scanning all ports in the range 0x000 .. 0x3FF to monitor activity, and i discovered that keyboard was using LPT port !

- to go further, i found in IT8712F datasheet all GPIO wich certainly control the led, oar maybe it is another bit in the LPT ports.

some tests needs to be done to determine how to access it uses ports 0x2e and 0x2f... for the moment, i have no more time and my firebox is running, so it is difficult to investigate anymore...

give me a free firebox to investigate  ;)

there is a possibility to change the led status in the BIOS, you need to plug a pci video card, and a keyboard (i wrote the wiring to PS/2 in another topic) You will need a 90 PCI connector to plug the video card or a PCI spacer.

There is an option in the bios to control this led.

Notice that you can also configure your bios to dialog trough the com port, so after that you can enter the bios with a simple terminal.

JJ

Offline gpapaiko

  • Newbie
  • *
  • Posts: 16
    • View Profile
Re: Firebox LCD Driver for LCDProc
« Reply #53 on: December 03, 2009, 05:01:11 pm »
Hi,

This looks great got it to work.

I want to make some changes to the display - like remove the host name - so it only displays the function like CPU, MEM etc...
also want to add a new option toi display the host name on a seperate screen.

Does any one have all the source code required (all modules lcd, lcdpoc wtc...)-  or do i just need to modify the sdeclcd.c .h files.
Cause hen you run lcdproc -h you set the set of option - -  whre i need to add a new one.

 :)
Thanks in advance
George

Offline jjgoessens

  • Newbie
  • *
  • Posts: 22
    • View Profile
    • personnal site
Re: Firebox LCD Driver for LCDProc
« Reply #54 on: December 03, 2009, 05:30:11 pm »
LCDd is the display server, sdeclcd is the display driver for firebox display & kbd.

messages are generated by lcdproc which creates the screens.

if you want to customize displays, you may modify lcdproc and compile it on a freebsd machine.

you will find souces package and compiling instructions on lcdproc source forge page (ver 0.5.3) http://sourceforge.net/projects/lcdproc/, the web site is not fully updated.

i did compile it under freebsd to get the latest version, compiling is easy, if you do not make typing errors...

LCDd can accept simultaneous connections, so you can also use others programs to create dispalys, and you can use lcdexec to create menus.

lcdproc is flexible in the way you can select different screens which will be displayed one by one, and with lcdexec you can create menus with (limited) actions.
but screens are pre-programmed.


another alternative is lcd4linux, which allows to customize your screen, but you can have only one screen.
another nice feature is the availability to display 2 graphs in one line, there is a complex routine to allow that with only 8 graphic chars, this is remarquable.

http://ssl.bulix.org/projects/lcd4linux/

unfortunetely, it does not compile natively under freebsd, i did it, but it was extremely long to setup, and for installing it it on pfsense, you will have to add manually a lot of libraries.

JJ

Offline gpapaiko

  • Newbie
  • *
  • Posts: 16
    • View Profile
Re: Firebox LCD Driver for LCDProc
« Reply #55 on: December 03, 2009, 05:47:59 pm »
Hi

Thanks JJ - :)
One other question.
Do have the pin layout for the firbox x series by any chance?

Thanks
George

Offline rikrobson

  • Newbie
  • *
  • Posts: 19
    • View Profile
Re: Firebox LCD Driver for LCDProc
« Reply #56 on: December 21, 2009, 10:20:58 pm »
there's another thread about the x550e which is virtually the same as the x750e.

http://forum.pfsense.org/index.php/topic,20095.15.html

I've got the x700 and the x750e

problems with larger cards on the x750e, but yes it does work.

Offline phillip1983

  • Newbie
  • *
  • Posts: 14
    • View Profile
Re: Firebox LCD Driver for LCDProc
« Reply #57 on: March 01, 2010, 04:13:48 pm »
Here are the directions w/ files! This only has support for the FireBox LCD compiled. I have also noticed the interface stats does not work w/ freeBSD. I've got a full install on my pc and it still doesn't pickup the traffic. I have not dug too much into it.  At any rate here it is:

(Copy and paste from shell so you can see exactly how I set it up to install)

I should really wrap a cool GUI around this so it can all be configured from the web console. I do know PHP too, just need to find some time.

I'm using the EMBEDDED VERSION! the install script supports that only - if you are using a full install i'd try and comment out the 2 mount commands as you don't need to re-mount the file system as read-write then back to read-only.

Note: the /var/tmp filesystem resides in memory so you can 'play' here without wearing out your CF card.

This is from some PC to put the archive on the pfsense box.
Code: [Select]
MacWild:final jayson$ ls
lcdd.tar.gz
MacWild:final jayson$ gunzip lcdd.tar.gz
MacWild:final jayson$ scp lcdd.tar root@***.***.***.***:/var/tmp
Password:
lcdd.tar                                      100%  124KB 124.0KB/s   00:00   
MacWild:final jayson$

Now ssh into the box; make sure ya got it enabled first of course  ;)

Code: [Select]
pfsense:/#  cd /var/tmp
pfsense:/var/tmp#  ls -l
total 126
-rw-r--r--  1 root  wheel  126976 Mar  6 22:30 lcdd.tar
drwxr-xr-x  2 root  wheel     512 Mar  6 22:28 vi.recover
pfsense:/var/tmp#  tar -xvf lcdd.tar
x lcdd
x lcdd/drivers
x lcdd/lcdd
x lcdd/LCDd.conf
x lcdd/lcdd.sh
x lcdd/lcdproc
x lcdd/drivers/curses.so
x lcdd/drivers/sdeclcd.so
x install-embed.lcdd.sh
pfsense:/var/tmp#  chmod 700 install-embed.lcdd.sh
pfsense:/var/tmp#  ./install-embed.lcdd.sh
pfsense:/var/tmp#  mount
/dev/ufs/pfSense on / (ufs, local, read-only)
devfs on /dev (devfs, local)
/dev/md0 on /tmp (ufs, local)
/dev/md1 on /var (ufs, local)
/dev/ufs/pfSenseCfg on /cf (ufs, local, read-only)
devfs on /var/dhcpd/dev (devfs, local)
pfsense:/var/tmp#


Now you can reboot or just 'cd' over to the run-scripts directory and start it up so you can keep that stellar 'up-time' figure

Code: [Select]
pfsense:/var/tmp#  cd /usr/local/etc/rc.d
pfsense:/usr/local/etc/rc.d#  ls
lcdd.sh lighttpd
pfsense:/usr/local/etc/rc.d#  ls -la
total 5
drwxr-xr-x  2 root  wheel   512 Mar  6 22:31 .
drwxr-xr-x  4 root  wheel   512 Feb 24 17:37 ..
-r-xr-xr-x  1 root  wheel   174 Mar  6 22:31 lcdd.sh
-r-xr-xr-x  1 root  wheel  1184 Sep 11 13:00 lighttpd
pfsense:/usr/local/etc/rc.d#  ls
lcdd.sh lighttpd
pfsense:/usr/local/etc/rc.d#  ./lcdd.sh
pfsense:/usr/local/etc/rc.d# 

The driver currently does not have support for vertical filled histograms - its only a 2x20 LCD so I wrote the horizontal fill functions - I need to finish that but I really didn't need it so I pushed it to the back burner for now.

http://files.pfsense.org/misc/lcdd.tar.gz

(Can this file be put on one of the pfSense servers?) -- Thanks!  I've updated my url



i have tried the above and failed.... please can some one walk me through this ..... i also edited and copied the files so i could have the sdeclcd driver in the list on the lcdproc page but no luck...

here is the output from the system logs

Code: [Select]
Mar 1 22:06:14 LCDd: LCDd version 0.5.2 starting
Mar 1 22:06:14 LCDd: Using Configuration File: /usr/local/etc/LCDd.conf
Mar 1 22:06:14 LCDd: Listening for queries on 127.0.0.1:13666
Mar 1 22:06:14 LCDd: Could not open driver module /usr/local/lib/lcdproc/sdeclcd.so: Shared object "libkvm.so.3" not found, required by "sdeclcd.so"
Mar 1 22:06:14 LCDd: Driver [sdeclcd] binding failed
Mar 1 22:06:14 LCDd: Could not load driver sdeclcd
Mar 1 22:06:14 LCDd: There is no output driver
Mar 1 22:06:14 LCDd: Critical error while initializing, abort.

please can someone help.... it would be good if my firebox X700 could have the LCD working..... :)

Offline phillip1983

  • Newbie
  • *
  • Posts: 14
    • View Profile
Re: Firebox LCD Driver for LCDProc
« Reply #58 on: March 01, 2010, 05:03:24 pm »
Here are the directions w/ files! This only has support for the FireBox LCD compiled. I have also noticed the interface stats does not work w/ freeBSD. I've got a full install on my pc and it still doesn't pickup the traffic. I have not dug too much into it.  At any rate here it is:

(Copy and paste from shell so you can see exactly how I set it up to install)

I should really wrap a cool GUI around this so it can all be configured from the web console. I do know PHP too, just need to find some time.

I'm using the EMBEDDED VERSION! the install script supports that only - if you are using a full install i'd try and comment out the 2 mount commands as you don't need to re-mount the file system as read-write then back to read-only.

Note: the /var/tmp filesystem resides in memory so you can 'play' here without wearing out your CF card.

This is from some PC to put the archive on the pfsense box.
Code: [Select]
MacWild:final jayson$ ls
lcdd.tar.gz
MacWild:final jayson$ gunzip lcdd.tar.gz
MacWild:final jayson$ scp lcdd.tar root@***.***.***.***:/var/tmp
Password:
lcdd.tar                                      100%  124KB 124.0KB/s   00:00   
MacWild:final jayson$

Now ssh into the box; make sure ya got it enabled first of course  ;)

Code: [Select]
pfsense:/#  cd /var/tmp
pfsense:/var/tmp#  ls -l
total 126
-rw-r--r--  1 root  wheel  126976 Mar  6 22:30 lcdd.tar
drwxr-xr-x  2 root  wheel     512 Mar  6 22:28 vi.recover
pfsense:/var/tmp#  tar -xvf lcdd.tar
x lcdd
x lcdd/drivers
x lcdd/lcdd
x lcdd/LCDd.conf
x lcdd/lcdd.sh
x lcdd/lcdproc
x lcdd/drivers/curses.so
x lcdd/drivers/sdeclcd.so
x install-embed.lcdd.sh
pfsense:/var/tmp#  chmod 700 install-embed.lcdd.sh
pfsense:/var/tmp#  ./install-embed.lcdd.sh
pfsense:/var/tmp#  mount
/dev/ufs/pfSense on / (ufs, local, read-only)
devfs on /dev (devfs, local)
/dev/md0 on /tmp (ufs, local)
/dev/md1 on /var (ufs, local)
/dev/ufs/pfSenseCfg on /cf (ufs, local, read-only)
devfs on /var/dhcpd/dev (devfs, local)
pfsense:/var/tmp#


Now you can reboot or just 'cd' over to the run-scripts directory and start it up so you can keep that stellar 'up-time' figure

Code: [Select]
pfsense:/var/tmp#  cd /usr/local/etc/rc.d
pfsense:/usr/local/etc/rc.d#  ls
lcdd.sh lighttpd
pfsense:/usr/local/etc/rc.d#  ls -la
total 5
drwxr-xr-x  2 root  wheel   512 Mar  6 22:31 .
drwxr-xr-x  4 root  wheel   512 Feb 24 17:37 ..
-r-xr-xr-x  1 root  wheel   174 Mar  6 22:31 lcdd.sh
-r-xr-xr-x  1 root  wheel  1184 Sep 11 13:00 lighttpd
pfsense:/usr/local/etc/rc.d#  ls
lcdd.sh lighttpd
pfsense:/usr/local/etc/rc.d#  ./lcdd.sh
pfsense:/usr/local/etc/rc.d# 

The driver currently does not have support for vertical filled histograms - its only a 2x20 LCD so I wrote the horizontal fill functions - I need to finish that but I really didn't need it so I pushed it to the back burner for now.

http://files.pfsense.org/misc/lcdd.tar.gz

(Can this file be put on one of the pfSense servers?) -- Thanks!  I've updated my url



i have tried the above and failed.... please can some one walk me through this ..... i also edited and copied the files so i could have the sdeclcd driver in the list on the lcdproc page but no luck...

here is the output from the system logs

Code: [Select]
Mar 1 22:06:14 LCDd: LCDd version 0.5.2 starting
Mar 1 22:06:14 LCDd: Using Configuration File: /usr/local/etc/LCDd.conf
Mar 1 22:06:14 LCDd: Listening for queries on 127.0.0.1:13666
Mar 1 22:06:14 LCDd: Could not open driver module /usr/local/lib/lcdproc/sdeclcd.so: Shared object "libkvm.so.3" not found, required by "sdeclcd.so"
Mar 1 22:06:14 LCDd: Driver [sdeclcd] binding failed
Mar 1 22:06:14 LCDd: Could not load driver sdeclcd
Mar 1 22:06:14 LCDd: There is no output driver
Mar 1 22:06:14 LCDd: Critical error while initializing, abort.

please can someone help.... it would be good if my firebox X700 could have the LCD working..... :)

ok i got this working kinda... but the link for sdeclcd 1.0.3 is broken can any one else repost the file? many thanks

Offline Spy Alelo

  • Newbie
  • *
  • Posts: 16
    • View Profile
Re: Firebox LCD Driver for LCDProc
« Reply #59 on: March 30, 2010, 10:06:30 am »
I have a bit of a situation where the LCDProc service does not start and nothing shows in the logs in regards to this. I am using a Firebox 1000. Tried installing and uninstalling the package as well with no luck. Tried installing the program manually even by using the script in this thread, still not working. Using 1.2.3-RELEASE

Any ideas?

*Update*

All fixed, just permission problems.
« Last Edit: April 05, 2010, 01:30:19 am by Spy Alelo »