CrystalFonts CFA633USB & PFSense - cant get LCDProc to work



  • I picked up a CrystalFonts CFA633USB LCD for my PFSense box and I am having a difficult time getting it going. I have limited knowledge of FreeBSD so my apologies if I fail to use correct terminology.

    Here is the output from PFSense when it is booting:
    ugen3.2: <crystalfontz>at usbus3
    uftdi0: <crystalfonts cfa633-usb="" lcd="">on usbus3

    The display binds to ugen3.2, but this is not an option to select from LCDproc - the highest I can pick is ugen2.2. Is there a way to move the CFA633 to an address/port that I can access for LCDProc? Another user here alluded to that but did not post clear directions beyond viewing a list of open interfaces.

    https://forum.pfsense.org/index.php?topic=83006.msg454326;topicseen#msg454326</crystalfonts></crystalfontz>



  • Hello Zenit,

    Re-read the post you linked the answer is that you do not select the "ugen#.#" device.  You must figure out what the "cuxxxx" device is, and select the appropriate one.

    Also, at least with my setup, you will have to edit the "/user/local/pkg/lcdproc.inc" file and replace "localhost" with "127.0.0.1".  For me this is required or the LCDProc client can't connect to the LCDProc server…

    Thanks,
    Frank



  • Hi Frank,

    I did some more digging and it seems the problem may lie with LCDproc - I am getting errors in the system log and the service is not indicated as started.

    Aug 3 20:37:57 LCDd: Could not open driver module /usr/local/lib/lcdproc/CFontz633.so: Cannot open "/usr/pbi/lcdproc-amd64/local/lib/lcdproc/CFontz633.so"
    Aug 3 20:37:57 LCDd: Driver [CFontz633] binding failed
    Aug 3 20:37:57 LCDd: Could not load driver CFontz633
    Aug 3 20:37:57 LCDd: There is no output driver
    Aug 3 20:37:57 LCDd: Critical error while initializing, abort.

    As to determining what the CUxxxx device is, is it just a matter of guessing? Here is an output I got from the command line:

    Thanks,

    Zenit



  • Regarding the port, you could start the pfSense box without the LCD attached.  Then login via SSH or at the console, and see what "cua*" devices exist in "/dev".  Then connect the LCD, and look for new "cua*" devices in "/dev".



  • Ok, I will try leaving it unplugged to find out what port to use for it.

    Could selecting the wrong port be causing the issue with opening the driver module?



  • I'm not sure about the error message.  It seems reasonable that if it can't find the device (wrong port), that it might not load the driver.  You might want to check on the LCDproc home page:  http://www.lcdproc.org



  • Hey All, Did you end up fixing this issue? i am having the exact same issue with my LCD (Same Model) and pfsense :(



  • Life got in the way, so I was not able to look into it until now.

    I found out that the LCD is on port ugen3.2. This is not a port I can select in the LCDproc settings. No idea where to go from here….

    Anyone have some pointers?



  • Can you ssh or console to your pfsense box?  If so, do "ls -ltr /dev | grep cua", make a note of what is there.  Then unplug the LCD if it's plugged in or plug it in if it's not and redo the ls -ltr /dev | grep cua.  The difference will be the device assigned to the LCD.
    ugen is the USB generic interface;  the cu is a serial device interface overlaid on the ugen, so yes, telling LCDProc to use ugen instead of cu will cause problems (LCDProc is treating it as a serial port, the ugen interface does not handle serial protocol directly)

    It will probably be named cuau### (notice the extra u after cua) based on your screen shot I would try /dev/cuau0.



  • It looks like the LCD is on cuaU0, when I unplugged it cuaU0 disappeared.

    I set LCDProc to use cuaU0, but the LCDProc service still is not starting.  I get the following error in the system log like before:

    Oct 6 15:36:29 	LCDd: LCDd version 0.5.7 starting
    Oct 6 15:36:29 	LCDd: Using Configuration File: /usr/pbi/lcdproc-amd64/local/etc/LCDd.conf
    Oct 6 15:36:29 	LCDd: Listening for queries on 127.0.0.1:13666
    Oct 6 15:36:29 	LCDd: Could not open driver module /usr/local/lib/lcdproc/CFontz633.so: Cannot open "/usr/pbi/lcdproc-amd64/local/lib/lcdproc/CFontz633.so"
    Oct 6 15:36:29 	LCDd: Driver [CFontz633] binding failed
    Oct 6 15:36:29 	LCDd: Could not load driver CFontz633
    Oct 6 15:36:29 	LCDd: There is no output driver
    Oct 6 15:36:29 	LCDd: Critical error while initializing, abort.
    Oct 6 15:36:35 	php: lcdproc: Failed to connect to LCDd process Operation timed out (60)
    

    EDIT: The CFontz633.so driver is totally missing from the /usr/pbi/lcdproc-amd64/local/lib/lcdproc/ directory. This explains why it is throwing the error.



  • so /usr/local/lib/lcdproc/CFontz633.so is symlinked to /usr/pbi/lcdproc-amd64/local/lib/lcdproc/CFontz633.so?
    It could be that the package install put it in a different place or is broken (I have not tried to down load it, I don't have a display).
    Next thing I'd try from ssh or console:
    find / -name "CFontz633*" -print

    You may get lucky and find it installed in a different directory.

    Another option would be uninstall lcdproc, redownload the package and then reinstall.



  • I reinstalled it - both the dev and the regular version lack the driver. I found an old package with the CFontz633.so driver in place, so I uploaded that to the PFSense box after extracting it from the package on my Windows desktop. Unfortunately said driver seems to be unsupported:

    Oct 6 17:12:26 	LCDd: Could not open driver module /usr/pbi/lcdproc-amd64/local/lib/lcdproc: /usr/pbi/lcdproc-amd64/local/lib/lcdproc/CFontz633.so: unsupported file layout
    


  • @Zenit:

    I reinstalled it - both the dev and the regular version lack the driver. I found an old package with the CFontz633.so driver in place, so I uploaded that to the PFSense box after extracting it from the package on my Windows desktop. Unfortunately said driver seems to be unsupported:

    Oct 6 17:12:26 	LCDd: Could not open driver module /usr/pbi/lcdproc-amd64/local/lib/lcdproc: /usr/pbi/lcdproc-amd64/local/lib/lcdproc/CFontz633.so: unsupported file layout
    

    Well, I'm out of ideas;  you may have more luck in the packages subforum or asking package maintainers.
    In the package you installed, is there a CFontzPacket.so?  If so, copy and rename that to CFontz633.so.  If not try doing:
    Google for "freebsd 10 lcdproc package" you should be able to find the .txz package file for amd64.  download it, tar Jxvf <file>.txz, then look for CFontzPacket.so and cp/rename that to CFontz633.so</file>



  • Actually, I just got some progress. I installed the dev version of LCDProc, selected the Packet driver, set the baud rate to 19200, and the interface to cuaU0. It light up with "Thanks for using pfsense!"

    Finally something different than the CFA633 boot rom message.

    I cant seem to get it to show any information like load, or uptime. Just the welcome message. At least I know the system can talk to the display…  :)



  • @Zenit:

    Actually, I just got some progress. I installed the dev version of LCDProc, selected the Packet driver, set the baud rate to 19200, and the interface to cuaU0. It light up with "Thanks for using pfsense!"

    Finally something different than the CFA633 boot rom message.

    I cant seem to get it to show any information like load, or uptime. Just the welcome message. At least I know the system can talk to the display…  :)

    Good.  They may have renamed the drivers and such along the way so the CFontz633.so is invalid.  Now I really have no ideas on how to get it to display anything else.



  • Went into the config of LCDProc, changed the server IP from 127.0.0.1 to localhost. Now it is working perfectly.

    Success!  :D Thanks for the help mer.

    Now my PFSense box is completely set up at last. Hopefully this C2D machine can last for some years more, I dont see the point in replacing the motherboard and CPU yet as the 2.2ghz Core 2 Duo is not heavy on power and handles the load of my WAN connection (150mbps) perfectly.



  • Cool.  I may have to pick one of those up and muck around.


Log in to reply