GSM Failover with IPv6
-
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?
-
Maybe even try the "Track Interface" setting for IPv6
-
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 failedFull 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 ATDT99#..
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 -
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.
-
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? -
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.
-
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.
-
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
-
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.
-
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