HOW TO Zalman HD135 VFD with Proper Driver
#1
Hey All,

So I have been playing with my Zalman case for a while trying to get the VFD to work correctly, 90% of the time with the current driver (lis2 modified for connection type mplay) and works only with the current CVS version of LCDproc. Setting up this way would first off after about an hour the display would start to get garbled, missing characters and finally reboot itself to where it would only read the server screen at all times and no clients found, NOT GOOD.

Then when I started to use Mythbuntu 8.10 with the current driver it was even worse. Myth would load, and connect as a client then all I got on the display was a single dash in the top row to the far left of the screen and then the odd instance of the tv show I was trying to watch but that was it but the biggest issue with this was I lost all remote functions in myth while viewing livetv or recorded shows so off to Google I went. Oh! and I proved this was caused by LCDproc by going to the lcdproc src directory and running sudo make uninstall and then rebooting and all worked just as it should without the VFD active or LCDd running.

OK the HOW TO:

*** NOTES ***

Case = Zalman HD135 with Mplay VFD from VL systems (I am using the M$ MCESUB2 remote with the USB dongle and lirc not the Zalman Supplied remote this is not a how to for lirc but likely if you mofify your hardware.conf to use device dev/ttyUSB? and then get the zalman.lircd file floating around the web you will be good to go)
OS = Mythbuntu 8.10 all updated
Kernel = 2.6.27-11-generic
Lirc = 0.8.4a
XBMC = Intrpeid PPA
Skin = pm3.hd
VID = Nvidia 180.22 (not glx or included myth restricted drivers)
M/B = Asus P5N7A-VM Intel C2D 7300 running at 3Ghz
VID = 9300GT

*** END NOTES ***

Thanks to Sean Meiners for writing the proper driver for the device and to gazer22 on ubuntu forums for the initial lcdproc how to.

OK!

PART 1

First if you have not compiled lcdproc before you will need some files so paste this in to your command line and get them. If you are sure you already have them then skip this part

Code:
sudo apt-get install build-essential automake autoconf autotools-dev libtool cvs

PART2

Now make sure you have a /usr/local/src directory and it is writeable, if not use these command to create one and make it writable by all.

Code:
sudo mkdir /usr/local/src
sudo chmod ugo+rwx /usr/local/src


PART 3

Now make sure you do not have any version of lcdproc hanging around on your system.

Code:
sudo apt-get --purge remove lcdproc

PART 4

Now the fun stuff, let's make it all work. You may see an IOwarrior error do not worry about it. Note that the -p0 command the 0 is a zero and not an capital O. The below will install lcdproc 0.5.2, the patch will patch 0.5.2 to use the correct driver "mplay" and it will setup up LCDd to autostart on your system for you.Big Grin

Code:
cd /usr/local/src
wget http://internap.dl.sourceforge.net/sourceforge/lcdproc/lcdproc-0.5.2.tar.gz
tar -zxvf lcdproc-0.5.2.tar.gz
cd /usr/local/src/lcdproc-0.5.2
wget http://www.scottcraftboats.com/downloads/mplay-final.patch.gz
gunzip mplay-final.patch.gz
patch -p0 < mplay-final.patch
aclocal && autoconf && automake
./configure --enable-drivers=hd44780
make
sudo make install
sudo cp scripts/init-LCDd.debian /etc/init.d/LCDd
sudo chmod +x /etc/init.d/LCDd

PART 5

Now update your rc.0-6 files this way.

Code:
sudo update-rc.d -f LCDd remove
sudo update-rc.d LCDd defaults

PART 6

We are almost finished! Let's edit your LCDd.conf file. I use vim as my editor in the example below you can use any editor you like just change vim to vi, nano etc. before we do this you should run dmesg and see what USB port your FTDI device was assigned. just run dmesg from the command line and then look through the list for FTDI or FD232L(D) assigned on ttyUSB? you will need this in your LCDd.conf file.

Code:
cd /usr/local/etc
sudo vim LCDd.conf

LCDd.conf

first in the server section

