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

    GSM Failover with IPv6

    Scheduled Pinned Locked Moved Routing and Multi WAN
    14 Posts 2 Posters 3.0k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • ?
      Guest
      last edited by

      On mine I don't use IPv6 but I do see it in the log. You have specified on the OPT2 interface to use DHCP6 for IPv6 configuration type?

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

        Yes, I have. I also noticed that MPD wasn't using my custom modem init string because the CGDCONT thingy uses quotes. Said quotes need to be escaped in order to work. That was keeping the modem from requesting the right PDP context. It now successfully sets IPV4V6, but MPD still won't configure the opt interface with an IPv6 address. I've definitively tried DHCPV6. Should that work? Somehow I thought MPD would use IPV6CP to set the interface's address, but still failed to enable that properly.

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

          I guess there should be a PPP setting for the IPv6 address configuration of the interface, just like there is for IPv4, but there isn't.

          1 Reply Last reply Reply Quote 0
          • ?
            Guest
            last edited by

            I am not much help on these topics. I am wondering about your hardware. Did you have to change the PID or was it working OOB?

            1 Reply Last reply Reply Quote 0
            • ?
              Guest
              last edited by

              Maybe even try the "Track Interface" setting for IPv6

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

                Tracking the interface will not do what I think it should do, as it would track another interface, not the WWAN interface itself. I'm using a genuine MC7355, with VID 1199, so no need to get the VID/PIDs changed and the card unlocked.

                Here's some more logs from my attempt to configure IPv6 with MPD. Note that I had to change the modem init command in the advanced PPP settings to```
                +CGDCONT=1,"IPV4V6","fast.t-mobile.com"

                
                There are 10 SendConfigReq, which all seem to time out and not get a response back. I've reached a bit of an impasse here, as I'm not sure how the peer is supposed to respond and whether the sequence is correct. The address 020d:b9ff:fe3a:496d is made up from my LAN interface's mac address. I think this is correct, as it is not specifying a desired prefix towards the peer, but rather just configuring the link address part of the IPv6 address.
                
                

                Dec 12 09:09:17 gw ppp: [opt2] IPV6CP: SendConfigReq #10
                Dec 12 09:09:17 gw ppp: [opt2]  INTIDENT 020d:b9ff:fe3a:496d
                Dec 12 09:09:17 gw ppp: [opt2] xmit bypass frame link=-1 proto=0x8057
                Dec 12 09:09:17 gw ppp:    ff ff 80 57 01 0a 00 0e 01 0a 02 0d b9 ff fe 3a  ...W...........:
                Dec 12 09:09:17 gw ppp:    49 6d                                            Im
                Dec 12 09:09:19 gw ppp: [opt2] IPV6CP: parameter negotiation failed

                
                Full log:
                
                

                Dec 12 09:08:59 gw ppp: [opt2] Bundle: Interface ng0 created
                Dec 12 09:08:59 gw ppp: [opt2_link0] Link: OPEN event
                Dec 12 09:08:59 gw ppp: [opt2_link0] LCP: Open event
                Dec 12 09:08:59 gw ppp: [opt2_link0] LCP: state change Initial --> Starting
                Dec 12 09:08:59 gw ppp: [opt2_link0] LCP: LayerStart
                Dec 12 09:08:59 gw ppp: [opt2_link0] device: OPEN event
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: running script at label "DialPeer"
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 65: set $CallingID ""
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 66: set $CalledID $Telephone
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 67: if $Telephone == 00000 goto DialNullModem
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 68: set $optimize $OptimizeNextTime
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 69: set $OptimizeNextTime no
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 71: if $optimize == yes goto DialPeer2
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 72: call ModemFind
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 1325: set $ErrorMsg ""
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 1326: call ModemFind4
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 1370: set $modemCmd ""
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 1371: set $modemCmdTimeout 1
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 1372: call ModemCmd0
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 1436: print "AT$modemCmd^M "
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: sending
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT:  41 54 0d 0a                                      AT..           
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 1437: match "OK^M " ModemCmdOk
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 1438: match ERR ModemCmdErr
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 1439: wait $modemCmdTimeout
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: read
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT:  0d                                              .             
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: read
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT:  0a 4e 4f 20 43 41 52 52 49 45 52 0d              .NO CARRIER.   
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: read
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT:  0a 0d                                            ..             
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: read
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT:  0a 4f 4b 0d                                      .OK.           
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: read
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT:  0a                                              .             
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: matched set "", goto label "ModemCmdOk"
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 1445: set $modemCmdResult OK
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 1446: return
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 1373: return
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 1327: if $modemCmdResult == OK return
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 1327: return
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 73: if $ErrorMsg == "" goto DialPeer1
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 73: goto DialPeer1
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 77: set $ModTelephone $Telephone
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 78: call ModemIdent
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 347: set $ModemDescription ""
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 348: set $ModemSetupFunc ""
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 349: set $ModemAnsSetupFunc ""
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 350: set $ModemDetectRing ""
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 351: set $ModemIsAnalog yes
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 352: if $InitString != "" goto ModemIdentCustom
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 352: goto ModemIdentCustom
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 405: set $ModemDescription "Custom modem"
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 406: set $ModemSetupFunc CustomSetup
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 407: return
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 79: if $ModemDescription != "" goto DialPeer2
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 79: goto DialPeer2
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 84: log "Detected $ModemDescription."
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: Detected Custom modem.
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 85: call $ModemSetupFunc
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 499: set $noDialToneSubr GenericNoDialtone
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 500: set $modemCmd ${InitString}
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 501: call ModemCmd2
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 1460: call ModemCmd
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 1434: set $modemCmdTimeout 3
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 1436: print "AT$modemCmd^M "
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: sending
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT:  41 54 2b 43 47 44 43 4f 4e 54 3d 31 2c 22 49 50  AT+CGDCONT=1,"IP
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT:  56 34 56 36 22 2c 22 66 61 73 74 2e 74 2d 6d 6f  V4V6","fast.t-mo
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT:  62 69 6c 65 2e 63 6f 6d 22 0d 0a                bile.com"..   
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 1437: match "OK^M " ModemCmdOk
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 1438: match ERR ModemCmdErr
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 1439: wait $modemCmdTimeout
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: read
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT:  0d                                              .             
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: read
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT:  0a 4f 4b 0d                                      .OK.           
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: read
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT:  0a                                              .             
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: matched set "", goto label "ModemCmdOk"
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 1445: set $modemCmdResult OK
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 1446: return
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 1461: if $modemCmdResult == OK return
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 1461: return
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 502: return
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 86: log "Dialing server at $Telephone..."
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: Dialing server at 99#...
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 87: call ModemDial
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 143: set $dialResult FAIL
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 144: set $ConnectionSpeed ""
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 145: if $ConnectTimeout == "" set $ConnectTimeout 45
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 145: set $ConnectTimeout 45
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 146: print "AT${DialPrefix}${ModTelephone}^M "
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: sending
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT:  41 54 44 54 2a 39 39 23 0d 0a                    ATDT
                99#..     
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 147: log AT${DialPrefix}${ModTelephone}
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: ATDT99#
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 148: match "NO CARRIER" DialAbortNoCar
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 149: match "NO DIAL" DialAbortNoDial
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 150: match BUSY DialAbortBusy
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 151: regex "CONNECT ([0-9]).
                $" DialConnect
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 152: match ERR DialError
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 153: wait $ConnectTimeout
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: read
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT:  0d                                              .             
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: read
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT:  0a 43 4f 4e 4e 45 43 54 20 31 30 30 30 30 30 30  .CONNECT 1000000
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT:  30 30 0d                                        00.           
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: read
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT:  0a                                              .             
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: matched set "", goto label "DialConnect"
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 175: set $ConnectionSpeed $matchedString1
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 176: set $dialResult OK
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 177: return
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 88: if $dialResult == OK goto DialPeerOK
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 88: goto DialPeerOK
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 93: if $ConnectionSpeed == "" log "Connected at an unknown speed."
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 94: if $ConnectionSpeed == "" goto DialPeer3
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 95: log "Connected at $ConnectionSpeed."
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: Connected at 100000000.
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 97: if $LoginScript == yes call AutoLogin
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 98: set $OptimizeNextTime yes
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAT: line 99: success
                Dec 12 09:08:59 gw ppp: [opt2_link0] MODEM: chat script succeeded
                Dec 12 09:08:59 gw ppp: [opt2_link0] device: UP event
                Dec 12 09:08:59 gw ppp: [opt2_link0] Link: UP event
                Dec 12 09:08:59 gw ppp: [opt2_link0] Link: origination is local
                Dec 12 09:08:59 gw ppp: [opt2_link0] LCP: Up event
                Dec 12 09:08:59 gw ppp: [opt2_link0] LCP: state change Starting --> Req-Sent
                Dec 12 09:08:59 gw ppp: [opt2_link0] LCP: phase shift DEAD --> ESTABLISH
                Dec 12 09:08:59 gw ppp: [opt2_link0] LCP: SendConfigReq #1
                Dec 12 09:08:59 gw ppp: [opt2_link0]  ACFCOMP
                Dec 12 09:08:59 gw ppp: [opt2_link0]  PROTOCOMP
                Dec 12 09:08:59 gw ppp: [opt2_link0]  ACCMAP 0x000a0000
                Dec 12 09:08:59 gw ppp: [opt2_link0]  MRU 1500
                Dec 12 09:08:59 gw ppp: [opt2_link0]  MAGICNUM 969ca772
                Dec 12 09:08:59 gw ppp: [opt2_link0] xmit frame to link proto=0xc021
                Dec 12 09:08:59 gw ppp:    ff 03 c0 21 01 01 00 18 08 02 07 02 02 06 00 0a  ...!............
                Dec 12 09:08:59 gw ppp:    00 00 01 04 05 dc 05 06 96 9c a7 72              ...........r
                Dec 12 09:08:59 gw ppp: [opt2_link0] rec'd 27 bytes frame from link proto=0xc021
                Dec 12 09:08:59 gw ppp:    c0 21 01 7e 00 19 02 06 00 00 00 00 03 05 c2 23  .!.~...........#
                Dec 12 09:08:59 gw ppp:    05 05 06 4b 41 a4 49 07 02 08 02                ...KA.I....
                Dec 12 09:08:59 gw ppp: [opt2_link0] LCP: rec'd Configure Request #126 (Req-Sent)
                Dec 12 09:08:59 gw ppp: [opt2_link0]  ACCMAP 0x00000000
                Dec 12 09:08:59 gw ppp: [opt2_link0]  AUTHPROTO CHAP MD5
                Dec 12 09:08:59 gw ppp: [opt2_link0]  MAGICNUM 4b41a449
                Dec 12 09:08:59 gw ppp: [opt2_link0]  PROTOCOMP
                Dec 12 09:08:59 gw ppp: [opt2_link0]  ACFCOMP
                Dec 12 09:08:59 gw ppp: [opt2_link0] LCP: SendConfigAck #126
                Dec 12 09:08:59 gw ppp: [opt2_link0]  ACCMAP 0x00000000
                Dec 12 09:08:59 gw ppp: [opt2_link0]  AUTHPROTO CHAP MD5
                Dec 12 09:08:59 gw ppp: [opt2_link0]  MAGICNUM 4b41a449
                Dec 12 09:08:59 gw ppp: [opt2_link0]  PROTOCOMP
                Dec 12 09:08:59 gw ppp: [opt2_link0]  ACFCOMP
                Dec 12 09:08:59 gw ppp: [opt2_link0] xmit frame to link proto=0xc021
                Dec 12 09:08:59 gw ppp:    ff 03 c0 21 02 7e 00 19 02 06 00 00 00 00 03 05  ...!.~..........
                Dec 12 09:08:59 gw ppp:    c2 23 05 05 06 4b 41 a4 49 07 02 08 02          .#...KA.I....
                Dec 12 09:08:59 gw ppp: [opt2_link0] LCP: state change Req-Sent --> Ack-Sent
                Dec 12 09:08:59 gw ppp: [opt2_link0] rec'd 26 bytes frame from link proto=0xc021
                Dec 12 09:08:59 gw ppp:    c0 21 02 01 00 18 08 02 07 02 02 06 00 0a 00 00  .!..............
                Dec 12 09:08:59 gw ppp:    01 04 05 dc 05 06 96 9c a7 72                    .........r
                Dec 12 09:08:59 gw ppp: [opt2_link0] LCP: rec'd Configure Ack #1 (Ack-Sent)
                Dec 12 09:08:59 gw ppp: [opt2_link0]  ACFCOMP
                Dec 12 09:08:59 gw ppp: [opt2_link0]  PROTOCOMP
                Dec 12 09:08:59 gw ppp: [opt2_link0]  ACCMAP 0x000a0000
                Dec 12 09:08:59 gw ppp: [opt2_link0]  MRU 1500
                Dec 12 09:08:59 gw ppp: [opt2_link0]  MAGICNUM 969ca772
                Dec 12 09:08:59 gw ppp: [opt2_link0] LCP: state change Ack-Sent --> Opened
                Dec 12 09:08:59 gw ppp: [opt2_link0] LCP: phase shift ESTABLISH --> AUTHENTICATE
                Dec 12 09:08:59 gw ppp: [opt2_link0] LCP: auth: peer wants CHAP, I want nothing
                Dec 12 09:08:59 gw ppp:  EVENT: Stopping timer "LCP" FsmTimeout() at fsm.c:190
                Dec 12 09:08:59 gw ppp: [opt2_link0] LCP: LayerUp
                Dec 12 09:08:59 gw ppp: [opt2_link0] rec'd 10 bytes frame from link proto=0xc021
                Dec 12 09:08:59 gw ppp:    c0 21 0b 7f 00 08 4b 41 a4 49                    .!....KA.I
                Dec 12 09:08:59 gw ppp: [opt2_link0] LCP: rec'd Discard Request #127 (Opened)
                Dec 12 09:08:59 gw ppp: [opt2_link0] rec'd 37 bytes frame from link proto=0xc223
                Dec 12 09:08:59 gw ppp:    c2 23 01 01 00 23 10 ec 2b 57 d8 ea 01 05 43 04  .#...#..+W....C.
                Dec 12 09:08:59 gw ppp:    cc c0 fd c2 9c 92 7c 55 4d 54 53 5f 43 48 41 50  ......|UMTS_CHAP
                Dec 12 09:08:59 gw ppp:    5f 53 52 56 52                                  _SRVR
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAP: rec'd CHALLENGE #1 len: 35
                Dec 12 09:08:59 gw ppp: [opt2_link0]  Name: "UMTS_CHAP_SRVR"
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAP: Using authname "user"
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAP: sending RESPONSE #1 len: 25
                Dec 12 09:08:59 gw ppp: [opt2_link0] xmit frame to link proto=0xc223
                Dec 12 09:08:59 gw ppp:    ff 03 c2 23 02 01 00 19 10 10 20 7a f3 1e b3 67  ...#.......z...g
                Dec 12 09:08:59 gw ppp:    93 fb 9b 01 2b cf 65 6c 35 75 73 65 72          ....+.el5user
                Dec 12 09:08:59 gw ppp: [opt2_link0] rec'd 6 bytes frame from link proto=0xc223
                Dec 12 09:08:59 gw ppp:    c2 23 03 01 00 04                                .#....
                Dec 12 09:08:59 gw ppp: [opt2_link0] CHAP: rec'd SUCCESS #1 len: 4
                Dec 12 09:08:59 gw ppp:  EVENT: Stopping timer "RespTimer" (void (*)(void *)) ChapSendResponse() at chap.c:437
                Dec 12 09:08:59 gw ppp:  EVENT: Stopping timer "AuthTimer" AuthTimeout() at auth.c:688
                Dec 12 09:08:59 gw ppp: [opt2_link0] LCP: authorization successful
                Dec 12 09:08:59 gw ppp: [opt2_link0] LCP: phase shift AUTHENTICATE --> NETWORK
                Dec 12 09:08:59 gw ppp: [opt2_link0] Link: Matched action 'bundle "opt2" ""'
                Dec 12 09:08:59 gw ppp: [opt2_link0] Link: Join bundle "opt2"
                Dec 12 09:08:59 gw ppp: [opt2] IFACE: setting ppp0 MTU to 1492 bytes
                Dec 12 09:08:59 gw ppp: [opt2] Bundle: Status update: up 1 link, total bandwidth 100000000 bps
                Dec 12 09:08:59 gw ppp: [opt2] IPCP: Open event
                Dec 12 09:08:59 gw ppp: [opt2] IPCP: state change Initial --> Starting
                Dec 12 09:08:59 gw ppp: [opt2] IPCP: LayerStart
                Dec 12 09:08:59 gw ppp: [opt2] IPV6CP: Open event
                Dec 12 09:08:59 gw ppp: [opt2] IPV6CP: state change Initial --> Starting
                Dec 12 09:08:59 gw ppp: [opt2] IPV6CP: LayerStart
                Dec 12 09:08:59 gw ppp: [opt2] IPCP: Up event
                Dec 12 09:08:59 gw ppp: [opt2] IPCP: state change Starting --> Req-Sent
                Dec 12 09:08:59 gw ppp: [opt2] IPCP: SendConfigReq #1
                Dec 12 09:08:59 gw ppp: [opt2]  IPADDR 0.0.0.0
                Dec 12 09:08:59 gw ppp: [opt2] xmit bypass frame link=-1 proto=0x8021
                Dec 12 09:08:59 gw ppp:    ff ff 80 21 01 01 00 0a 03 06 00 00 00 00        ...!..........
                Dec 12 09:08:59 gw ppp: [opt2] IPV6CP: Up event
                Dec 12 09:08:59 gw ppp: [opt2] IPV6CP: state change Starting --> Req-Sent
                Dec 12 09:08:59 gw ppp: [opt2] IPV6CP: SendConfigReq #1
                Dec 12 09:08:59 gw ppp: [opt2]  INTIDENT 020d:b9ff:fe3a:496d
                Dec 12 09:08:59 gw ppp: [opt2] xmit bypass frame link=-1 proto=0x8057
                Dec 12 09:08:59 gw ppp:    ff ff 80 57 01 01 00 0e 01 0a 02 0d b9 ff fe 3a  ...W...........:
                Dec 12 09:08:59 gw ppp:    49 6d                                            Im
                Dec 12 09:09:00 gw ppp: [opt2] rec'd 3 bytes bypass frame link=0 proto=0x0003
                Dec 12 09:09:00 gw ppp:    01 00 04                                        ...
                Dec 12 09:09:00 gw ppp: [opt2_link0] rec'd unexpected protocol 0x0003, rejecting
                Dec 12 09:09:00 gw ppp: [opt2] xmit bypass frame link=0 proto=0xc021
                Dec 12 09:09:00 gw ppp:    00 00 c0 21 08 01 00 09 00 03 01 00 04          ...!.........
                Dec 12 09:09:00 gw ppp: [opt2] rec'd 4 bytes bypass frame link=0 proto=0x8021
                Dec 12 09:09:00 gw ppp:    01 38 00 04                                      .8..
                Dec 12 09:09:00 gw ppp: [opt2] IPCP: rec'd Configure Request #56 (Req-Sent)
                Dec 12 09:09:00 gw ppp: [opt2] IPCP: SendConfigAck #56
                Dec 12 09:09:00 gw ppp: [opt2] xmit bypass frame link=-1 proto=0x8021
                Dec 12 09:09:00 gw ppp:    ff ff 80 21 02 38 00 04                          ...!.8..
                Dec 12 09:09:00 gw ppp: [opt2] IPCP: state change Req-Sent --> Ack-Sent
                Dec 12 09:09:00 gw ppp: [opt2] rec'd 10 bytes bypass frame link=0 proto=0x8021
                Dec 12 09:09:00 gw ppp:    03 01 00 0a 03 06 21 55 db 39                    ......!U.9
                Dec 12 09:09:00 gw ppp: [opt2] IPCP: rec'd Configure Nak #1 (Ack-Sent)
                Dec 12 09:09:00 gw ppp: [opt2]  IPADDR 33.85.219.57
                Dec 12 09:09:00 gw ppp: [opt2]    33.85.219.57 is OK
                Dec 12 09:09:00 gw ppp:  EVENT: Stopping timer "IPCP" FsmTimeout() at fsm.c:531
                Dec 12 09:09:00 gw ppp: [opt2] IPCP: SendConfigReq #2
                Dec 12 09:09:00 gw ppp: [opt2]  IPADDR 33.85.219.57
                Dec 12 09:09:00 gw ppp: [opt2] xmit bypass frame link=-1 proto=0x8021
                Dec 12 09:09:00 gw ppp:    ff ff 80 21 01 02 00 0a 03 06 21 55 db 39        ...!......!U.9
                Dec 12 09:09:00 gw ppp: [opt2] rec'd 10 bytes bypass frame link=0 proto=0x8021
                Dec 12 09:09:00 gw ppp:    02 02 00 0a 03 06 21 55 db 39                    ......!U.9
                Dec 12 09:09:00 gw ppp: [opt2] IPCP: rec'd Configure Ack #2 (Ack-Sent)
                Dec 12 09:09:00 gw ppp: [opt2]  IPADDR 33.85.219.57
                Dec 12 09:09:00 gw ppp: [opt2] IPCP: state change Ack-Sent --> Opened
                Dec 12 09:09:00 gw ppp:  EVENT: Stopping timer "IPCP" FsmTimeout() at fsm.c:190
                Dec 12 09:09:00 gw ppp: [opt2] IPCP: LayerUp
                Dec 12 09:09:00 gw ppp: [opt2]  33.85.219.57 -> 10.64.64.0
                Dec 12 09:09:00 gw ppp: [opt2] IFACE: Connecting tcpmssfix
                Dec 12 09:09:00 gw ppp: [opt2] IFACE: Add address 33.85.219.57/32->10.64.64.0 to ppp0
                Dec 12 09:09:00 gw ppp: [opt2] system: /usr/local/sbin/ppp-linkup ppp0 inet 33.85.219.57/32 10.64.64.0 '-' '' '' '[226]'
                Dec 12 09:09:00 gw ppp: [opt2] IFACE: Up event
                Dec 12 09:09:00 gw ppp: [opt2] IFACE: Rename interface ng0 to ppp0
                Dec 12 09:09:00 gw ppp: [opt2] IFACE: Change interface ppp0 flags: -0 +1
                Dec 12 09:09:01 gw ppp: [opt2] IPV6CP: SendConfigReq #2
                Dec 12 09:09:01 gw ppp: [opt2]  INTIDENT 020d:b9ff:fe3a:496d
                Dec 12 09:09:01 gw ppp: [opt2] xmit bypass frame link=-1 proto=0x8057
                Dec 12 09:09:01 gw ppp:    ff ff 80 57 01 02 00 0e 01 0a 02 0d b9 ff fe 3a  ...W...........:
                Dec 12 09:09:01 gw ppp:    49 6d                                            Im
                Dec 12 09:09:03 gw ppp: [opt2] IPV6CP: SendConfigReq #3
                Dec 12 09:09:03 gw ppp: [opt2]  INTIDENT 020d:b9ff:fe3a:496d
                Dec 12 09:09:03 gw ppp: [opt2] xmit bypass frame link=-1 proto=0x8057
                Dec 12 09:09:03 gw ppp:    ff ff 80 57 01 03 00 0e 01 0a 02 0d b9 ff fe 3a  ...W...........:
                Dec 12 09:09:03 gw ppp:    49 6d                                            Im
                Dec 12 09:09:05 gw ppp: [opt2] IPV6CP: SendConfigReq #4
                Dec 12 09:09:05 gw ppp: [opt2]  INTIDENT 020d:b9ff:fe3a:496d
                Dec 12 09:09:05 gw ppp: [opt2] xmit bypass frame link=-1 proto=0x8057
                Dec 12 09:09:05 gw ppp:    ff ff 80 57 01 04 00 0e 01 0a 02 0d b9 ff fe 3a  ...W...........:
                Dec 12 09:09:05 gw ppp:    49 6d                                            Im
                Dec 12 09:09:07 gw ppp: [opt2] IPV6CP: SendConfigReq #5
                Dec 12 09:09:07 gw ppp: [opt2]  INTIDENT 020d:b9ff:fe3a:496d
                Dec 12 09:09:07 gw ppp: [opt2] xmit bypass frame link=-1 proto=0x8057
                Dec 12 09:09:07 gw ppp:    ff ff 80 57 01 05 00 0e 01 0a 02 0d b9 ff fe 3a  ...W...........:
                Dec 12 09:09:07 gw ppp:    49 6d                                            Im
                Dec 12 09:09:09 gw ppp: [opt2] IPV6CP: SendConfigReq #6
                Dec 12 09:09:09 gw ppp: [opt2]  INTIDENT 020d:b9ff:fe3a:496d
                Dec 12 09:09:09 gw ppp: [opt2] xmit bypass frame link=-1 proto=0x8057
                Dec 12 09:09:09 gw ppp:    ff ff 80 57 01 06 00 0e 01 0a 02 0d b9 ff fe 3a  ...W...........:
                Dec 12 09:09:09 gw ppp:    49 6d                                            Im
                Dec 12 09:09:11 gw ppp: [opt2] IPV6CP: SendConfigReq #7
                Dec 12 09:09:11 gw ppp: [opt2]  INTIDENT 020d:b9ff:fe3a:496d
                Dec 12 09:09:11 gw ppp: [opt2] xmit bypass frame link=-1 proto=0x8057
                Dec 12 09:09:11 gw ppp:    ff ff 80 57 01 07 00 0e 01 0a 02 0d b9 ff fe 3a  ...W...........:
                Dec 12 09:09:11 gw ppp:    49 6d                                            Im
                Dec 12 09:09:13 gw ppp: [opt2] IPV6CP: SendConfigReq #8
                Dec 12 09:09:13 gw ppp: [opt2]  INTIDENT 020d:b9ff:fe3a:496d
                Dec 12 09:09:13 gw ppp: [opt2] xmit bypass frame link=-1 proto=0x8057
                Dec 12 09:09:13 gw ppp:    ff ff 80 57 01 08 00 0e 01 0a 02 0d b9 ff fe 3a  ...W...........:
                Dec 12 09:09:13 gw ppp:    49 6d                                            Im
                Dec 12 09:09:15 gw ppp: [opt2] IPV6CP: SendConfigReq #9
                Dec 12 09:09:15 gw ppp: [opt2]  INTIDENT 020d:b9ff:fe3a:496d
                Dec 12 09:09:15 gw ppp: [opt2] xmit bypass frame link=-1 proto=0x8057
                Dec 12 09:09:15 gw ppp:    ff ff 80 57 01 09 00 0e 01 0a 02 0d b9 ff fe 3a  ...W...........:
                Dec 12 09:09:15 gw ppp:    49 6d                                            Im
                Dec 12 09:09:17 gw ppp: [opt2] IPV6CP: SendConfigReq #10
                Dec 12 09:09:17 gw ppp: [opt2]  INTIDENT 020d:b9ff:fe3a:496d
                Dec 12 09:09:17 gw ppp: [opt2] xmit bypass frame link=-1 proto=0x8057
                Dec 12 09:09:17 gw ppp:    ff ff 80 57 01 0a 00 0e 01 0a 02 0d b9 ff fe 3a  ...W...........:
                Dec 12 09:09:17 gw ppp:    49 6d                                            Im
                Dec 12 09:09:19 gw ppp: [opt2] IPV6CP: parameter negotiation failed
                Dec 12 09:09:19 gw ppp: [opt2] IPV6CP: state change Req-Sent --> Stopped
                Dec 12 09:09:19 gw ppp: [opt2] IPV6CP: LayerFinish

                1 Reply Last reply Reply Quote 0
                • ?
                  Guest
                  last edited by

                  Sorry, I meant PID , So you bought a device with VID/PID of 1199/9041. That is what I was wondering. Yours is only the second mention I have heard of the device.  The other user sounded like he had to switch his to PID=9041.

                  I recently setup MPD5 and I think it would benefit you to make this work in FreeBSD first and then it will be easy to backtrack to pfSense. Probably just a mpd.script setting it needs. Have you looked at the mpd5 doc's regarding ?

                  I don't know that I have ever seen anyone manipulate the modem init string that way. I knew it was possible. There are also mechanisms in the modem which make me wonder too. Have you had a good look at the Sierra pdf for Extended AT commands. It is pretty crazy all the options available. IPv6 might be one of them.

                  That said it might be easier to confirm with a Live Linux CD that IPv6 is working right at the modem level.

                  Once again I am sorry I can't help more.

                  1 Reply Last reply Reply Quote 0
                  • ?
                    Guest
                    last edited by

                    One thing that comes to mind is this. I used Advanced PPP>Modem Init String> one time to make an Ericsson H5321 work. It involved simply adding CFUN=1 as init string. This AT command simply tells the modem to turn on, but what it was doing is bypassing part of the modem mpd5 script so that the modem would work. The default settings were not working correctly and this worked.
                    How does this relate to your case: Well notice there is no APN given in my example. The pfSense GUI settings for my APN sticks.
                    I wonder if your not trying to feed two set of settings to MPD5. One from the APN field in the pfSense GUI and one you are forcing with AT+CGDCONT and the init string. Can you not feed it just the IPv6 setting you need?

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

                      Appreciate the responses, but I think my modem configuration is fine. I enabled some extended logging to verify the CHAT script and that looks good. My init goes through and isn't overridden by other commands. I know because if I change the PDP context to say "IPV6", I no longer get an IPv4 address. Also, yes, my device is VID 1199 and PID 9041. When the PDP is "IP" instead, the modem connects properly but only gets an IPv4 address, as expected for that PDP. So the problem just persist with IPV4V6, to get both an IPv4 and IPv6 link address. IPV6CP does not have any configuration options in MPD5, so there's not much I can tweak there. As you can see, the log above shows some rather verbose debugging output, including the whole wire payload to configure the link in IPV6CP's finite state machine.

                      However, after some consideration, I found a couple issues with my initial setup:

                      First, since the LAN interface tracks the WAN interface for its IPv6 address, whenever the main Cable route goes down the LAN interface will have an unroutable address, as well as the whole subnet which was configured by tracking the WAN interface and advertising the /56 subnet given to the WAN link. I have to figure out something around getting an ISP independent IPv6 subnet that can be routed across both links. A tunnel with HE.net would be nice, but they don't support dynamic tunnel end-point addresses, as far as I know. If anyone would have a suggestion around that, that would be great. And no, BGP with our own ASN is a bit out of the question. As for IPv4, given that it's doing NAT, the same issue does not exist and is working fine.

                      Secondly, for getting local DNS resolution to work, I realized that I didn't have a floating firewall rule for tcp/udp port 53 to enable policy based routing over the gateway group. Once I added that, my DNS resolutions started working again, albeit only over IPv4.

                      1 Reply Last reply Reply Quote 0
                      • ?
                        Guest
                        last edited by

                        While researching another problem I found this command in the Sierra Extended AT Commands pdf and was thinking of you.

                        AT!CUSTOM="DHCP6ENABLE",1

                        You can run the command AT!CUSTOM? to show custom settings and AT!CUSTOM=? to show custom options.

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

                          Unfortunately, it doesn't look like my modem understands the DHCP6ENABLE option. Here's a list of valid options, as printed by AT!CUSTOM=?:

                          !CUSTOM: 
                                      "ISVOICEN"
                                      "STKUIEN"
                                      "PCSCDISABLE"
                                      "CMCLIENT"
                                      "SIMHOTSWAPDIS"
                                      "ADBENABLE"
                                      "NOROAM"
                                      "GPIOSARENABLE"
                                      "GPSENABLE"
                                      "GPSLPM"
                                      "REL8FASTDORMDIS"
                                      "RRCREL7CAPDIS"
                                      "FASTENUMEN"
                                      "GPSSEL"
                                      "WAKEHOSTEN"
                                      "AUTONETWORKMODE"
                                      "WIN7MBOPTIONS"
                                      "NMEAENABLE"
                                      "CFUNPERSISTEN"
                                      "UBISTENABLE"
                                      "GOBIIMEN"
                                      "GMMCAUSE7REMAP"
                                      "GPSREFLOC"
                                      "SINGLEAPNSWITCH"
                                      "USBDMDISABLE"
                                      "SIMLPM"
                                      "USBSERIALENABLE"
                                      "CSVOICEREJECT"
                          
                          OK
                          
                          1 Reply Last reply Reply Quote 0
                          • ?
                            Guest
                            last edited by

                            Do you know what firmware you are using. I don't think I saw a T-Mobile in the Sierra firmware package. Have your upgraded firmware at all? Maybe post your ATI command output and AT!UDINFO? Perhaps you have an older firmware..

                            I saw the command in the MC7700's list and looked it up in the pdf. I need to check again as maybe it is only Qualcom MDM9200 modems use that command.

                            1 Reply Last reply Reply Quote 0
                            • ?
                              Guest
                              last edited by

                              Updated my device and have some more settings now.

                              
                              OK
                              ati
                              Manufacturer: Sierra Wireless, Incorporated
                              Model: MC7700
                              Revision: SWI9200X_03.05.29.03ap r6485 CNSHZ-ED-XP0031 2014/12/02 17:53:15
                              IMEI: 01262600105xxxx
                              IMEI SV: 23
                              FSN: CDC1373192710
                              3GPP Release 8
                              +GCAP: +CGSM
                              
                              OK
                              
                              at!custom=?
                              !CUSTOM:
                                          "MEPLOCK"
                                          "NOROAM"
                                          "NOGPRS"
                                          "PUKPRMPT"
                                          "MEPCODE"
                                          "NOAUTOC"
                                          "ADVPROF"
                                          "ISVOICEN"
                                          "DISPLDUN"
                                          "DATADISP"
                                          "SCANPROF"
                                          "DISSTACK"
                                          "HSDPATEST"
                                          "CSPMANDIS"
                                          "STKUIEN"
                                          "ATINDMASK"
                                          "PRLREGION"
                                          "PCSCDISABLE"
                                          "DISFDNPDPCHK"
                                          "HPPLMNSCDIS"
                                          "GPSENABLE"
                                          "CSDOFF"
                                          "OSPWWANENABLE"
                                          "AUTONETWORKMODE"
                                          "SWOCENABLE"
                                          "HSICON"
                                          "STARTLPM"
                                          "USBMSENABLE"
                                          "CSVOICEREJECT"
                                          "CUSTOMER"
                                          "WAPPUSHDATA"
                                          "USBDMDISABLE"
                                          "SIMLPM"
                                          "CPASCWRINGIND"
                                          "TRUFLOWDISABLE"
                                          "USBSERIALENABLE"
                                          "WIN7MBOPTIONS"
                                          "GPSLPM"
                                          "GPSREFLOC"
                                          "DHCP6ENABLE"
                                          "RDENABLE"
                                          "GPSSEL"
                                          "BBENABLE"
                                          "WIND"
                                          "PCNOTIFY"
                                          "CMCLIENT"
                                          "ROAMRATDIS"
                                          "SINGLEAPNSWITCH"
                                          "WAKEHOSTEN"
                                          "CFUNPERSISTEN"
                                          "MIMOCAPEN"
                                          "RRCREL7CAPDIS"
                                          "GPIOSARENABLE"
                                          "WIN8OOSACT"
                                          "LTESMS"
                                          "DHCPRELAYENABLE"
                              
                              OK
                              
                              
                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post
                              Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.