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

    Help identify lcd display on Smoothwall SWG700 [Edit: Portwell EZIO]

    Scheduled Pinned Locked Moved Hardware
    59 Posts 9 Posters 15.5k 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.
    • F
      fmertz
      last edited by

      @stephenw10:

      The mtc_s16209xdriver is not perfect.

      If there is a sense that there are at least a few of these devices out there, let me know if there is any interest in getting this driver updated (or a new one created) to work as per the spec.

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

        Oh I'm sure there are more than a few and there would be a number of users for a real, more complete driver here.

        The EZIO is the standard display used by Portwell (who are also Caswell?). They are the OEM supplier for a number of other manufacturers.

        There seem to be several versions, 100, 300 etc but I believe they are backward compatible. The instruction set seems to be the same.

        Thanks.

        Steve

        1 Reply Last reply Reply Quote 0
        • F
          fmertz
          last edited by

          Hmm, after taking a look at some of the upstream lcdproc driver code, how about the lb216 driver? The code seem to match with the published EZIO spec just about perfectly.

          2 issues:

          • A backlight is supported by this lb216 driver. Best case, the command is ignored by the EZIO device, or we discover there is a controllable backlight!

          • There is no code for the keypad

          Also, the defaults are "wrong" for the EZIO device, but are configurable:

          "Speed=2400" and "Device=/dev/…" have to be added to the config file.

          If anyone has a chance to test this out, let me know.

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

            Ooo nice catch.

            It works better. The text lines up correctly so I assume it's setting start position right.

            The backlight, contrast and brightness settings do nothing.

            However the screen is not initialised from power off. I still have to send the hexfile at it with the start sequence in it:

            FE 28 FE 28
            

            After that lcdproc kicks in

            Steve

            1 Reply Last reply Reply Quote 0
            • F
              fmertz
              last edited by

              So, if I was to make a code change to this existing lb216 driver, we would need a way to instruct the driver to behave either as it was coded before for the lb216, or as an EZIO device. The "obvious" way is to put a new line in the configuration file, like "Variant=EZIO". If we do this however, there would be no easy way for the existing pfSense lcdproc integration package to set it. So, question:

              What would be a good parameter to use in the configuration file to nudge the driver to adopt the EZIO behavior, instead of the default lb216, with no code change to the pfSense lcdproc package?

              "Speed" is not good because there are apparently some lb216 devices at 2400 bps already (as per the code), even if the default is 9600.
              "Device" is not helping us because both would use the same "COM2" device.
              What else can you think of (I have no pfSense instance running at the moment)?

              Thanks.

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

                Display size might be good to use. I trued some different values and they don't seem to actually affect the EZIO display at all. There are probably some options that don't actually exist as an lb216 device either.

                However my preference would be for a separate driver. That would mean making changes to the lcdproc package to have it selectable but that's relatively easy.

                Steve

                1 Reply Last reply Reply Quote 0
                • F
                  fmertz
                  last edited by

                  Finally got around to acquiring and setting up this EZIO device. Running off of my Debian Linux ARM NAS, with a Serial/USB adapter, a couple of yost adapters, and a rollover cable. Also has to borrow a motherboard-to-DB9 ribbon cable off of an old Nokia appliances. And to think this is not even that deep into the junk pile…

                  IMG_20170401_131126.jpg
                  IMG_20170401_131126.jpg_thumb

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

                    Nice.  ;D

                    1 Reply Last reply Reply Quote 0
                    • R
                      Riftcore
                      last edited by

                      @stephenw10:

                      Ha, just read your other thread. fmertz, who rewrote the sdec driver, is completely right. Just use the mtc_s16209x driver for maximum win!

                      I'm sure I tried that before but probably had the wrong baud rate.

                      Buttons don't work. Heartbeat appears incorrectly. Backlight control not functioning as expected. Scope for improvement…  ;)

                      Steve

                      Hi Steven
                      Don't supose you could share a screen shot of your settings in lcdproc as I can't even get my one to start! lol

                      edit = got it to start but it still shows only two * on the screen.

                      1 Reply Last reply Reply Quote 0
                      • F
                        fmertz
                        last edited by

                        Problem is that none of the existing lcdproc drivers have the correct initialization sequence for this EZIO device, yet. So, FOR NOW the device has to be initialized "by hand". If you read this thread again, there is a short file that has to be sent to the display. The file has the right initialization string. After that, the lb216 driver can be used with some success.

                        Best of luck, keep us posted.

                        PS: I have offered to write a proper driver for these EZIO devices as the spec is available. Let us know if you can help with the effort, like testing prototypes along the way.

                        1 Reply Last reply Reply Quote 0
                        • R
                          Riftcore
                          last edited by

                          @fmertz:

                          Problem is that none of the existing lcdproc drivers have the correct initialization sequence for this EZIO device, yet. So, FOR NOW the device has to be initialized "by hand". If you read this thread again, there is a short file that has to be sent to the display. The file has the right initialization string. After that, the lb216 driver can be used with some success.

                          Best of luck, keep us posted.

                          PS: I have offered to write a proper driver for these EZIO devices as the spec is available. Let us know if you can help with the effort, like testing prototypes along the way.

                          Thought Steven said use mtc_s16209x driver for maximum win! ill have a go at what you said. tho I kind of suck at this kind of thing. Here goes!

                          Okay ive reread twice which hex file ? how would I send this to the screen. This is mega confusing for an idiot like me.

                          1 Reply Last reply Reply Quote 0
                          • F
                            fmertz
                            last edited by

                            I suppose you also need to make sure the device is correct (second serial port), and the speed is also correct (2400 bps)…

                            1 Reply Last reply Reply Quote 0
                            • R
                              Riftcore
                              last edited by

                              @fmertz:

                              I suppose you also need to make sure the device is correct (second serial port), and the speed is also correct (2400 bps)…

                              when I set it too the second serial port lcd does not even start.

                              2017-04-05.png
                              2017-04-05.png_thumb

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

                                Use the hex file from here:
                                https://forum.pfsense.org/index.php?topic=99320.msg690716#msg690716

                                Put it in /root.

                                Then call it using the shellcmd package (needs to be installed) using the commands in the attached screenshot.

                                Or run them manually to test.

                                Steve

                                Selection_209.png
                                Selection_209.png_thumb

                                1 Reply Last reply Reply Quote 0
                                • R
                                  Riftcore
                                  last edited by

                                  @stephenw10:

                                  Use the hex file from here:
                                  https://forum.pfsense.org/index.php?topic=99320.msg690716#msg690716

                                  Put it in /root.

                                  Then call it using the shellcmd package (needs to be installed) using the commands in the attached screenshot.

                                  Or run them manually to test.

                                  Steve

                                  The txt file Steve?
                                  also what is the best way to put it in /root?

                                  (Uploaded file to /tmp/pfsense.hex.txt.) this the right way using the upload part within pfense?

                                  Cheers

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

                                    Yeah, it's appended with .txt because the forum only allows certain file types.

                                    You will need to move it from /tmp as that exists only in RAM so will be lost at reboot.

                                    The best way to move files to and from the firewall, in my opinion at least, is to use SCP:
                                    https://doc.pfsense.org/index.php/HOWTO:_Access_pfSense_filesystems_remotely_with_scp

                                    You can use WinSCP in Windows and drag and drop etc. Just enable SSH in System > Advanced > Admin Access and you will be able to connect.

                                    Steve

                                    1 Reply Last reply Reply Quote 0
                                    • R
                                      Riftcore
                                      last edited by

                                      Thanks got winscp working and the file in the right place.

                                      I ran the first comand in putty and got this error

                                      [2.3.3-RELEASE][root@pfSense.localdomain]/root: stty -f /dev/cuau1.inti speed 24                                            00
                                      stty: /dev/cuau1.inti: No such file or directory

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

                                        I think you just typo'd that. It should be:

                                        stty -f /dev/cuau1.init speed 2400 
                                        

                                        Steve

                                        1 Reply Last reply Reply Quote 0
                                        • R
                                          Riftcore
                                          last edited by

                                          Yea I did I found that out :)

                                          I get this now and nothing happens

                                          ![2017-04-05 (1).png](/public/imported_attachments/1/2017-04-05 (1).png)
                                          ![2017-04-05 (1).png_thumb](/public/imported_attachments/1/2017-04-05 (1).png_thumb)

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

                                            If you have lcdproc installed and configured already go to Status > Services and stop lcdproc. Now run the command again and the start lcdproc again.

                                            You can't send data to the serial port while lcdproc has it open. The shellcmd package writes to it before lcdproc starts.

                                            Steve

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