Change

driver = curses

to

driver=hd44780 (make sure this is lower case for the h and the d)

then change the driver path

from server/drivers to

/usr/local/lib/lcdproc/

you can also uncomment the

#Set Server Screen=no

now scroll down to the hd44780 driver section it is about half way down the list.

change

Connection type to mplay (lower case)
change bit rate to 38400
change device to ttyUSB? (? = 0, 1, 2 etc)
change size to 20x2

Ok now save the file and exit.

now you can run

Code:
sudo /etc/init.d/LCDd start

and you should see LCDproc Server on your VFD now in XBMC from the mainpage goto settings - system - LCD and turn on your LCD output and configure as you like. In mythbuntu from the frontend goto utilities/settings - general and scroll through those pages until you see enable lcd at the top of the screen, click the check box and then all the settings will appear. Voila. You should not have to edit any of these at least I did not.

I have not tried this on anything but Mythbuntu 8.10. so if you want to try it on hardy or live that is up to you but it should work on live.

ALSO this VFD also supports fan control and in the driver section of the LCDd.conf file there are options for setting up your fans and it works you can turn on or off the fan control, you can set min max temps etc. Each setting is documented in the LCDd.conf file.

*** UPDATE ***

If you should ever want to remove the driver or uninstall for testing reasons. (You should not delete your source files for LCDproc) you can do the following to uninstall

Code:
cd /usr/local/src/lcdproc-0.5.2
sudo make uninstall


Now shutdown and kill the power to the box to clear the memory on the vfd and then it will start back up with Zalman written on it. To reinstall again you only have to go back the lcdproc source directory above and issue a sudo make install.


Good Luck and Have Fun.

Regards,

Dave
Reply
#2
Hey All,

I figure I had better try and help you out with the remote. I have not set this up on my system as I run an mce remote with the transmitter. As far as I can gather all that should be needed is to set your hardware.conf file to

remote = custom
modules = I am not sure you need one
device=/dev/ttyUSB0
lircd = etc/lircd.conf

Anyhow, it seems the hd135 remote file floating does and does not work for some. I just irrecorded the remote this morning and here is what I have come up with. You will have to edit the name and maybe some of the button names for your application but the codes should be OK. I had no problems learning the remote with irrecord so it should work.

I just changed my /etc/lirc/lircd.conf file to include the remote codes below and tested it with irw after a lirc restart. Remember whenever you edit a lirc file you must restart lirc to test it. anyhow, irw recognizes every button press from the remote through an SMK usb rcvr attached to my test machine.

zalhd135rm.conf

Code:
# Please make this file available to others
# by sending it to <[email protected]>
#
# this config file was automatically generated
# using lirc-0.8.3(default) on Sun Mar  8 08:52:22 2009
#
# contributed by DVS
#
# brand: zalman135
# model no. of remote control:
# devices being controlled by this remote:
#

begin remote

  name  "name the remote here"
  bits           16
  flags SPACE_ENC|CONST_LENGTH
  eps            30
  aeps          100

  header       9000  4415
  one           593  1650
  zero          593   532
  ptrail        586
  repeat       8975  2210
  pre_data_bits   16
  pre_data       0xCE59
  gap          107261
  toggle_bit_mask 0x0

      begin codes
          one                      0xB24D
          two                      0x728D
          three                    0xF20D
          four                     0x0AF5
          five                     0x8A75
          six                      0x4AB5
          seven                    0xCA35
          eight                    0xC03F
          nine                     0xE01F
          zero                     0x32CD
          vol_up                   0x50AF
          vol_down                 0x708F
          ch_up                    0x48B7
          ch_down                  0x6897
          guide                    0xF00F
          back                     0xD02F
          tv                       0xC837
          exit                     0xF807
          task                     0xE817
          run                      0xD827
          up                       0x9867
          down                     0xB847
          left                     0x2AD5
          right                    0xC23D
          ok                       0x42BD
          rewind                   0xB04F
          play                     0x906F
          forward                  0xA857
          replay                   0x58A7
          stop                     0x807F
          skipahead                0x7887
          pause                    0xA05F
          mute                     0x52AD
          warp                     0xE21D
          rec                      0x8877
          dvd                      0x28D7
          detail                   0xD22D
          myvideos                 0x02FD
          recTV                    0x629D
          pictures                 0xA25D
          mymusic                  0x6A95
          greenpower               0xAA55
          redpower                 0x827D
      end codes

