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

    PfSense on a Celestix S-X MSA 4000

    Scheduled Pinned Locked Moved Hardware
    61 Posts 17 Posters 22.0k 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.
    • H
      HammyHavoc
      last edited by

      Waiting on this too, would be great if we could get it working.

      Also, anybody know how to make this thing any more quiet? Different fans? Mulling over swapping out the motherboard, just not sure how the daughter board of NICs connects.

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

        Has anybody gotten the screens to work under pfSense? I just picked one up, got it installed, and would love for the LCD / Jog to do something other than –------------ SYSTEM READY -------------

        1 Reply Last reply Reply Quote 0
        • C
          cii
          last edited by

          @yeyus:

          Got it working!

          Hi yeyus,

          Would it be possible to post the code you used to get the display working please?

          Thanks!

          1 Reply Last reply Reply Quote 0
          • C
            cii
            last edited by

            @twisted2k3:

            The alert LED is GPIO. Here's the linux source. Please share back if anyone can get it to work on FreeBSD.

            Hi twisted2k3,

            How did you determine the IOADDR (base address?) of the GPIO controller?  I am trying to recompile for Linux with an WSA-4200 which has a different motherboard to the MSA…

            Thanks!

            1 Reply Last reply Reply Quote 0
            • K
              kendalja
              last edited by

              Sorry to bring back an older thread but did you guys ever get this working?

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

                Yeah so in Linux it is recognised and creates /dev/hidraw0. That doesn't happen in FreeBSD so you would need to address the USB device directly or create some other driver.

                The GPIO LED is probably controllable though.

                Steve

                1 Reply Last reply Reply Quote 0
                • K
                  kendalja
                  last edited by

                  I was able to find this out there not sure if it would help:

                  https://github.com/camerongray1515/Celestix-Scorpio-X-LCD

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

                    Unfortunately it doesn't. It still uses the same Linux driver:

                    def lcd_display(message, line=1):
                        message = str(message)
                        line_selection = "\x00" if line == 1 else "\x01"
                        preamble = "\x02\x00\x00{0}\x28\x00\x00\x00".format(line_selection)
                        endpad = "\x20"*(40-len(message))
                    
                        data = preamble + message + endpad
                        with open("/dev/hidraw0", "w") as lcd:
                    lcd.write(data)
                    

                    Addresses /dev/hidraw0.

                    Interesting that that driver is in VyOS though…. if it's a standard Linux driver we might be able to see some clues.

                    Steve

                    1 Reply Last reply Reply Quote 0
                    • K
                      kendalja
                      last edited by

                      dmesg on system yields:

                      ukbd0: <vendor 0="" 2="" 0x0cb6="" keyboard="" +="" lcd,="" class="" 0,="" rev="" 1.10="" 1.00,="" addr="">on usbus1</vendor>

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

                        Looks like there is something testable with the information published this far.

                        The Python code shows a sequence of hex codes

                        The device is known

                        The BSD shell has the printf built-in, and it accepts codes on octal format.

                        So, to hexadecimal 0x20 becomes octal \40

                        Try something like this:

                        printf "\02\00\00\61\50\00\00\00Some Message" > /dev/ukbd0
                        

                        Try this for line 2:

                        printf "\02\00\00\62\50\00\00\00Some Message" > /dev/ukbd0
                        
                        1 Reply Last reply Reply Quote 0
                        • K
                          kendalja
                          last edited by

                          So something interesting happened. I rebooted the machine and now dmesg shows:

                          ukbd1: <vendor 0="" 2="" 0x0cb6="" keyboard="" +="" lcd,="" class="" 0,="" rev="" 1.10="" 1.00,="" addr="">on usbus1

                          This is what I get while running the printf command

                          [2.3.5-RELEASE][root@pfSense.geek.local]/: printf "\02\00\00\61\50\00\00\00Some Message" > /dev/ukbd1
                          /dev/ukbd1: Device busy.</vendor>

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

                            Hmm, that's not good. Changing device names makes it that much harder to work with even we could get it to accept any input.  :-\

                            Steve

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

                              Good reading here:

                              https://www.freebsd.org/cgi/man.cgi?query=ukbd&sektion=4

                              Seems like we would need that character device. Once it shows as /dev/kbd1, that printf should be directed to it. Worth a try…

                              1 Reply Last reply Reply Quote 0
                              • K
                                kendalja
                                last edited by

                                @fmertz:

                                Good reading here:

                                https://www.freebsd.org/cgi/man.cgi?query=ukbd&sektion=4

                                Seems like we would need that character device. Once it shows as /dev/kbd1, that printf should be directed to it. Worth a try…

                                I’m relatively new to pfsense here and have read that. How would I go about compiling that in the kernel and config to test? May need a little guidance here but looks like we’re getting somewhere here!

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

                                  Actually, looking at the Linux device, it suggests it is a raw device. Maybe the character device is not needed.

                                  Maybe it needs to be initialized read/write:

                                  exec 3<> /dev/ukbd1
                                  
                                  1 Reply Last reply Reply Quote 0
                                  • K
                                    kendalja
                                    last edited by

                                    @fmertz:

                                    Actually, looking at the Linux device, it suggests it is a raw device. Maybe the character device is not needed.

                                    Maybe it needs to be initialized read/write:

                                    exec 3<> /dev/ukbd1
                                    

                                    I'll give this a shot when I get home and report back!

                                    1 Reply Last reply Reply Quote 0
                                    • K
                                      kendalja
                                      last edited by

                                      @fmertz:

                                      Actually, looking at the Linux device, it suggests it is a raw device. Maybe the character device is not needed.

                                      Maybe it needs to be initialized read/write:

                                      exec 3<> /dev/ukbd1
                                      

                                      [2.3.5-RELEASE][root@pfSense.geek.local]/: exec 3<> /dev/ukbd1
                                      Missing name for redirect.

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