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

Specifying System ID on non-Netgate Hardware?

Scheduled Pinned Locked Moved General pfSense Questions
19 Posts 4 Posters 1.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.
  • T
    TheWaterbug
    last edited by Dec 17, 2022, 8:07 AM

    My MTB-2220, purchased from Netgate, but not built by Netgate, identifies itself in pfsense as an "MBT-2220":

    alt text

    But my Protectli FW4C does not really identify itself, as pfsense reports it as just a generic "pfsense" device:

    alt text

    Is there a way to specify/program/enter this value, so that it reports itself accurately?

    1 Reply Last reply Reply Quote 0
    • S
      stephenw10 Netgate Administrator
      last edited by Dec 17, 2022, 10:44 AM

      Not built into pfSense. There is only code to identify Netgate hardware. You could patch it to add something if you really wanted to.

      Steve

      F T 2 Replies Last reply Dec 17, 2022, 11:54 AM Reply Quote 0
      • F
        fireodo @stephenw10
        last edited by Dec 17, 2022, 11:54 AM

        @stephenw10 said in Specifying System ID on non-Netgate Hardware?:

        You could patch it to add something if you really wanted to.

        Interesting! Where is the place/file that can be patched to change that generic entry?

        I wish a nice Weekend,
        fireodo

        Kettop Mi4300YL CPU: i5-4300Y @ 1.60GHz RAM: 8GB Ethernet Ports: 4
        SSD: SanDisk pSSD-S2 16GB (ZFS) WiFi: WLE200NX
        pfsense 2.7.2 CE
        Packages: Apcupsd Cron Iftop Iperf LCDproc Nmap pfBlockerNG RRD_Summary Shellcmd Snort Speedtest System_Patches.

        1 Reply Last reply Reply Quote 0
        • T
          TheWaterbug @stephenw10
          last edited by Dec 17, 2022, 6:57 PM

          @stephenw10

          Thanks. Is this set in the BIOS somewhere? Did Silicom put their ID in there on the units they OEMed for Netgate?

          1 Reply Last reply Reply Quote 0
          • S
            stephenw10 Netgate Administrator
            last edited by stephenw10 Dec 18, 2022, 3:03 PM Dec 18, 2022, 3:03 PM

            It would be in this function:
            https://github.com/pfsense/pfsense/blob/master/src/etc/inc/system.inc#L2546

            Steve

            B T 2 Replies Last reply Dec 18, 2022, 6:03 PM Reply Quote 1
            • B
              bingo600 @stephenw10
              last edited by bingo600 Dec 18, 2022, 6:47 PM Dec 18, 2022, 6:03 PM

              @stephenw10

              He..He
              This is what my Qotom reports

              /root: /bin/kenv -q smbios.system.product
              To be filled by O.E.M.
              /root:
              
              /root:
              /root: sysctl -n hw.model
              Intel(R) Core(TM) i5-5250U CPU @ 1.60GHz
              /root: sysctl -n hw.ncpu
              4
              /root:
              
              /root: /bin/kenv -q smbios.planar.product
              Q3XXG4-P
              /root:
              

              I might make some fun out of

              if (isset($planar_product[0]) && $planar_product[0] == 'Q3XXG4-P') {
              	if (strpos($hw_model, "i5-5250U") !== false) {
              		    return array('name' => 'Q355G4', 'descr' => 'Qotom Q355G4');
              		} else {
              		    return array('name' => 'Q3XXG4', 'descr' => 'Qotom Q3XXG4');
              		}
              		
              	}
              

              Does one have to reroot/reboot to get the above executed ?

              If you find my answer useful - Please give the post a 👍 - "thumbs up"

              pfSense+ 23.05.1 (ZFS)

              QOTOM-Q355G4 Quad Lan.
              CPU  : Core i5 5250U, Ram : 8GB Kingston DDR3LV 1600
              LAN  : 4 x Intel 211, Disk  : 240G SAMSUNG MZ7L3240HCHQ SSD

              1 Reply Last reply Reply Quote 0
              • S
                stephenw10 Netgate Administrator
                last edited by Dec 18, 2022, 6:57 PM

                No the change should be immediate. That code gets run everytime the dashboard is generated, among other things.

                1 Reply Last reply Reply Quote 1
                • T
                  TheWaterbug @stephenw10
                  last edited by TheWaterbug Dec 19, 2022, 6:39 AM Dec 19, 2022, 6:38 AM

                  @stephenw10 said in Specifying System ID on non-Netgate Hardware?:

                  It would be in this function:
                  https://github.com/pfsense/pfsense/blob/master/src/etc/inc/system.inc#L2546

                  Steve

                  Interesting! From that page:

                  	$_gb = exec('/bin/kenv -q smbios.system.product 2>/dev/null', $product);
                  	$_gb = exec('/bin/kenv -q smbios.system.maker 2>/dev/null', $maker);
                  	$_gb = exec('/bin/kenv -q smbios.bios.version 2>/dev/null', $bios);
                  

                  On my my Protectli FW4C, from Diagnostics > Command Prompt:

                  /bin/kenv -q smbios.system.product
                  

                  returns "FW4C"

                  /bin/kenv -q smbios.system.maker
                  

                  returns "Protectli"

                  and

                  /bin/kenv -q smbios.system.version
                  

                  returns "Ver 1.0"

                  So it's definitely possible to determine what box this is.

                  I don't read code very well, but I don't see how that function falls through to "pfsense" if it doesn't match any known string pattern.

                  B 1 Reply Last reply Dec 19, 2022, 2:47 PM Reply Quote 0
                  • S
                    stephenw10 Netgate Administrator
                    last edited by Dec 19, 2022, 12:58 PM

                    That's what the last line is:
                    https://github.com/pfsense/pfsense/blob/master/src/etc/inc/system.inc#L2719

                    T 1 Reply Last reply Dec 19, 2022, 6:19 PM Reply Quote 1
                    • B
                      bingo600
                      last edited by bingo600 Dec 19, 2022, 2:24 PM Dec 19, 2022, 2:24 PM

                      Well it worked out fine 👍 😊

                      b4e611b9-2d63-441f-b07d-d69d3a1e0442-image.png

                      If you find my answer useful - Please give the post a 👍 - "thumbs up"

                      pfSense+ 23.05.1 (ZFS)

                      QOTOM-Q355G4 Quad Lan.
                      CPU  : Core i5 5250U, Ram : 8GB Kingston DDR3LV 1600
                      LAN  : 4 x Intel 211, Disk  : 240G SAMSUNG MZ7L3240HCHQ SSD

                      1 Reply Last reply Reply Quote 1
                      • B
                        bingo600 @TheWaterbug
                        last edited by bingo600 Dec 19, 2022, 3:18 PM Dec 19, 2022, 2:47 PM

                        @thewaterbug said in Specifying System ID on non-Netgate Hardware?:

                        I don't read code very well, but I don't see how that function falls through to "pfsense" if it doesn't match any known string pattern.

                        I would try this

                        27b20a25-ec23-4985-a6c3-41f706372cb5-image.png

                        After the break; , above the case 'apu1':

                        Insert the below code

                        		case 'FW4C':
                        			if ($maker[0] == "Protectli") {
                        				return (array('name' => 'FW4C', 'descr' => 'Protectli FW4C'));
                        				}
                                                        break;
                        

                        The file to edit is /etc/inc/system.inc

                        Make a backup first: I called it system.inc.org

                        /etc/inc: ls -l system.* 
                        -rw-r--r--  1 root  wheel  84020 Dec 19 15:21 system.inc
                        -rw-r--r--  1 root  wheel  83743 Dec 19 15:19 system.inc.org
                        /etc/inc:
                        

                        If you don't know the vi editor, you might not want to do this ....

                        Can nano be installed on a pfSense ?

                        Well - It seems like there is a "Gui Editor" under diagnostic 👍
                        e7d7186b-21ef-4f08-99c3-f018171aeff4-image.png

                        You might be able to do it via that one .... I have not tried it ...

                        *** Warning ***
                        My guess is if you FSCK system.inc up .... The system would NOT be happy !

                        Make sure you have made a Config backup, before playing around.
                        That way you can always restore from "scratch"

                        "Happy hacking"

                        /Bingo

                        If you find my answer useful - Please give the post a 👍 - "thumbs up"

                        pfSense+ 23.05.1 (ZFS)

                        QOTOM-Q355G4 Quad Lan.
                        CPU  : Core i5 5250U, Ram : 8GB Kingston DDR3LV 1600
                        LAN  : 4 x Intel 211, Disk  : 240G SAMSUNG MZ7L3240HCHQ SSD

                        T 1 Reply Last reply Dec 19, 2022, 5:55 PM Reply Quote 1
                        • S
                          stephenw10 Netgate Administrator
                          last edited by Dec 19, 2022, 3:40 PM

                          Just so you're aware (in case you didn't realise 😉 ) it's extremely unlikely this will ever be included upstream. So you would have to add this back after each upgrade. You might want to make it as a patch to make that easier.

                          Steve

                          B 1 Reply Last reply Dec 19, 2022, 5:52 PM Reply Quote 0
                          • B
                            bingo600 @stephenw10
                            last edited by bingo600 Dec 19, 2022, 5:55 PM Dec 19, 2022, 5:52 PM

                            @stephenw10
                            If this was for me 😊

                            it's extremely unlikely this will ever be included upstream

                            I didn't even consider it a possibility, to get it "upstreamed".

                            Frankly i couldn't care less, if my system reported the "default"

                            b32929d8-3182-4502-9ce5-17f57451e168-image.png

                            VS - The "patched" version.

                            5d1ee539-3079-4f1a-bcff-ce30f176340c-image.png

                            I know what models (HW) that hide behind my firewalls , don't even need to look at the gui.

                            I took it as a fun exercise, to learn a bit about the pfSense "inners" , and learn that php looks somewhat like "C"

                            But it was fun to do (thnx) 👍

                            /Bingo

                            If you find my answer useful - Please give the post a 👍 - "thumbs up"

                            pfSense+ 23.05.1 (ZFS)

                            QOTOM-Q355G4 Quad Lan.
                            CPU  : Core i5 5250U, Ram : 8GB Kingston DDR3LV 1600
                            LAN  : 4 x Intel 211, Disk  : 240G SAMSUNG MZ7L3240HCHQ SSD

                            T 1 Reply Last reply Dec 19, 2022, 6:23 PM Reply Quote 1
                            • T
                              TheWaterbug @bingo600
                              last edited by Dec 19, 2022, 5:55 PM

                              @bingo600 said in Specifying System ID on non-Netgate Hardware?:

                              case 'FW4C':
                              if ($maker[0] == "Protectli") {
                              return (array('name' => 'FW4C', 'descr' => 'Protectli FW4C'));
                              }
                              break

                              Success!!

                              75c248bc-fb02-4634-98ea-49adb19b30c3-image.png

                              Thanks!

                              B 1 Reply Last reply Dec 19, 2022, 5:58 PM Reply Quote 0
                              • B
                                bingo600 @TheWaterbug
                                last edited by bingo600 Dec 19, 2022, 5:58 PM Dec 19, 2022, 5:58 PM

                                @thewaterbug
                                Glad you could use it ... I had "fun" too.

                                Remember the "patch/mod" will disappear when you (pfSense) upgrade the system.

                                If you find my answer useful - Please give the post a 👍 - "thumbs up"

                                pfSense+ 23.05.1 (ZFS)

                                QOTOM-Q355G4 Quad Lan.
                                CPU  : Core i5 5250U, Ram : 8GB Kingston DDR3LV 1600
                                LAN  : 4 x Intel 211, Disk  : 240G SAMSUNG MZ7L3240HCHQ SSD

                                1 Reply Last reply Reply Quote 0
                                • T
                                  TheWaterbug @stephenw10
                                  last edited by TheWaterbug Dec 19, 2022, 6:20 PM Dec 19, 2022, 6:19 PM

                                  @stephenw10 said in Specifying System ID on non-Netgate Hardware?:

                                  That's what the last line is:
                                  https://github.com/pfsense/pfsense/blob/master/src/etc/inc/system.inc#L2719

                                  Interesting. It might be more useful if the fall-through case returned:

                                  smbios.system.maker . " " . smbios.system.product
                                  

                                  or something similar that didn't rely on parsing and matching product-specific strings.

                                  B 1 Reply Last reply Dec 19, 2022, 6:26 PM Reply Quote 0
                                  • T
                                    TheWaterbug @bingo600
                                    last edited by Dec 19, 2022, 6:23 PM

                                    @bingo600 said in Specifying System ID on non-Netgate Hardware?:

                                    I know what models (HW) that hide behind my firewalls , don't even need to look at the gui.
                                    /Bingo

                                    In most cases I do, too, because I theme each installation differently.

                                    But in this particular case I've been swapping in an APU, an SG-1100, an MBT-2220, and a FW4C amongst 2 different locations, and sometimes 3 different units in 1 location all within 20 minutes, as I'm doing some IPSec throughput comparisons among different hardware. Since I'm uploading the same (or derived from the same) config.xml to different hardware, they look the same, and it would be nice to have explicit confirmation of what model I'm looking at.

                                    Yes, the CPU info, etc., does tell me that, but having "FW4C" is a much shorter way of identifying this particular box.

                                    1 Reply Last reply Reply Quote 0
                                    • B
                                      bingo600 @TheWaterbug
                                      last edited by Dec 19, 2022, 6:26 PM

                                      @thewaterbug said in Specifying System ID on non-Netgate Hardware?:

                                      @stephenw10 said in Specifying System ID on non-Netgate Hardware?:

                                      That's what the last line is:
                                      https://github.com/pfsense/pfsense/blob/master/src/etc/inc/system.inc#L2719

                                      Interesting. It might be more useful if the fall-through case returned:

                                      smbios.system.maker . " " . smbios.system.product
                                      

                                      or something similar that didn't rely on parsing and matching product-specific strings.

                                      I like it the way it is right now

                                      As can be seen here
                                      https://forum.netgate.com/post/1075848

                                      My "Box name" would contain : To be filled by O.E.M.

                                      Since i got
                                      /root: /bin/kenv -q smbios.system.product
                                      To be filled by O.E.M.

                                      That would really "hurt" my eyes ...

                                      If you find my answer useful - Please give the post a 👍 - "thumbs up"

                                      pfSense+ 23.05.1 (ZFS)

                                      QOTOM-Q355G4 Quad Lan.
                                      CPU  : Core i5 5250U, Ram : 8GB Kingston DDR3LV 1600
                                      LAN  : 4 x Intel 211, Disk  : 240G SAMSUNG MZ7L3240HCHQ SSD

                                      1 Reply Last reply Reply Quote 1
                                      • S
                                        stephenw10 Netgate Administrator
                                        last edited by Dec 19, 2022, 7:45 PM

                                        Yeah, it returns 'pfSense' there intentionally. Anything else would be uncontrolled if it's not hardware we know about.

                                        1 Reply Last reply Reply Quote 0
                                        19 out of 19
                                        • First post
                                          19/19
                                          Last post
                                        Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.
                                          This community forum collects and processes your personal information.
                                          consent.not_received