end remote

Hope this helps.

Regards,

Dave
Reply
#3
Excellent work. Very clear and precise instructions. Thank you for the hard work.

One question tho, have you noticed that when you shut down the system it always leave some crap on the display until you turn it on the next time? Do you have a way to clear it before going off?
Reply
#4
pardes3 Wrote:Excellent work. Very clear and precise instructions. Thank you for the hard work.

One question tho, have you noticed that when you shut down the system it always leave some crap on the display until you turn it on the next time? Do you have a way to clear it before going off?

I am pretty sure the only way to clear that is to remove the power to the device BUT you could change the good bye message in your LCDd.conf file and see if that helps, it is in the hd44780 section.

Dave
Reply
#5
Thank you for your tuto rodercot,

could you update it to add "keypad" option, which is needed to IR receiver to be initialized (at least under ubuntu 9.10 and kernel 2.6.31)
Reply
#6
Concerning the VFD, do you have any solution to reset it in order to start the PC again, after the shutdown completed ?
It works with vlsystem software. So it seems LCDd does not close mplay properly...
Reply
#7
I am not sure what you are asking for. If you want to suspend the system, then you may need to add a line to your suspend script that restarts LCDd upon restore. I have had to do that a few times with mine when I initially set it up. I have suspend and resume script.

Regards,

Dave
Reply
#8
rodercot Wrote:I am not sure what you are asking for. If you want to suspend the system, then you may need to add a line to your suspend script that restarts LCDd upon restore. I have had to do that a few times with mine when I initially set it up. I have suspend and resume script.

Regards,

Dave


I just want to be able to start the PC from the remote, which seems to be only possible when the blast is stopped "properly". I think it needs some data before PC stops.
I will try to shutdown/starts several times with case button and then I will try again with the remote.
I have read somewhere a guy have found a string to write on /dev/ttyUSB0 that lets the remote power up possible.
Reply
#9
I would like to know how it does it via the software I am pretty sure when the system is completely cold (Off) there is no power to the display. I know that mine does not have anything on it until the system is actually powered on. I will look at the manual for the display, this is to me is the same issue as the xbox had with power on off,

The USB power never really go to sleep when suspended hence why the pwr button will wake the system up from that.

Regards,

Dave
Reply
#10
rodercot Wrote:I would like to know how it does it via the software I am pretty sure when the system is completely cold (Off) there is no power to the display. I know that mine does not have anything on it until the system is actually powered on. I will look at the manual for the display, this is to me is the same issue as the xbox had with power on off,

The USB power never really go to sleep when suspended hence why the pwr button will wake the system up from that.

Regards,

Dave

In fact, I use the VL-System Mplay blast which is the manufacturer model of the one you have in your Zalman case in OEM version, I guess.
For mine, the case power switch button is connected to the motherboard through the Mplay, that lets it to turn on PC "from cold state".
Since you have not exactly the same, I understand why you don't understand my question ;-)

Thank you for your answers.

Niko2
Reply
#11
Hi all,

I have the Zalman HD135 HTPC case and while attempting to fix an LCDproc issue (by installing a newer version) I seem to have caused a weird issue with
the IR portion of the unit. As soon as I put power to the machine the
little red led next to the IR sensor lights and stays on permanently,
it seems no IR signals are being passed through the interface either
(shared with the VFD on /dev/ttyUSB0 using the FTDI serial module)
Powering down doesn't help, as does removing all traces of
LCDproc/Lirc etc. I know this isn't strictly an LCDproc issue but I'm
at a total loss on how to fix this and wondered if anyone had any
thoughts on what the issue could be. It's possible the unit has gone
faulty or maybe the bios for the display has got into an inconsistent
state?


