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

Scripting the behaviour of Status --> Interfaces --> DHCP renew button

Scheduled Pinned Locked Moved General pfSense Questions
42 Posts 4 Posters 7.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.
  • B
    bradtpt @jly2680
    last edited by Aug 1, 2019, 8:57 AM

    @jly2680 unfortunately no.

    On other client sites I've used a netgear nighthawk in bridge mode for this and it's a solid solution... although for that to work you need to make pfsense override the subnet mask the dhcp passthrough from the nighthawk issues, it issues a /32 and needs to be changed to a /24 otherwise it can't contact the default gateway to actually get traffic out. To do this you need to add "supersede subnet-mask 255.255.255.0" to the "DHCP Option Modifiers" under the "Lease Requirements and Requests" portion of your interface connected to the nighthawk.

    J 1 Reply Last reply Aug 15, 2019, 11:30 AM Reply Quote 0
    • J
      jly2680
      last edited by Aug 7, 2019, 4:37 PM

      i got my e3372 and switch its firmware to stick mode..but my pfsense is based on 2.3.5 running on alix 2d13..I check the dmesg when I put my modem:

      ugen1.2: <HUAWEIMOBILE> at usbus1 (disconnected)
      u3g0: at uhub1, port 1, addr 2 (disconnected)
      ugen1.2: <HUAWEIMOBILE> at usbus1
      u3g0: <HUAWEIMOBILE HUAWEIMOBILE, class 0/0, rev 2.10/1.02, addr 2> on usbus1
      u3g0: Found 2 ports.
      
      
      
      

      no ue0 device at /dev .. doesnt show the NCM interface..Can I load the NCM driver using 2.3.5??

      B 1 Reply Last reply Aug 7, 2019, 11:52 PM Reply Quote 0
      • S
        stephenw10 Netgate Administrator
        last edited by Aug 7, 2019, 6:28 PM

        Check the USB config output to see if it actually presents as an Ethernet interface there.

        Looks like u3g found ppp interfaces though, you can probably connect that way.

        Steve

        1 Reply Last reply Reply Quote 0
        • J
          jly2680
          last edited by Aug 7, 2019, 6:40 PM

          [2.3.5-RELEASE][root@pfSense.local]/root: usbconfig -d ugen1.2 dump_all_config_d esc
          ugen1.2: <HUAWEIMOBILE HUAWEIMOBILE> at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (2mA)

          Configuration index 0

          bLength = 0x0009
          bDescriptorType = 0x0002
          wTotalLength = 0x00af
          bNumInterfaces = 0x0003
          bConfigurationValue = 0x0001
          iConfiguration = 0x0000  <no string>
          bmAttributes = 0x0080
          bMaxPower = 0x0001
          
          Interface 0
            bLength = 0x0009
            bDescriptorType = 0x0004
            bInterfaceNumber = 0x0000
            bAlternateSetting = 0x0000
            bNumEndpoints = 0x0002
            bInterfaceClass = 0x00ff  <Vendor specific>
            bInterfaceSubClass = 0x0003
            bInterfaceProtocol = 0x0012
            iInterface = 0x0000  <no string>
          
            Additional Descriptor
          
            bLength = 0x05
            bDescriptorType = 0x24
            bDescriptorSubType = 0x00
             RAW dump:
             0x00 | 0x05, 0x24, 0x00, 0x10, 0x01
          
          
            Additional Descriptor
          
            bLength = 0x04
            bDescriptorType = 0x24
            bDescriptorSubType = 0x02
             RAW dump:
             0x00 | 0x04, 0x24, 0x02, 0x02
          
          
            Additional Descriptor
          
            bLength = 0x05
            bDescriptorType = 0x24
            bDescriptorSubType = 0x01
             RAW dump:
             0x00 | 0x05, 0x24, 0x01, 0x00, 0x00
          
          
            Additional Descriptor
          
            bLength = 0x05
            bDescriptorType = 0x24
            bDescriptorSubType = 0x06
             RAW dump:
             0x00 | 0x05, 0x24, 0x06, 0x00, 0x00
          
          
           Endpoint 0
              bLength = 0x0007
              bDescriptorType = 0x0005
              bEndpointAddress = 0x0081  <IN>
              bmAttributes = 0x0002  <BULK>
              wMaxPacketSize = 0x0200
              bInterval = 0x0000
              bRefresh = 0x0000
              bSynchAddress = 0x0000
          
           Endpoint 1
              bLength = 0x0007
              bDescriptorType = 0x0005
              bEndpointAddress = 0x0001  <OUT>
              bmAttributes = 0x0002  <BULK>
              wMaxPacketSize = 0x0200
              bInterval = 0x0000
              bRefresh = 0x0000
              bSynchAddress = 0x0000
          
          
          Interface 1
            bLength = 0x0009
            bDescriptorType = 0x0004
            bInterfaceNumber = 0x0001
            bAlternateSetting = 0x0000
            bNumEndpoints = 0x0003
            bInterfaceClass = 0x00ff  <Vendor specific>
            bInterfaceSubClass = 0x0003
            bInterfaceProtocol = 0x0010
            iInterface = 0x0000  <no string>
          
            Additional Descriptor
          
            bLength = 0x05
            bDescriptorType = 0x24
            bDescriptorSubType = 0x00
             RAW dump:
             0x00 | 0x05, 0x24, 0x00, 0x10, 0x01
          
          
            Additional Descriptor
          
            bLength = 0x04
            bDescriptorType = 0x24
            bDescriptorSubType = 0x02
             RAW dump:
             0x00 | 0x04, 0x24, 0x02, 0x02
          
          
            Additional Descriptor
          
            bLength = 0x05
            bDescriptorType = 0x24
            bDescriptorSubType = 0x01
             RAW dump:
             0x00 | 0x05, 0x24, 0x01, 0x00, 0x01
          
          
            Additional Descriptor
          
            bLength = 0x05
            bDescriptorType = 0x24
            bDescriptorSubType = 0x06
             RAW dump:
             0x00 | 0x05, 0x24, 0x06, 0x00, 0x00
          
          
           Endpoint 0
              bLength = 0x0007
              bDescriptorType = 0x0005
              bEndpointAddress = 0x0083  <IN>
              bmAttributes = 0x0003  <INTERRUPT>
              wMaxPacketSize = 0x000a
              bInterval = 0x0009
              bRefresh = 0x0000
              bSynchAddress = 0x0000
          
           Endpoint 1
              bLength = 0x0007
              bDescriptorType = 0x0005
              bEndpointAddress = 0x0082  <IN>
              bmAttributes = 0x0002  <BULK>
              wMaxPacketSize = 0x0200
              bInterval = 0x0000
              bRefresh = 0x0000
              bSynchAddress = 0x0000
          
           Endpoint 2
              bLength = 0x0007
              bDescriptorType = 0x0005
              bEndpointAddress = 0x0002  <OUT>
              bmAttributes = 0x0002  <BULK>
              wMaxPacketSize = 0x0200
              bInterval = 0x0000
              bRefresh = 0x0000
              bSynchAddress = 0x0000
          
          
          Interface 2
            bLength = 0x0009
            bDescriptorType = 0x0004
            bInterfaceNumber = 0x0002
            bAlternateSetting = 0x0000
            bNumEndpoints = 0x0001
            bInterfaceClass = 0x00ff  <Vendor specific>
            bInterfaceSubClass = 0x0003
            bInterfaceProtocol = 0x0016
            iInterface = 0x0007  <NCM Network Control Model>
          
            Additional Descriptor
          
            bLength = 0x05
            bDescriptorType = 0x24
            bDescriptorSubType = 0x00
             RAW dump:
             0x00 | 0x05, 0x24, 0x00, 0x10, 0x01
          
          
            Additional Descriptor
          
            bLength = 0x06
            bDescriptorType = 0x24
            bDescriptorSubType = 0x1a
             RAW dump:
             0x00 | 0x06, 0x24, 0x1a, 0x00, 0x01, 0x1f
          
          
            Additional Descriptor
          
            bLength = 0x0d
            bDescriptorType = 0x24
            bDescriptorSubType = 0x0f
             RAW dump:
             0x00 | 0x0d, 0x24, 0x0f, 0x09, 0x0f, 0x00, 0x00, 0x00,
             0x08 | 0xea, 0x05, 0x03, 0x00, 0x01
          
          
            Additional Descriptor
          
            bLength = 0x05
            bDescriptorType = 0x24
            bDescriptorSubType = 0x06
             RAW dump:
             0x00 | 0x05, 0x24, 0x06, 0x02, 0x02
          
          
           Endpoint 0
              bLength = 0x0007
              bDescriptorType = 0x0005
              bEndpointAddress = 0x0085  <IN>
              bmAttributes = 0x0003  <INTERRUPT>
              wMaxPacketSize = 0x0010
              bInterval = 0x0005
              bRefresh = 0x0000
              bSynchAddress = 0x0000
          
          
          Interface 2 Alt 1
            bLength = 0x0009
            bDescriptorType = 0x0004
            bInterfaceNumber = 0x0002
            bAlternateSetting = 0x0001
            bNumEndpoints = 0x0003
            bInterfaceClass = 0x00ff  <Vendor specific>
            bInterfaceSubClass = 0x0003
            bInterfaceProtocol = 0x0016
            iInterface = 0x0008  <CDC Network Data>
          
           Endpoint 0
              bLength = 0x0007
              bDescriptorType = 0x0005
              bEndpointAddress = 0x0085  <IN>
              bmAttributes = 0x0003  <INTERRUPT>
              wMaxPacketSize = 0x0010
              bInterval = 0x0005
              bRefresh = 0x0000
              bSynchAddress = 0x0000
          
           Endpoint 1
              bLength = 0x0007
              bDescriptorType = 0x0005
              bEndpointAddress = 0x0084  <IN>
              bmAttributes = 0x0002  <BULK>
              wMaxPacketSize = 0x0200
              bInterval = 0x0000
              bRefresh = 0x0000
              bSynchAddress = 0x0000
          
           Endpoint 2
              bLength = 0x0007
              bDescriptorType = 0x0005
              bEndpointAddress = 0x0003  <OUT>
              bmAttributes = 0x0002  <BULK>
              wMaxPacketSize = 0x0200
              bInterval = 0x0000
              bRefresh = 0x0000
              bSynchAddress = 0x0000
          
          1 Reply Last reply Reply Quote 0
          • S
            stephenw10 Netgate Administrator
            last edited by Aug 7, 2019, 6:49 PM

            Looks promising. Can you test it on something 64bit?

            Or boot FreeBSD 11.3 on the ALIX maybe?

            You might get it working in 2.3.5 with the right FreeBSD 10 kernel module. Really you should upgrade though. 2.3.X is unmaintained and should be considered insecure as a result.

            Steve

            J 2 Replies Last reply Aug 7, 2019, 7:01 PM Reply Quote 0
            • J
              jly2680 @stephenw10
              last edited by Aug 7, 2019, 7:01 PM

              @stephenw10 said in Scripting the behaviour of Status --> Interfaces --> DHCP renew button:

              Looks promising. Can you test it on something 64bit?

              Or boot FreeBSD 11.3 on the ALIX maybe?

              You might get it working in 2.3.5 with the right FreeBSD 10 kernel module. Really you should upgrade though. 2.3.X is unmaintained and should be considered insecure as a result.

              Steve

              I would prefer loading kernel module on 2.3.5,, but I dont have any links to dowload modules

              1 Reply Last reply Reply Quote 0
              • S
                stephenw10 Netgate Administrator
                last edited by Aug 7, 2019, 7:18 PM

                Get them from the corresponding FreeBSD iso. 10.3 in this case.

                https://docs.netgate.com/pfsense/en/latest/releases/versions-of-pfsense-and-freebsd.html

                Steve

                1 Reply Last reply Reply Quote 0
                • J
                  jly2680 @stephenw10
                  last edited by jly2680 Aug 7, 2019, 8:34 PM Aug 7, 2019, 8:00 PM

                  @stephenw10 said in Scripting the behaviour of Status --> Interfaces --> DHCP renew button:

                  Looks promising. Can you test it on something 64bit?

                  Or boot FreeBSD 11.3 on the ALIX maybe?

                  You might get it working in 2.3.5 with the right FreeBSD 10 kernel module. Really you should upgrade though. 2.3.X is unmaintained and should be considered insecure as a result.

                  Steve

                  @stephenw10 said in Scripting the behaviour of Status --> Interfaces --> DHCP renew button:

                  Get them from the corresponding FreeBSD iso. 10.3 in this case.

                  https://docs.netgate.com/pfsense/en/latest/releases/versions-of-pfsense-and-freebsd.html

                  Steve

                  @stephenw10 said in Scripting the behaviour of Status --> Interfaces --> DHCP renew button:

                  Get them from the corresponding FreeBSD iso. 10.3 in this case.

                  https://docs.netgate.com/pfsense/en/latest/releases/versions-of-pfsense-and-freebsd.html

                  Steve

                  I did try it on vmware lastest pfsense , NCM and ue0 interface showed..can you guide which module are needed to load on 2.3.5??

                  But when I load Freebsd 10.3 also on vmware,,no ncm and ue0 int showed,,

                  1 Reply Last reply Reply Quote 0
                  • S
                    stephenw10 Netgate Administrator
                    last edited by Aug 7, 2019, 9:28 PM

                    @jly2680 said in Scripting the behaviour of Status --> Interfaces --> DHCP renew button:

                    But when I load Freebsd 10.3 also on vmware,,no ncm and ue0 int showed,,

                    That doesn't bode well. It's probably just not supported there then.

                    You can use kldstat to see what kernel modules are being used.

                    Steve

                    1 Reply Last reply Reply Quote 0
                    • B
                      bradtpt @jly2680
                      last edited by bradtpt Aug 7, 2019, 11:56 PM Aug 7, 2019, 11:52 PM

                      @jly2680 said in Scripting the behaviour of Status --> Interfaces --> DHCP renew button:

                      i got my e3372 and switch its firmware to stick mode..but my pfsense is based on 2.3.5 running on alix 2d13..I check the dmesg when I put my modem:

                      ugen1.2: <HUAWEIMOBILE> at usbus1 (disconnected)
                      u3g0: at uhub1, port 1, addr 2 (disconnected)
                      ugen1.2: <HUAWEIMOBILE> at usbus1
                      u3g0: <HUAWEIMOBILE HUAWEIMOBILE, class 0/0, rev 2.10/1.02, addr 2> on usbus1
                      u3g0: Found 2 ports.
                      
                      
                      
                      

                      no ue0 device at /dev .. doesnt show the NCM interface..Can I load the NCM driver using 2.3.5??

                      Yes you can, you need to use the setport command from the AT command set for the modem to enable the NCM interface. I have another post with some details thrown in contained here: https://forum.netgate.com/topic/137637/huawei-e3372-will-not-reconnect-ppp-after-manual-disconnect-under-status-interfaces

                      In summary what you need to do is jump into the console and talk directly to the modem via the emulated serial port by running: cu -l /dev/cuaU0.0 or cu -l /dev/cuaU0.1 depending on which port it created and wants to talk on. Once in there run the command AT^SETPORT="FF;10,12,16" and then AT^RESET to reboot the stick. After having done this once, from herein the stick should present the NCM interface which is defined by the 16 in the command above.

                      PS - I can confirm this works on 2.3.x as I had a client on that version a while ago and utilized ones of these.

                      J 1 Reply Last reply Aug 8, 2019, 12:37 PM Reply Quote 1
                      • S
                        stephenw10 Netgate Administrator
                        last edited by Aug 8, 2019, 11:40 AM

                        Nice!

                        1 Reply Last reply Reply Quote 0
                        • J
                          jly2680 @bradtpt
                          last edited by Aug 8, 2019, 12:37 PM

                          @bradtpt said in Scripting the behaviour of Status --> Interfaces --> DHCP renew button:

                          @jly2680 said in Scripting the behaviour of Status --> Interfaces --> DHCP renew button:

                          i got my e3372 and switch its firmware to stick mode..but my pfsense is based on 2.3.5 running on alix 2d13..I check the dmesg when I put my modem:

                          ugen1.2: <HUAWEIMOBILE> at usbus1 (disconnected)
                          u3g0: at uhub1, port 1, addr 2 (disconnected)
                          ugen1.2: <HUAWEIMOBILE> at usbus1
                          u3g0: <HUAWEIMOBILE HUAWEIMOBILE, class 0/0, rev 2.10/1.02, addr 2> on usbus1
                          u3g0: Found 2 ports.
                          
                          
                          
                          

                          no ue0 device at /dev .. doesnt show the NCM interface..Can I load the NCM driver using 2.3.5??

                          Yes you can, you need to use the setport command from the AT command set for the modem to enable the NCM interface. I have another post with some details thrown in contained here: https://forum.netgate.com/topic/137637/huawei-e3372-will-not-reconnect-ppp-after-manual-disconnect-under-status-interfaces

                          In summary what you need to do is jump into the console and talk directly to the modem via the emulated serial port by running: cu -l /dev/cuaU0.0 or cu -l /dev/cuaU0.1 depending on which port it created and wants to talk on. Once in there run the command AT^SETPORT="FF;10,12,16" and then AT^RESET to reboot the stick. After having done this once, from herein the stick should present the NCM interface which is defined by the 16 in the command above.

                          PS - I can confirm this works on 2.3.x as I had a client on that version a while ago and utilized ones of these.

                          [2.3.5-RELEASE][root@pfSense.local]/root: cu -l /dev/cuaU0.0
                          Connected
                          
                          Manufacturer: huawei
                          Model: E3372
                          Revision: 21.200.07.00.805
                          IMEI: 866785033259671
                          +GCAP: +CGSM,+DS,+ES
                          
                          OK
                          
                          OK
                          
                          OK
                          ugen1.2: <HUAWEIMOBILE> at usbus1 (disconnected)
                          u3g0: at uhub1, port 1, addr 2 (disconnected)
                          [2.3.5-RELEASE][root@pfSense.local]/root: ugen1.2: <HUAWEIMOBILE> at usbus1
                          u3g0: <HUAWEIMOBILE HUAWEIMOBILE, class 0/0, rev 2.10/1.02, addr 2> on usbus1
                          u3g0: Found 2 ports.
                          
                          
                          

                          Same no ncm interface after issuing these commands..

                          1 Reply Last reply Reply Quote 0
                          • B
                            bradtpt
                            last edited by Aug 8, 2019, 1:01 PM

                            Ok can you show me the output of the following:

                            cu -l /dev/cuaU0.0
                            AT^SETPORT=?
                            AT^SETPORT?

                            Unfortunately I don't have one with me to check the config directly, however have you modeswitched the device out of mass storage mode? If not, you'll need to download and install usbmodeswitch by running this (from memory 2.3.x is on FreeBSD10 so this should be the correct version):
                            pkg add http://pkg.freebsd.org/FreeBSD:10:amd64/release_4/All/usb_modeswitch-2.5.0.txz
                            and then running this:
                            /usr/local/sbin/usb_modeswitch -J -v0x12d1 -p0x1f01

                            Running that will cause the device to drop out of mass storage mode and should present the interfaces. Let us know how you go. If I had a stick with me I'd go through the motions and post it up for you but unfortunately I can only go off some notes I have here from the last one I did quite a while back.

                            J 1 Reply Last reply Aug 8, 2019, 1:47 PM Reply Quote 0
                            • J
                              jly2680 @bradtpt
                              last edited by jly2680 Aug 8, 2019, 1:52 PM Aug 8, 2019, 1:47 PM

                              [2.3.5-RELEASE][root@pfSense.local]/root: cu -l /dev/cuaU0.0
                              Connected
                              
                              ERROR
                              
                              ^SETPORT:FF;10,12,16
                              
                              OK
                              
                              
                              

                              Issuing this AT^SETPORT=? command got an error answer from modem..here's the message after usbmodeswitch

                              [2.3.5-RELEASE][root@pfSense.local]/root: usb_modeswitch -J -v0x12d1 -p0x1506   Look for default devices ...
                                 product ID matched
                               Found devices in default mode (1)
                              Access device 002 on bus 001
                              Get the current device configuration ...
                              Current configuration number is 1
                              Use interface number 0
                               with class 255
                              Error: can't use storage command in MessageContent with interface 0; interface class is 255, expected 8. Abort
                              
                              
                              
                              echo 'AT^NDISDUP=1,1,"jawalnet.com.sa"' > /dev/cuaU0.1
                              
                              

                              this modem command gave me a solid blue light on the modem,,but no ue0 or cde interface showed up..

                              1 Reply Last reply Reply Quote 0
                              • B
                                bradtpt
                                last edited by Aug 8, 2019, 2:07 PM

                                The error from usbmodeswitch makes sense now I think about it, you have the stick firmware loaded so as such the device when inserted won't present as a mass storage device. I have an e3372 with the stick firmware loaded at work, if I get a chance tomorrow I'll fire up a machine with 2.3.5 and see if I can make it work. As I'm not familiar with your Alix hardware the closest I can go to replicating your environment would be to install an archived version of pfSense-CE-memstick-2.3.3-RELEASE-amd64.img I have here on an amd machine. Is your alix similar or a totally different platform?

                                J 1 Reply Last reply Aug 8, 2019, 2:29 PM Reply Quote 0
                                • J
                                  jly2680 @bradtpt
                                  last edited by Aug 8, 2019, 2:29 PM

                                  @bradtpt said in Scripting the behaviour of Status --> Interfaces --> DHCP renew button:

                                  The error from usbmodeswitch makes sense now I think about it, you have the stick firmware loaded so as such the device when inserted won't present as a mass storage device. I have an e3372 with the stick firmware loaded at work, if I get a chance tomorrow I'll fire up a machine with 2.3.5 and see if I can make it work. As I'm not familiar with your Alix hardware the closest I can go to replicating your environment would be to install an archived version of pfSense-CE-memstick-2.3.3-RELEASE-amd64.img I have here on an amd machine. Is your alix similar or a totally different platform?

                                  Oh thanks..its an old alix 2d13 i386..I think 2.3.5 doesnt work with 3372 in stick mode

                                  1 Reply Last reply Reply Quote 0
                                  • B
                                    bradtpt
                                    last edited by bradtpt Aug 8, 2019, 2:33 PM Aug 8, 2019, 2:31 PM

                                    Ahh ok, unfortunately netgate don't leave old versions online, I'll have to go digging and see if I can find a i386 installer kicking around somewhere. If you have a link or can dropbox it to me or similar let me know.
                                    -edit- I just found this: https://mirrors.xmission.com/pfsense/downloads/pfSense-CE-2.3.5-RELEASE-i386.iso.gz and this: https://mirrors.xmission.com/pfsense/downloads/pfSense-CE-memstick-2.3.5-RELEASE-i386.img.gz so it looks like we're in luck.

                                    1 Reply Last reply Reply Quote 0
                                    • S
                                      stephenw10 Netgate Administrator
                                      last edited by Aug 9, 2019, 1:34 PM

                                      I would be surprised if there's any difference between the 32bit and 64bit versions as far as this modem is concerned. The available tools should be identical.

                                      Steve

                                      J 1 Reply Last reply Aug 9, 2019, 1:47 PM Reply Quote 0
                                      • J
                                        jly2680 @stephenw10
                                        last edited by stephenw10 Aug 10, 2019, 3:56 PM Aug 9, 2019, 1:47 PM

                                        @stephenw10 said in Scripting the behaviour of Status --> Interfaces --> DHCP renew button:

                                        I would be surprised if there's any difference between the 32bit and 64bit versions as far as this modem is concerned. The available tools should be identical.

                                        Steve

                                        I test this modem through vm pfsense 2.4 , ue0 and cdc showed up..I wonder if there is any new patch from 2.4 if_cdce.ko that was not included in 2.3.5

                                        can you look at this: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=192345

                                        1 Reply Last reply Reply Quote 0
                                        • S
                                          stephenw10 Netgate Administrator
                                          last edited by Aug 9, 2019, 11:28 PM

                                          There are many, many differences between FreeBSD 10.3 and 11.1 which is what you're comparing there.

                                          That link is broken.

                                          Steve

                                          J 1 Reply Last reply Aug 10, 2019, 3:39 PM Reply Quote 0
                                          24 out of 42
                                          • First post
                                            24/42
                                            Last post
                                          Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.
                                            This community forum collects and processes your personal information.
                                            consent.not_received