Navigation

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

    Useful 3G modem 'mode switching' script

    General pfSense Questions
    4
    52
    28553
    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.
    • stephenw10
      stephenw10 Netgate Administrator last edited by

      You have a link to the package?

      Steve

      1 Reply Last reply Reply Quote 0
      • J
        jamesc last edited by

        http://www.draisberghof.de/usb_modeswitch/usb-modeswitch-data-20120120.tar.bz2

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

          Ah OK, that is a collection of data for all supported modems rather than something specific to yours.
          Does that not get installed with the port anyway?
          I'm going to have to do some reading/testing…..

          Steve

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

            Hmm OK so it looks like under Linux usb_modeswitch ties into the usb subsystem and will automatically recognise devices as they are plugged in and switch them. FreeBSD has a completely different system so none of the automatic part is included in the port.

            In FreeBSD you will have to call it manually either with the required parameters in the command line or pointing at a file that contains them.
            That's not a problem we can easily make the script run at boot time.

            So what is your modem? Specifically what are the VID and PID?

            Steve

            1 Reply Last reply Reply Quote 0
            • J
              jamesc last edited by

              That doesnt sound too painful, the script would need to be called at startup before pfSense did its ppp dial.

              My modem is a ZTE 636, i also have a Huawei E220 and vodafone K3565 for further testing. Im away til Sunday so dont have access to my test environment but im still checking the forum via my iPhone :-)

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

                Ok, to confirm we really need the VID and PID but according to the device_reference.txt:

                ZTE MF622 (aka "Onda MDC502HS")

                ZTE MF626

                ZTE MF628+ (tested version from Telia / Sweden)

                ZTE MF633

                ZTE MF636 (aka "Telstra / BigPond 7.2 Mobile Card")

                ZTE MF637

                and probably others not listed here

                Contributor: Joakim Wennergren and others

                DefaultVendor=  0x19d2
                DefaultProduct= 0x2000

                TargetVendor=  0x19d2
                TargetProduct=  0x0031

                MessageContent="5553424312345678000000000000061e000000000000000000000000000000"
                MessageContent2="5553424312345679000000000000061b000000020000000000000000000000"

                NeedResponse=1

                It says to not use the reference file directly, perhaps because it's quite large, so create a new file with the above lines in. Hope!  ;)

                Steve

                1 Reply Last reply Reply Quote 0
                • J
                  jamesc last edited by

                  Cheers Steve, it kinda makes sense now!  Were you able to find more documentation on the port, i.e you mentioned that a manual approach is required for FreeBSD, did you read this somewhere or is this from your own knowledge?

                  I'll do some testing on Sunday and report back here :-)

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

                    I just looked at what files are installed from the port and it's very few. Only the usb_modeswitch binary and a conf file for disabling it entirely.
                    Unless I'm missing something.

                    I too have a Huawei K3565. It's not listed but I bet someone has the data for it. Anyway here's an example of how to find the VIP and PID:

                    
                    [2.0.1-RELEASE][root@pfsense.fire.box]/dev(21): usbconfig 
                    ugen0.1: <uhci root="" hub="" intel="">at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
                    ugen1.1: <uhci root="" hub="" intel="">at usbus1, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
                    ugen2.1: <ehci root="" hub="" intel="">at usbus2, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON
                    ugen2.2: <huawei mobile="" huawei="" technology="">at usbus2, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON
                    [2.0.1-RELEASE][root@pfsense.fire.box]/dev(22): usbconfig -d 2.2 dump_device_desc
                    ugen2.2: <huawei mobile="" huawei="" technology="">at usbus2, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON
                    
                      bLength = 0x0012 
                      bDescriptorType = 0x0001 
                      bcdUSB = 0x0200 
                      bDeviceClass = 0x0000 
                      bDeviceSubClass = 0x0000 
                      bDeviceProtocol = 0x0000 
                      bMaxPacketSize0 = 0x0040 
                      idVendor = 0x12d1 
                      idProduct = 0x1001 
                      bcdDevice = 0x0000 
                      iManufacturer = 0x0002   <huawei technology="">iProduct = 0x0001   <huawei mobile="">iSerialNumber = 0x0000   <no string="">bNumConfigurations = 0x0001</no></huawei></huawei></huawei></huawei></ehci></uhci></uhci> 
                    

                    Steve

                    Edit: It is listed just as the E169.

                    1 Reply Last reply Reply Quote 0
                    • J
                      jamesc last edited by

                      Yes, i think K3565 is just the Vodafone model number, its actually an E169 underneath. Have you managed to get it to switch?

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

                        Nope!  ::)

                        
                        [2.0.1-RELEASE][root@pfsense.fire.box]/dev(24): usb_modeswitch -c /tmp/e169.txt
                        
                        Looking for target devices ...
                         No devices in target mode or class found
                        Looking for default devices ...
                           found matching product ID
                         No devices in default mode found. Nothing to do. Bye.
                        
                        [2.0.1-RELEASE][root@pfsense.fire.box]/dev(25): cat /tmp/e169.txt
                        # Huawei E169 and others
                        #
                        # Contributor: Dale Lane
                        
                        DefaultVendor=  0x12d1
                        DefaultProduct= 0x1001
                        
                        TargetClass=    0xff
                        
                        # choose one of these:
                        HuaweiMode=1
                        
                        

                        Steve

                        Edit: Seems to be because it's already in the target class (0xff):

                        
                        Looking for target devices ...
                         No devices in target mode or class found
                        Looking for default devices ...
                          searching devices, found USB ID 12d1:1001
                           found matching vendor ID
                           found matching product ID
                           target class ff matching
                           not adding device
                          searching devices, found USB ID 0000:0000
                          searching devices, found USB ID 0000:0000
                          searching devices, found USB ID 0000:0000
                         No devices in default mode found. Nothing to do. Bye.
                        
                        

                        Possibly already switched?  :-\

                        Doh! looks like E169 is already a supported modem.  ::)

                        1 Reply Last reply Reply Quote 0
                        • J
                          jamesc last edited by

                          Looks that way, your console output when you plug the device in doesnt say that its a SCSI device so its already switched!

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

                            Yep, already works fine.

                            
                            [2.0.1-RELEASE][root@pfsense.fire.box]/root(1): cu -l cuaU0.0 -s 115200
                            Connected
                            at
                            OK
                            at I0
                            Manufacturer: huawei
                            Model: K3565
                            Revision: 11.608.10.51.00
                            IMEI: 359574032708530
                            +GCAP: +CGSM,+DS,+ES
                            
                            OK
                            
                            

                            Steve

                            1 Reply Last reply Reply Quote 0
                            • J
                              jamesc last edited by

                              I'll give the ZTE a try on Sunday, ive tried this modem previously with pfSense and failed because it is definately seen as a storage device. Will report back with my results.

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

                                You might think that but here is the system log from when I plugged it in:

                                
                                Feb 17 18:16:17 pfsense kernel: ugen2.2: <huawei technology="">at usbus2
                                Feb 17 18:16:17 pfsense kernel: ugen2.2: <huawei technology="">at usbus2 (disconnected)
                                Feb 17 18:16:24 pfsense kernel: ugen2.2: <huawei technology="">at usbus2
                                Feb 17 18:16:24 pfsense kernel: u3g0: <huawei 0="" 2="" technology="" huawei="" mobile,="" class="" 0,="" rev="" 2.00="" 0.00,="" addr="">on usbus2
                                Feb 17 18:16:24 pfsense kernel: u3g0: Found 3 ports.
                                Feb 17 18:16:24 pfsense kernel: umass0: <huawei 0="" 2="" technology="" huawei="" mobile,="" class="" 0,="" rev="" 2.00="" 0.00,="" addr="">on usbus2
                                Feb 17 18:16:26 pfsense kernel: umass1: <huawei 0="" 2="" technology="" huawei="" mobile,="" class="" 0,="" rev="" 2.00="" 0.00,="" addr="">on usbus2
                                Feb 17 18:16:26 pfsense kernel: (probe0:umass-sim0:0:0:0): TEST UNIT READY. CDB: 0 0 0 0 0 0
                                Feb 17 18:16:26 pfsense kernel: (probe0:umass-sim0:0:0:0): CAM status: SCSI Status Error
                                Feb 17 18:16:26 pfsense kernel: (probe0:umass-sim0:0:0:0): SCSI status: Check Condition
                                Feb 17 18:16:26 pfsense kernel: (probe0:umass-sim0:0:0:0): SCSI sense: NOT READY asc:3a,0 (Medium not present)
                                Feb 17 18:16:26 pfsense kernel: cd0 at umass-sim0 bus 0 scbus0 target 0 lun 0
                                Feb 17 18:16:26 pfsense kernel: cd0: <huawei mass="" storage="" 2.31="">Removable CD-ROM SCSI-2 device
                                Feb 17 18:16:26 pfsense kernel: cd0: 40.000MB/s transfers
                                Feb 17 18:16:26 pfsense kernel: cd0: Attempt to query device size failed: NOT READY, Medium not present
                                Feb 17 18:16:27 pfsense kernel: (probe0:umass-sim1:1:0:0): TEST UNIT READY. CDB: 0 0 0 0 0 0
                                Feb 17 18:16:27 pfsense kernel: (probe0:umass-sim1:1:0:0): CAM status: SCSI Status Error
                                Feb 17 18:16:27 pfsense kernel: (probe0:umass-sim1:1:0:0): SCSI status: Check Condition
                                Feb 17 18:16:27 pfsense kernel: (probe0:umass-sim1:1:0:0): SCSI sense: NOT READY asc:3a,0 (Medium not present)
                                Feb 17 18:16:27 pfsense kernel: da0 at umass-sim1 bus 1 scbus1 target 0 lun 0
                                Feb 17 18:16:27 pfsense kernel: da0: <huawei mmc="" storage="" 2.31="">Removable Direct Access SCSI-2 device
                                Feb 17 18:16:27 pfsense kernel: da0: 40.000MB/s transfers
                                Feb 17 18:16:27 pfsense kernel: da0: Attempt to query device size failed: NOT READY, Medium not present</huawei></huawei></huawei></huawei></huawei></huawei></huawei></huawei> 
                                

                                It clearly comes up as a CD-ROM drive (cd0) and the micro SD reader (da0).
                                But u3g also shows 'found 3 ports' and looking in /dev there are cuaU0.0 1.1 and 2.2.
                                I haven't actually tried using this as a modem though, I'm not sure I have a simcard that can do it.

                                Steve

                                1 Reply Last reply Reply Quote 0
                                • J
                                  jamesc last edited by

                                  We have some progress….

                                  Fresh install of 2.0.1 full on an old Celeron box to avoid mapping USB devices through to a VMWare VM.
                                  Modem is a ZTE MF112

                                  Here's what happens initially when plugging the modem in (not using modeswitch)

                                  Feb 19 15:55:56 pfSense kernel: umass0: <zte,incorporated 0="" 2="" zte="" wcdma="" technologies="" msm,="" class="" 0,="" rev="" 2.00="" 0.00,="" addr="">on usbus3
                                  Feb 19 15:55:56 pfSense kernel: umass0:  SCSI over Bulk-Only; quirks = 0x0000
                                  Feb 19 15:55:57 pfSense kernel: umass0:0:0:-1: Attached to scbus0
                                  Feb 19 15:55:57 pfSense kernel: (probe0:umass-sim0:0:0:0): TEST UNIT READY. CDB: 0 0 0 0 0 0
                                  Feb 19 15:55:57 pfSense kernel: (probe0:umass-sim0:0:0:0): CAM status: SCSI Status Error
                                  Feb 19 15:55:57 pfSense kernel: (probe0:umass-sim0:0:0:0): SCSI status: Check Condition
                                  Feb 19 15:55:57 pfSense kernel: (probe0:umass-sim0:0:0:0): SCSI sense: NOT READY asc:3a,0 (Medium not present)
                                  Feb 19 15:55:57 pfSense kernel: cd0 at umass-sim0 bus 0 scbus0 target 0 lun 0
                                  Feb 19 15:55:57 pfSense kernel: cd0: <hspa usb="" scsi="" cd-rom="" 2.31="">Removable CD-ROM SCSI-2 device
                                  Feb 19 15:55:57 pfSense kernel: cd0: 40.000MB/s transfers
                                  Feb 19 15:55:57 pfSense kernel: cd0: Attempt to query device size failed: NOT READY, Medium not present</hspa></zte,incorporated> 
                                  

                                  No interfaces are available to assign under PPP.

                                  I then install the port and create a config file for the MF112 and run modeswitch

                                  Looking for target devices ...
                                   No devices in target mode or class found
                                  Looking for default devices ...
                                     found matching product ID
                                     adding device
                                   Found device in default mode, class or configuration (1)
                                  Accessing device 005 on bus 000 ...
                                  Getting the current device configuration ...
                                   OK, got current device configuration (1)
                                  Using first interface: 0x00
                                  Using endpoints 0x01 (out) and 0x81 (in)
                                  Inquiring device details; driver will be detached ...
                                   Cant't do driver detection and detaching on this platform.
                                  
                                  SCSI inquiry data (for identification)
                                  -------------------------
                                    Vendor String: HSPA
                                     Model String: USB SCSI CD-ROM
                                  Revision String: 2.31
                                  -------------------------
                                  
                                  USB description data (for identification)
                                  -------------------------
                                  Manufacturer: ZTE,Incorporated
                                       Product: ZTE WCDMA Technologies MSM
                                    Serial No.: P673A3H3GD010000
                                  -------------------------
                                  Setting up communication with interface 0
                                  Using endpoint 0x01 for message sending ...
                                  Trying to send message 1 to endpoint 0x01 ...
                                   OK, message successfully sent
                                  Reading the response to message 1 (CSW) ...
                                   OK, response successfully read (13 bytes).
                                  Trying to send message 2 to endpoint 0x01 ...
                                   OK, message successfully sent
                                  Reading the response to message 2 (CSW) ...
                                   Response reading got error -6
                                   Device is gone, skipping any further commands
                                  -> Run lsusb to note any changes. Bye.
                                  
                                  

                                  I then have two new PPP interfaces /dev/cuaU0.1 and /dev/cuaU0.2

                                  Unfortunately, I have no simcard to test any further :(

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

                                    Ah, looks promising.  :)
                                    You can try talking to the modem with cu or tip like I did. If it responds to AT commands I would expect it to work.

                                    Steve

                                    1 Reply Last reply Reply Quote 0
                                    • J
                                      jamesc last edited by

                                      The next thing to try is adding the below line to the firewall config to test whether pfSense will switch the modem before it does the PPP dial:

                                      <shellcmd>usb_modeswitch -c /usr/local/etc/modem.txt</shellcmd>

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

                                        If not then try <earlyshellcmd>instead.

                                        Steve</earlyshellcmd>

                                        1 Reply Last reply Reply Quote 0
                                        • J
                                          jamesc last edited by

                                          It does respond to AT commands on cuaU0.2  :)

                                          My question is, what is cuaU0.1 which is also available to assign under PPP

                                          Also, when I assign the PPP to an interface, I also see cuaU0.0 and cuau0 in the 'Modem Port' dropdown list so i'm a little confused  ???

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

                                            Probably due to the way pfSense finds the serial ports to display:

                                            $serialports = pfSense_get_modem_devices();
                                            
                                            

                                            I can't find that function but if it relies on, for example, sysctl dev.u3g then they won't appear there.

                                            The reason that the modem provides several serial ports is not obvious to me but it seems it's possible to get stats from the modem on one interface whilst connected via another, signal strength, baud rate etc.

                                            Steve

                                            1 Reply Last reply Reply Quote 0
                                            • J
                                              jamesc last edited by

                                              Thanks Steve.

                                              I found a simcard, there's no credit on it but it still connects and gets an IP address.

                                              I've tried both the shellcmd and earlyshellcmd options but sometimes there is a delay until the actual switch occurs.  The boot sequence continues regardless, the PPP interface is brought up but the modem is not yet ready so a WAN connection isn't established.  If I go into the GUI and manually hit connect, PPP is dialled and the WAN comes online.

                                              Any idea of how we can delay bringing up PPP until we know the modem has successfully switched?

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

                                                What happens when it tries to dial out before the interface is switched?
                                                I'm surprised that it doesn't just keep trying.
                                                Maybe using dial-on demand or idle time out.

                                                You could write a script that ran usb_modeswitch, waited and then called the appropriate interface connect function.

                                                Steve

                                                1 Reply Last reply Reply Quote 0
                                                • J
                                                  jamesc last edited by

                                                  It doesnt do anything, the box continues its boot process as if no modem was plugged in. I see the modem details flash up on the console towards the end of the boot process but PPP has already initialised at this point (without seeing the modem) so i suspect it wont keep on attempting a dial out because as far it's concerned, no modem was detected at the time of initialisation, I hope that makes sense!

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

                                                    Yes I see exactly what you mean.
                                                    Would probably be best to use an rc script then.
                                                    This is just a guess but perhaps:

                                                    
                                                    #!/bin/sh
                                                    /usr/local/sbin/usb_modeswitch -c yourmodem.txt
                                                    sleep 5
                                                    /etc/rc.reload_interfaces
                                                    
                                                    

                                                    Try issuing a /etc/rc.reload_interfaces and see if it finds the modem and connects.

                                                    Steve

                                                    1 Reply Last reply Reply Quote 0
                                                    • J
                                                      jamesc last edited by

                                                      I had just finished creating a similar script and was looking for a command that would restart PPP, the reload_interfaces seems to do the trick nicely, thank you.

                                                      1 Reply Last reply Reply Quote 0
                                                      • J
                                                        jly2680 last edited by

                                                        how can i put my usbmode_switch script in startup??i have bandluxe 21 mbps 3g modem and successfully flip it to modem mode using usb_modeswitch..I want to connect my modem's ppp  in start up..thanks

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

                                                          If it's an RC script, as I detailed above, put it in /usr/local/etc/rc.d and it will run at boot.

                                                          Steve

                                                          1 Reply Last reply Reply Quote 0
                                                          • J
                                                            jly2680 last edited by

                                                            i already put my script in /usr/local/etc/rc.d/ but when i reboot pfsense,,ppp dials in fiirst before flipping my usb modem,thus i need to dial my ppp manually..i want to flip my modem first then ppp dials in..TIA

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

                                                              Yes Jamesc experienced that problem above.
                                                              Doesn't it redial when you reload the interfaces in the script?

                                                              Steve

                                                              1 Reply Last reply Reply Quote 0
                                                              • J
                                                                jly2680 last edited by

                                                                thanks..reload interfaces did the trick..now i will add 1 more different usb modem.. :)

                                                                1 Reply Last reply Reply Quote 0
                                                                • J
                                                                  jly2680 last edited by

                                                                  problem occurs: persistent disconnections..i cant make my modem to hold for an hour or so..my ppp connection disconnects  every 10 seconds..i try to use my 3g modem directly with my laptop but never had a connection hangup..

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

                                                                    Is it exactly 10 seconds every time? This might indicate some sort of ppp error. Or more random?
                                                                    What do you see in the logs? Does it do this if you setup the connection manually instead of using the script?
                                                                    Have you set the PPP session to be 'always on' (idle timeout = 0, which is the default setting)

                                                                    using rc.reload_interfaces seemed a bit crude when I suggested it earlier and it still does. It maybe that it is causing some other undesired consequence. It would be much better to simply reload WAN or indeed just have it redial. Sadly I'm not sufficiently familiar with the code to suggest anything better.  :(

                                                                    Steve

                                                                    Edit: rc.linkup WAN up (or should that be 'up WAN') perhaps?  :-\ Complete guesswork!

                                                                    1 Reply Last reply Reply Quote 0
                                                                    • J
                                                                      jly2680 last edited by

                                                                      i think ppp error side?

                                                                      Mar 5 23:07:52	ppp: [opt2] IPCP: SendConfigReq #3
                                                                      Mar 5 23:07:52	ppp: [opt2] IPADDR 176.225.134.77
                                                                      Mar 5 23:07:52	ppp: [opt2] IPCP: rec'd Configure Ack #3 (Ack-Sent)
                                                                      Mar 5 23:07:52	ppp: [opt2] IPADDR 176.225.134.77
                                                                      Mar 5 23:07:52	ppp: [opt2] IPCP: state change Ack-Sent --> Opened
                                                                      Mar 5 23:07:52	ppp: [opt2] IPCP: LayerUp
                                                                      Mar 5 23:07:52	ppp: [opt2] 176.225.134.77 -> 10.0.0.1
                                                                      Mar 5 23:07:52	ppp: [opt2] IFACE: Up event
                                                                      Mar 5 23:08:36	ppp: Multi-link PPP daemon for FreeBSD
                                                                      Mar 5 23:08:36	ppp:
                                                                      Mar 5 23:08:36	ppp: process 28199 started, version 5.5 (root@FreeBSD_8.0_pfSense_2.0-snaps.pfsense.org 10:25 12-Oct-2011)
                                                                      Mar 5 23:08:36	ppp: caught fatal signal term
                                                                      Mar 5 23:08:36	ppp: [opt2] IFACE: Close event
                                                                      Mar 5 23:08:36	ppp: [opt2] IPCP: Close event
                                                                      Mar 5 23:08:36	ppp: [opt2] IPCP: state change Opened --> Closing
                                                                      Mar 5 23:08:36	ppp: [opt2] IPCP: SendTerminateReq #4
                                                                      Mar 5 23:08:36	ppp: [opt2] IPCP: LayerDown
                                                                      Mar 5 23:08:36	ppp: waiting for process 16679 to die...
                                                                      Mar 5 23:08:36	ppp: [opt2] IFACE: Down event
                                                                      Mar 5 23:08:36	ppp: [opt2] IPCP: rec'd Terminate Ack #4 (Closing)
                                                                      Mar 5 23:08:36	ppp: [opt2] IPCP: state change Closing --> Closed
                                                                      Mar 5 23:08:36	ppp: [opt2] IPCP: LayerFinish
                                                                      Mar 5 23:08:36	ppp: [opt2] Bundle: No NCPs left. Closing links...
                                                                      Mar 5 23:08:36	ppp: [opt2] Bundle: closing link "opt2_link0"...
                                                                      Mar 5 23:08:36	ppp: [opt2_link0] Link: CLOSE event
                                                                      Mar 5 23:08:36	ppp: [opt2_link0] LCP: Close event
                                                                      Mar 5 23:08:36	ppp: [opt2_link0] LCP: state change Opened --> Closing
                                                                      Mar 5 23:08:36	ppp: [opt2_link0] Link: Leave bundle "opt2"
                                                                      Mar 5 23:08:36	ppp: [opt2] Bundle: Status update: up 0 links, total bandwidth 9600 bps
                                                                      Mar 5 23:08:36	ppp: [opt2] IPCP: Close event
                                                                      Mar 5 23:08:36	ppp: [opt2] IPCP: Down event
                                                                      Mar 5 23:08:36	ppp: [opt2] IPCP: state change Closed --> Initial
                                                                      Mar 5 23:08:36	ppp: [opt2_link0] LCP: SendTerminateReq #3
                                                                      Mar 5 23:08:36	ppp: [opt2_link0] LCP: LayerDown
                                                                      Mar 5 23:08:36	ppp: [opt2_link0] LCP: rec'd Terminate Ack #3 (Closing)
                                                                      Mar 5 23:08:36	ppp: [opt2_link0] LCP: state change Closing --> Closed
                                                                      Mar 5 23:08:36	ppp: [opt2_link0] LCP: LayerFinish
                                                                      Mar 5 23:08:36	ppp: [opt2_link0] Link: DOWN event
                                                                      Mar 5 23:08:36	ppp: [opt2_link0] LCP: Down event
                                                                      Mar 5 23:08:36	ppp: [opt2_link0] LCP: state change Closed --> Initial
                                                                      
                                                                      1 Reply Last reply Reply Quote 0
                                                                      • J
                                                                        jly2680 last edited by

                                                                        /etc/rc.reload_interfaces in my script causes my 3g ppp connection to restart every 10-20 secs..

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

                                                                          Can you show us your script?
                                                                          It should only be run once at boot, I can't see how it could possibly effect the ppp cycling time.  :-\

                                                                          Steve

                                                                          1 Reply Last reply Reply Quote 0
                                                                          • J
                                                                            jly2680 last edited by

                                                                            #!/bin/sh
                                                                            /usr/local/sbin/usb_modeswitch usb_modeswitch -v 1a8d -p 2000 -M "5553424312345678000000000000061e000000000000000000000000000000" -2 "5553424312345679000000000000061b000000020000000000000000000000" -n 1 -W
                                                                            sleep 5
                                                                            /etc/rc.reload_interfaces
                                                                            

                                                                            removing reload interfaces makes my 3g ppp connection stable..is there a place where my script will run first then ppp dials in?or to restart ppp connection after my script run?
                                                                            i can easily do this with openwrt/ddwrt but i want to try pfsense..

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

                                                                              The code in /usr/local/etc.rc.d should only be run once as far as I know.
                                                                              You could try calling the script using shellcmd or earlyshellcmd instead:
                                                                              http://doc.pfsense.org/index.php/Executing_commands_at_boot_time

                                                                              Steve

                                                                              1 Reply Last reply Reply Quote 0
                                                                              • J
                                                                                jly2680 last edited by

                                                                                thanks,,same thing it doesnt auto connect on boot even if i edit my xml with earlyshellcmd or shellcmd..
                                                                                on openwrt,,i usually put my script in /etc/rc.local and run a cron job with a watchdog scripts,,it automatically restart my 3g interface when ppp hangs up.hope i can do same thing on pfsense.am total noob with pfsense thats why im still catching up with it..

                                                                                1 Reply Last reply Reply Quote 0
                                                                                • T
                                                                                  th3r3isnospoon last edited by

                                                                                  Hello,

                                                                                  I'd really like to get this feature working on my pfSense box.

                                                                                  I read through this thread 3 times but, I don't see how to go about actually installing the port or using one of your scripts.

                                                                                  If you have a minute or two, can you just throw together a how-to so I can take the necessary steps to get this to work?  I'd really appreciate it!

                                                                                  Thank you!

                                                                                  -th3r3isnospoon

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

                                                                                    Ok, this may have to be multipart as I'm pushed for time!  ::)

                                                                                    First check the usb-modeswitch forum/website to see if your modem is supported at all:
                                                                                    http://www.draisberghof.de/usb_modeswitch/
                                                                                    Note down any relevant switching code that other users may have posted if it's not included as standard in device_reference.txt:
                                                                                    http://www.draisberghof.de/usb_modeswitch/device_reference.txt

                                                                                    Install the FreeBSD package in pfSense. This will vary depending on your pfSense version.
                                                                                    For 2.0.X NanoBSD:

                                                                                    
                                                                                    /etc/rc.conf_mount_rw
                                                                                    pkg_add -r ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8-stable/Latest/usb_modeswitch.tbz
                                                                                    /etc/rc.conf_mount_ro
                                                                                    
                                                                                    

                                                                                    For 2.0.X full install:

                                                                                    
                                                                                    pkg_add -r ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8-stable/Latest/usb_modeswitch.tbz
                                                                                    
                                                                                    

                                                                                    Now depending on what the required code for your modem is you can either just enter it at the command line directly, e.g.:

                                                                                    
                                                                                    /usr/local/sbin/usb_modeswitch usb_modeswitch -v 1a8d -p 2000 -M "5553424312345678000000000000061e000000000000000000000000000000" -2 "5553424312345679000000000000061b000000020000000000000000000000" -n 1 -W
                                                                                    
                                                                                    

                                                                                    or call a file containing the appropriate section from device_reference.txt (or some custom code), e.g.:

                                                                                    /usr/local/sbin/usb_modeswitch -c yourmodem.txt
                                                                                    

                                                                                    You can run it with -h to list the command line options:

                                                                                    /usr/local/sbin/usb_modeswitch -h
                                                                                    

                                                                                    If you get it right usb_modeswitch will report success and you will see some lines in the pfSense log showing devices removed and attached.

                                                                                    If you have found the code to correctly switch your modem you can put a script file in /usr/local/etc/rc.d.
                                                                                    Call it whateveryouwant.sh:

                                                                                    
                                                                                    #!/bin/sh
                                                                                    /usr/local/sbin/usb_modeswitch -c yourmodem.txt
                                                                                    sleep 5
                                                                                    /etc/rc.reload_interfaces
                                                                                    
                                                                                    

                                                                                    I am still of the opinion that /etc/rc.reload_interfaces is probably not the correct way to get the modem running, it seems too crude, but it worked for jamesc.

                                                                                    Steve

                                                                                    1 Reply Last reply Reply Quote 0
                                                                                    • First post
                                                                                      Last post

                                                                                    Products

                                                                                    • Platform Overview
                                                                                    • TNSR
                                                                                    • pfSense Plus
                                                                                    • Appliances

                                                                                    Services

                                                                                    • Training
                                                                                    • Professional Services

                                                                                    Support

                                                                                    • Subscription Plans
                                                                                    • Contact Support
                                                                                    • Product Lifecycle
                                                                                    • Documentation

                                                                                    News

                                                                                    • Media Coverage
                                                                                    • Press
                                                                                    • Events

                                                                                    Resources

                                                                                    • Blog
                                                                                    • FAQ
                                                                                    • Find a Partner
                                                                                    • Resource Library
                                                                                    • Security Information

                                                                                    Company

                                                                                    • About Us
                                                                                    • Careers
                                                                                    • Partners
                                                                                    • Contact Us
                                                                                    • Legal
                                                                                    Our Mission

                                                                                    We provide leading-edge network security at a fair price - regardless of organizational size or network sophistication. We believe that an open-source security model offers disruptive pricing along with the agility required to quickly address emerging threats.

                                                                                    Subscribe to our Newsletter

                                                                                    Product information, software announcements, and special offers. See our newsletter archive to sign up for future newsletters and to read past announcements.

                                                                                    © 2021 Rubicon Communications, LLC | Privacy Policy