Any ideas at all welcome.


Thanks
Reply
#12
thecapsaicinkid Wrote:Hi all,

I have the Zalman HD135 HTPC case and while attempting to fix an LCDproc issue (by installing a newer version) I seem to have caused a weird issue with
the IR portion of the unit. As soon as I put power to the machine the
little red led next to the IR sensor lights and stays on permanently,
it seems no IR signals are being passed through the interface either
(shared with the VFD on /dev/ttyUSB0 using the FTDI serial module)
Powering down doesn't help, as does removing all traces of
LCDproc/Lirc etc. I know this isn't strictly an LCDproc issue but I'm
at a total loss on how to fix this and wondered if anyone had any
thoughts on what the issue could be. It's possible the unit has gone
faulty or maybe the bios for the display has got into an inconsistent
state?


Any ideas at all welcome.


Thanks

LCDproc needs a patch for this VFD to activate IR receiver.
Re-read the beginning of the this thread
(wget http://www.scottcraftboats.com/downloads...l.patch.gz)
Reply
#13
rodercot Wrote:now you can run
Code:
sudo /etc/init.d/LCDd start
and you should see LCDproc Server on your VFD ...
Sorry for bringing up this old post again. I've a Moneual 320 case with same VlSystem mplay IR/VDF. I've tried LCDproc 0.5.3 and also 0.5.2 with the mplay patch installed. Now when, I start LCDd ( or use LCDd -f -r 4 ), I don't get any error but nothing comes up on the VFD as well? Is it normal? Also, my remote stop working if I start LCDd. If I do
make uninstall
make clean
in the LCDproc source directory, remote starts working. Does anyone know a fix for it? Thanks in advance. Cheers!!
MINIX NEO U22-XJ | Denon AVC-X3800H | KEF Q750 | KEF Q150 | KEF Q250c | KEF Q50a | KEF Kube 10 MIE | LG OLED65G16LA | CoreELEC
Reply
#14
What kernel are you using. I am having issues with lcdproc in lucid kernels .32 and above and I have not had time to look into yet.

regards,

Dave
Reply
#15
rodercot Wrote:What kernel are you using.
I'm using 32-26 as well.
Code:
root@htpc:~# uname -rvm
2.6.32-26-generic #45~pre201010060901-Ubuntu SMP Wed Oct 6 09:19:22 UTC 2010 x86_64
Mine one doesn't work at all using 38400 bit-rate; I get nothing but a blank screen and remote/lirc stops working as well. I changed it to 57600, I just get [back] the default "MONEUAL" on the screen and nothing else. if I use LCDd -f -r 5 -s 0, I get screen full of these:

screenlist_process()
screenlist_switch(s=[_server_screen])
Code:
Server running in foreground
Listening for queries on 127.0.0.1:13666
screenlist_init()
driver_load(name="hd44780", filename="/usr/lib64/lcdproc/hd44780.so")
HD44780: using ConnectionType: mplay
HD44780: Matrix key 3 0: "Enter"
HD44780: Matrix key 3 1: "Up"
HD44780: Matrix key 3 2: "Down"
HD44780: Matrix key 3 3: "Escape"
hd44780: Using hd44780_default charmap
HD44780: lis2: Using device: /dev/ttyUSB0
HD44780: lis2: using speed: 57600
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()
screenlist_process()
screenlist_switch(s=[_server_screen])
screenlist_process()
screenlist_switch(s=[_server_screen])
screenlist_process()
screenlist_switch(s=[_server_screen])
Do you have any idea what is this?

Another thing: Is there any command line thing to display sample text on the screen? Cheers!!
MINIX NEO U22-XJ | Denon AVC-X3800H | KEF Q750 | KEF Q150 | KEF Q250c | KEF Q50a | KEF Kube 10 MIE | LG OLED65G16LA | CoreELEC
Reply

Logout Mark Read Team Forum Stats Members Help
HOW TO Zalman HD135 VFD with Proper Driver1