Firebox LCD Driver for LCDProc
-
I am going to write this whole process up tomorrow. It was quite confusing but came from two different posts. It's now working. After a quick format flast and rebuild tomorrow. my watchguard goes into service.
I only have 256 meg in my box. I am only uising it for DHCP/DNS and a few ipsec tunnels. Should that sufice for now?
RC -
Hmm, very confusing. :-
I don't really understand all the steps in your post. You seem to SCP the file from /var/tmp back into /var/temp ???
Never mind you seem to have got there in the end.
Hopefully you now have a better understanding, I know I do. ;)Has anybody made LCDproc run under 2.0beta?
The simlinks have to be updated to the newer libraries but it's still not happening for me. No useful errors either.Steve
-
Now I have gone back and reviewed everything and the buttons, and backlight are the only thingk left to address. If I have gotten all of this straight this prcess should go something like this:
1. upload the following two files after downloading from PFSENSE or enduser location:
a. sdeclcd.so
b. lcdd.tar.gz
Note: sdeclcd.so will be call sdeclcd.so.txt on your windows machine. you will need to rename either on your
winodws macine or pfsense after you have copied it.
2. Make sure to enable ssh, I tried to run this via the serial connection and it did not work very well. I am not sure why
3. Open a ssh connection via putty, login with admin and your password
4. select option 8 and drop into FREBSD operation system
5. type cd /var/tmp and press enter
6. type ls and press enter. you should get the following results
bootup_messages nohup.out rules.boot
captiveportal.lock pfctl_si_out rules.debug
carp.sh pfctl_ss_out rules.debug.old
check_reload_status php-fastcgi.socket-0 sdeclcd.so
config.cache php-fastcgi.socket-1 sdeclcd.so.txt
dhcpd.sh php-fastcgi.socket-2 tmp
ifconfig_re0 re0_error_output tmpHOSTS
last_term_seen re0_output uploadbar
lcdd.tar.gz re0_router vi.recover
7. type gunzip lcdd.tar.gz and press enter
8. type scp lcdd.tar root@(enter the IP address of your watchguard device here):/var/tmp, you
should get the following results:
Could not create directory '/root/.ssh'.
The authenticity of host '192.168.14.3 (192.168.14.3)' can't be established.
DSA key fingerprint is 1a:55:e5:ed:4a:64:58:47:a9:bd:85:92:a5:f8:7c:b6.
Are you sure you want to continue connecting (yes/no)? yes(spell the word out)
Failed to add the host to the list of known hosts (/root/.ssh/known_hosts).
Password:(enter the password for your watchguard here and press enter)
lcdd.tar 100% 243KB 242.5KB/s 00:00
you will get a command propt once the process is compete
9: type ls -l and press enter get the following results. you are looking for the highlighted file
total 340
-rw-r–r-- 1 root wheel 89 May 29 04:01 bootup_messages
-rw-r--r-- 1 root wheel 0 May 29 04:01 captiveportal.lock
-rw-r--r-- 1 root wheel 0 May 29 04:00 carp.sh
-rw-r--r-- 1 root wheel 9 May 29 04:17 check_reload_status
-rw-r--r-- 1 root wheel 4682 May 29 04:10 config.cache
-rw-r--r-- 1 root wheel 393 May 29 04:10 dhcpd.sh
-rw-r--r-- 1 root wheel 48 May 29 04:00 ifconfig_re0
-rw-r--r-- 1 root wheel 11 May 29 04:12 last_term_seen
-rw------- 1 root wheel 248320 May 29 04:16 lcdd.tar
-rw–----- 1 root wheel 162 May 29 04:10 nohup.out
-rw-r--r-- 1 root wheel 1776 May 29 04:16 pfctl_si_out
-rw-r--r-- 1 root wheel 847 May 29 04:16 pfctl_ss_out
srwxr-xr-x 1 root wheel 0 May 29 04:00 php-fastcgi.socket-0
srwxr-xr-x 1 root wheel 0 May 29 04:00 php-fastcgi.socket-1
srwxr-xr-x 1 root wheel 0 May 29 04:00 php-fastcgi.socket-2
-rw-r--r-- 1 root wheel 296 May 29 04:00 re0_error_output
-rw-r--r-- 1 root wheel 0 May 29 04:00 re0_output
-rw-r--r-- 1 root wheel 13 May 29 04:00 re0_router
-rw-r--r-- 1 root wheel 128 May 29 04:00 rules.boot
-rw-r--r-- 1 root wheel 5610 May 29 04:10 rules.debug
-rw-r--r-- 1 root wheel 5610 May 29 04:10 rules.debug.old
-rw------- 1 root wheel 10780 May 29 04:08 sdeclcd.so
-rw------- 1 root wheel 10780 May 29 04:11 sdeclcd.so.txt
lrwxr-xr-x 1 root wheel 1 May 29 04:00 tmp -> /
-rw-r--r-- 1 root wheel 0 May 29 04:17 tmpHOSTS
drwxrwxrwx 2 root wheel 512 May 29 04:00 uploadbar
drwxr-xr-x 2 root wheel 512 May 29 03:59 vi.recover
10. type tar -xvf lcdd.tar and you will get the following results:
x install-embed.lcdd.sh
x lcdd
x lcdd/drivers
x lcdd/LCDd.conf
x lcdd/lcdd.sh
x lcdd/lcdproc
x lcdd/LCDd
x lcdd/drivers/curses.so
x lcdd/drivers/sdeclcd.so
11. type chmod 700 install-embed.lcdd.sh ans press enter
12. type ./install-embed.lcdd.sh and press enter
13. type mount and press enter ad you will get the folowing results
/dev/ufs/pfsense0 on / (ufs, local, read-only)
devfs on /dev (devfs, local)
/dev/md0 on /var/tmp (ufs, local)
/dev/md1 on /var (ufs, local)
/dev/ufs/cf on /cf (ufs, local, read-only)
devfs on /var/dhcpd/dev (devfs, local)
14. type cd /usr/local/etc/rc.d and press enter
15. type cd /lib and press enter
16. type /etc/rc.conf_mount_rw and press enter
17. type ln -s libc.so.7 libc.so.6 and press enter
18. type ln -s libkvm.so.4 libkvm.so.3 and press enter
19. type /etc/rc.conf_mount_ro and press enter
20. type ./lcdd.sh and your LCD should now be working.Optional step. you can copy the updated file sdeclcd.so to correct location per the forum to get the buttons and backlight to work correctly.
Enyjoy the script
RC
.
-
Thanks for taking the time to note all this down and report back. However I think your post maybe confusing to other users (and me!).
You seem to have repeated steps 1-7 three times. I assume this is just a typo, perhaps edit the post.
(Post now edited)Step 8 is completely unnecessary. It does nothing at all! ???
Step 20 won't work because you are in the wrong directory. you have to call the script with the complete path or change to the correct directory. E.g. /usr/local/etc/rc.d/lcdd.sh
I personally copied the newer driver into /var/tmp/lcdd/driver before running the install script so that it was installed along with the other files.
Steve
-
I go back over it one more time. I removed the extra lines. No clue how it happened. I tookl instruction from about 4 different posts and combined them into one posting.
I will see if I can run over see where I missed a step.
RC -
fix it by:
cd /lib
ln -s libc.so.7 libc.so.6
ln -s libkvm.so.4 libkvm.so.3then it works
Did this, but I still receive:
/usr/local/etc/rc.d/lcdd.sh
/libexec/ld-elf.so.1: # Shared object "libkvm.so.3" not found, required by "lcdproc"
I'm using the latest pfsense 2.0 beta, but as far as I can see that should not be the problem.
libc.so.6 and libkvm.so.3 do exist, so making the links was not a problem:ls /lib
…
lrwxr-xr-x 1 root wheel 9 Jun 8 10:05 libc.so.6 -> libc.so.7
lrwxr-xr-x 1 root wheel 11 Jun 8 10:04 libkvm.so.3 -> libkvm.so.4
... -
That's because pfsense 2.0 uses libkvm.so.5 so you need to use:
ln -s libkvm.so.5 libkvm.so.3
However when I did this it still wouldn't work under 2.0beta and there were no useful errors given either.
Steve
-
However when I did this it still wouldn't work under 2.0beta and there were no useful errors given either.
Steve
Ok, I've made the link to libkvm.so.5 now and it gives no error anymore.
Since I'm currently working remote I cannot see if the display shows anything (but I expect it to be the same as yours)… I'll check the display later today!EDIT: After some time, an error came up:
sock_connect: connect failed
Error connecting to LCD server 127.0.0.1 on port 13666.
Check to see that the server is running and operating normally.
??? -
It doesn't really suprise me since everything in this thread was built against freebsd7.2 and pfsense2.0 is freebsd 8.
It works great on 1.2.3 though! ;DSteve
-
It doesn't really suprise me since everything in this thread was built against freebsd7.2 and pfsense2.0 is freebsd 8.
It works great on 1.2.3 though! ;DSteve
I am using the firebox lcd driver and lcdproc on 2.0 beta 2 and it works like a charm. The box is a firebox x500 with a full install, not nanobsd.
One thing different that I have not seen mentioned is that the updated driver with key and backlit timer support is looking for LCDd.conf in /usr/local/etc and not in /usr/local/share/lcdd. Once LCDd.conf was moved to the appropriate location it worked just fine. Maybe that is the problem. -
I am using the firebox lcd driver and lcdproc on 2.0 beta 2 and it works like a charm. The box is a firebox x500 with a full install, not nanobsd.
One thing different that I have not seen mentioned is that the updated driver with key and backlit timer support is looking for LCDd.conf in /usr/local/etc and not in /usr/local/share/lcdd. Once LCDd.conf was moved to the appropriate location it worked just fine. Maybe that is the problem.Are you using:
A. the "lcdd.tar.gz" from post #7 ( http://files.pfsense.org/misc/lcdd.tar.gz ), and
B. the updated driver "sdeclcd.so" from post #22 ( http://goessens.dyndns.org/public )?If I look at the lcdd.sh script, I see it using the LCDd.conf from /usr/local/share/lcdd.
/usr/bin/nice -20 /usr/local/share/lcdd/LCDd -r 0 -c /usr/local/share/lcdd/LCDd.conf > /dev/null 2>&1 & /usr/bin/nice -20 /usr/local/share/lcdd/lcdproc C M S &
Just to be sure, I've now also copied the conf file to /usr/local/etc.
But it still comes with the same error, saying that it cannot connect to the lcdd server.EDIT:
Perhaps this would help?If I just namually start:
/usr/local/share/lcdd/LCDd -c /usr/local/share/lcdd/LCDd.conf
I a receive more detailed error:
Could not open driver module /usr/local/share/lcdd/drivers/sdeclcd.so: Shared object "libkvm.so.4" not found, required by "sdeclcd.so"
Driver [sdeclcd] binding failed
Could not load driver sdeclcd
There is no output driver
Critical error while initializing, abort.So I've done "ln -s libkvm.so.5 libkvm.so.4"
(I now have libkvm.so.3 and 4 linked to 5)When I then start the same command, no error.
Then I killed the previously manually started LCDd and started the lcdd.sh script again.
No errors, only I cannot see the display right now, because I am working remotely…EDIT AGAIN: Yes, the display is working!
Only the backlight is off, so it's a bit hard to see what's on the display. -
The backlight should come on again if you press one of the buttons.
Confirmation of working in 2.0 is great news. ;DSteve
-
The backlight should come on again if you press one of the buttons.
Confirmation of working in 2.0 is great news. ;DSteve
Tried the buttons: the display changes (shows other info) but no backlight.
(not even during of immediately after a reboot) -
Tried the buttons: the display changes (shows other info) but no backlight.
(not even during of immediately after a reboot)If you don't see it even right when you power on your box, your backlight is dead.
-
Tried the buttons: the display changes (shows other info) but no backlight.
(not even during of immediately after a reboot)If you don't see it even right when you power on your box, your backlight is dead.
Weird… I own a second box, also an x700... It doesn't have the original flashdisk inside anymore so it won't bootup, but this one also doesn't light when I turn on the box. Do I miss something? I mean, I can't imagine having 2 boxes with a dead backlight! ???
I will check a third box at the office tomorrow, that's one that's still operating with the original flashdisk, just to see what "should happen" with the backlight.
EDIT: Found it already. My first box does have a dead backlight. It's a bit less light here now and I can see the backlight on the second box, but not on the first box. So it's time to switch boxes. :-[
-
Tried the buttons: the display changes (shows other info) but no backlight.
(not even during of immediately after a reboot)If you don't see it even right when you power on your box, your backlight is dead.
Weird… I own a second box, also an x700... It doesn't have the original flashdisk inside anymore so it won't bootup, but this one also doesn't light when I turn on the box. Do I miss something? I mean, I can't imagine having 2 boxes with a dead backlight! ???
I will check a third box at the office tomorrow, that's one that's still operating with the original flashdisk, just to see what "should happen" with the backlight.
EDIT: Found it already. My first box does have a dead backlight. It's a bit less light here now and I can see the backlight on the second box, but not on the first box. So it's time to switch boxes. :-[
[/quote]
The backlit comes on for several seconds just after power on with or without disk. If it doesnt it is dead.
If anybody is interested I may have found a solution for the watchdog errors. I posted it on a separate thread under hardware
-
This box is getting better and better.
Now…. How do we display more useful and pertinent info on the LCD?
A network bandwidth graph
current throughput
vpn connections
errors
Boot messages.All of the above and much more would be nice.
-
The default options are quite limited you have choices of:
screen can be one of the following: C CPU show detailed CPU usage P SMP-CPU CPU usage overview: one line per CPU, especially useful on SMP systems. G CPUGraph CPU histogram L Load Load histogram M Memory memory & swap usage S ProcSize memory usage of 5 biggest processes D Disk filling level of the mounted file systems I Iface network interface usage B Battery battery status T TimeDate time & date information O OldTime old time screen U Uptime old uptime screen K BigClock big clock N MiniClock minimal clock A About credits page
Add the letters to where lcdproc is called in /usr/local/etc/rc.d/lcdd.sh. Not all of them work. I went with C T U.
Otherwise write your own client or use one someone else has written (a lot). It's supposed to be quite easy but since the last time I coded anything was at Uni about 12 years ago it's beyond me! ::)
Steve
-
The default options are quite limited you have choices of:
screen can be one of the following: C CPU show detailed CPU usage P SMP-CPU CPU usage overview: one line per CPU, especially useful on SMP systems. G CPUGraph CPU histogram L Load Load histogram M Memory memory & swap usage S ProcSize memory usage of 5 biggest processes D Disk filling level of the mounted file systems I Iface network interface usage B Battery battery status T TimeDate time & date information O OldTime old time screen U Uptime old uptime screen K BigClock big clock N MiniClock minimal clock A About credits page
Add the letters to where lcdproc is called in /usr/local/etc/rc.d/lcdd.sh. Not all of them work. I went with C T U.
Otherwise write your own client or use one someone else has written (a lot). It's supposed to be quite easy but since the last time I coded anything was at Uni about 12 years ago it's beyond me! ::)
Steve
Steve I am away from home for a few days I can ssh to the boxbut I cannot see the lcd so I cant test.
Are you able to display nework stats (letter I) on your box? -
Hmm, the screen shows up OK but no data is shown for I. Maybe with some tweaking.
The only really useful things for me is how long since it last crashed and is the CPU pegged at 100% by some hideous crashed code. Anything else I'll just log in and look. To be honest none of the screens are very nice at 2X20. I should get off my arse and write something, it could easily have a single screen with cpu usage and uptime.
Steve -
Hmm, the screen shows up OK but no data is shown for I. Maybe with some tweaking.
The only really useful things for me is how long since it last crashed and is the CPU pegged at 100% by some hideous crashed code. Anything else I'll just log in and look. To be honest none of the screens are very nice at 2X20. I should get off my arse and write something, it could easily have a single screen with cpu usage and uptime.
SteveI agree 2x20 is not spectacular, but it can be used to display some nice cpu/ network graphs
-
hi
after following the above when i try to start lcdd.sh under usr/local/etc/rc.d
i get the following
/libexec/ld-elf.co.1: shared object
"libkvm.so.3 not found, requirded by "lcdproc"any ideas on this one
-
You need to add the sym links:
cd /lib ln -s libc.so.7 libc.so.6 ln -s libkvm.so.4 libkvm.so.3
This is assuming you're running 1.2.3.
Steve
-
You need to add the sym links:
cd /lib ln -s libc.so.7 libc.so.6 ln -s libkvm.so.4 libkvm.so.3
This is assuming you're running 1.2.3.
Steve
Hi Steve
i am running 1.2.3
after entering the above i get
ln: libc.so.6: file exists
ln: libkvm.so.3: file existsthorghts?
-
Hmmm,
Had you already made the sym links when you installed the driver?
What exactly have you done so far?Steve
-
Hmmm,
Had you already made the sym links when you installed the driver?
What exactly have you done so far?Steve
After setting up pfsense i have loaded the web browser and gone to diag, command, and uploaded the lcdd.tar.gz
For a pc via 9 pin serial i have selected option 8 (shell)
I have navigated to the tmp dir and typed
tar -xvf lcdd.tar
chmod 700 install-embed.lcdd.sh
./install-embed.lcdd.sh
MountNavigated to
cd /usr/local/etc/rc.d
type
./lcdd.sh
error
/libexec/ld-elf.co.1: shared object
"libkvm.so.3 not found, requirded by "lcdproc"Navigate to lib
ln -s libc.so.7 libc.so.6
ln -s libkvm.so.4 libkvm.so.3
error
ln: libkvm.so.3 read-only file system
same for libcany help would be appreciated
-
The embedded version of pfsense is mounted read only so to make any changes, like adding sym links, you need to first mount it read-write. Remember to put it back to read only afterwards to preserve your cf card.
This is all detailed on page 2 of this thread and in the docs here:http://doc.pfsense.org/index.php/Remount_embedded_filesystem_as_read-write
Steve
-
The embedded version of pfsense is mounted read only so to make any changes, like adding sym links, you need to first mount it read-write. Remember to put it back to read only afterwards to preserve your cf card.
This is all detailed on page 2 of this thread and in the docs here:http://doc.pfsense.org/index.php/Remount_embedded_filesystem_as_read-write
Steve
thank you for your help Steve - led is now working great
quick question i have set the file system back to read only, when installing apps from the gui will i have to change the card to read / write?
-
No problem! :D
You shouldn't have to if you're using the gui. From, I think, 1.2.3 onwards the embedded install has switched to bsd nano and can support packages, however not all of them. Only supported packages show up in the gui though as I understand it. -
Hi,
I have followed all the instrcutions on the various threads and now happily have a working pfsense system running on a firebox x500, complete with working ath0 interface and LCD. Happy days :)
The last thing that would really make this perfect would be if the LCD could display tempurature details from the motherboard. I know this inof is available in the bios, but havent yet seen a way of getting this info out, either on the LCD or on the webGUI.
Any ideas?
Stuart
P.s. At this stage I am yet to see any of the fabeled Wacthdog timeout errors that seem to plague this device, and I've spent a long time configuring to get it how I want it. Not sure why….
-
I haven't managed this either. :( Would be nice.
See my thread for using mbmon here.
I think it needs somebody with more coding skills than me (not saying much!) to write an lcdproc client that can take the output of mbmon. I haven't found any other client that can do it.Steve
-
Sorry for the lame Q but I tried searching and cannot find an answer: How do you upload the files to PFSense? TFTP?
-
How do you upload the files to PFSense? TFTP?
Some options:
-
scp from Windows or Linux/Unix
-
From web GUI: Diagnostics -> Command, 3rd option to upload files
-
-
How do you upload the files to PFSense? TFTP?
Some options:
- From web GUI: Diagnostics -> Command, 3rd option to upload files
This was the option I used
-
hello together,
i want so start the install of the driver with die read-write problem.
the user "thewizard" posted last year:
After setting up pfsense i have loaded the web browser and gone to diag, command, and uploaded the lcdd.tar.gz
For a pc via 9 pin serial i have selected option 8 (shell)
but in the console i see the boot screen:
1. Boot pfSense [default]
2. Boot pfSense with ACPI enabled
3. Boot pfSense using USB device
4. Boot pfSense in Safe Mode
5. Boot pfSense in single user mode
6. Boot pfSense with verbose logging
7. Escape to loader prompt
8. Reboothow can i get the shell?
-
That's odd. Is that before the box has booted?
Alternatively you can access a command prompt by using ssh to connect.
Make sure it's enabled in the web interface:
\system\advanced\enable secure shell
Use putty to connect (if you're using Windows).Steve
-
at first the bootloader, then this menu. After booting "booting complete", but not the generelly menu
thx for the idea, i will test this tomorrow.
the lcdriver package "lcdproc" is not needed? only the lcdd.tar.gz?
-
You only need the lcdd tarball, it includes lcdproc along with the firebox lcd driver. However there is a problem with the install script when using 2.0Beta5 (or newer).
Here's a new set of instructions for installing the firebox lcd software that should work with Beta5
Edit: These instructions didn't work. There's a file permissions problem that needs to be fixed.
Steve
-
Edit: This only works correctly under 2.0. To use this file for 1.2.3 you need to add a sym link manually see
here.Here's something that works! ::)
At least it did with yesterdays build (pfSense-2.0-BETA5-1g-i386-20110209-1815) on a completely clean install.
Download the attachment to this message. Rename it lcdd4.tar (remove the .png).
Upload it to your firebox via Diagnostics\Command Prompt\Upload in the web interface. This will put the file in \tmp. Then open a command prompt via serial or shh and:[2.0-BETA5][root@pfSense.localdomain]/root(9): cd /tmp [2.0-BETA5][root@pfSense.localdomain]/tmp(10): tar -xvf lcdd4.tar x ./ x ./lcdd/ x ./install-embed2.lcdd.sh x ./lcdd/drivers/ x ./lcdd/LCDd.conf x ./lcdd/lcdd.sh x ./lcdd/lcdproc x ./lcdd/LCDd x ./lcdd/drivers/curses.so x ./lcdd/drivers/sdeclcd.so [2.0-BETA5][root@pfSense.localdomain]/tmp(11): ./install-embed2.lcdd.sh [2.0-BETA5][root@pfSense.localdomain]/tmp(12): /usr/local/etc/rc.d/lcdd.sh
And your lcd should be working. ;D
Changelog from lcdd3:
Reworked the install script to use rc.conf_mount_rw instead of 'mount -u -w /'.
Included the symlinking in the install script.
Changed the default lcd proc display options to C T U.
Changed the default LCDd.conf to use the front panel buttons correctly for menu access. :)Bugs:
(Xe box only) Having set it to use the buttons correctly I have found that the buttons on the Xe box are wired differently to the other fireboxes. >:( When it starts you'll be left in the menu, just press the left button to escape. The result is no different to when the buttons weren't configured correctly.Although I am using the rc.conf_mount_rw/ro commands in the script there is no need since it appears that (in this build at least) everything is mounted RW by default. Seems odd.
Steve
Edit: Changed the attachment to .png as .txt was corrupt.
-
hello steve,
that sounds good, but i can´t unpack the file.
error message on box and on windows…