Hello, there: I am wondering if anyone has seen this problem, but we do see this problem in New Zealand (ISP: 2Degrees and Vodafone) and USA (ISP: AT&T). The problem is that the ECOS PPP is only negotiating DNS once, and if it is rejected, the DNS negotiation will be turned off and we will never get DNS IP address from PPP connection and the connection is always useless. In New Zealand, almost 80% the first DNS request will be rejected and 100% the second DNS request is taken. In USA AT&T, most of time the first DNS request is taken, but some time(rarely), the first request is rejected and the second retry is taken. Here is the problem: In the ppp/current/src/ipcp.c , look at #ifdef CYGOPT_PPP_NS_NEGOTIATE When the IPCP started, by default (in function ipcp_init()) wo->neg_dns1 = 1; wo->neg_dns2 =1; If the IPCP options are rejected by peer, we then turn off negotiation (in function ipcp_rejci()). But the problem is that some of the ISPs (such as 2Degrees in New Zealand and AT&T in USA) are rejecting some other options (e.g. option "Van Jacobson Compressed") along with DNS requests. Without retry, when the DNS options are rejected, we will never get DNS IP address. But it seems that for these ISPs, instead of turning off the DNS negotiation options after rejected, if I put retry (only once), it would always work and we will always get correct DNS IP addresses (both Primary and Secondary).
Does anybody see this issue? Or does anybody have solutions other than retrying? Another question is why we repeat sending the same requests? (see below) Thank you for your attention! Weili ------------- Following is the detail decoding For New Zealand 2Degrees ISP ------------ 1) ff 03 c0 21 01 01 00 14 02 06 00 00 00 00 05 06 05 c3 02 72 07 02 08 02 Sent To Peer: C0 21: LCP Protocol 01 : code ("Conf Request") 01 : ID 00 14: Len (including code, ID, len) followed by data 02 : (LCP Option: ACCM (Asynchronous Control Character Map)) 06 : length of ACCM 00 00 00 00: (ACCM data) 05 : (Type: Magic Number) 06 : length of Magic Number 05 c3 02 72: (the actual magic number) 07 : Type: Protocol Field Compression (PFC), 02 : length of PFC 08 : Type:Address Control Field Compression (ACFC) 02 : length of ACFC 2) ff 03 c0 21 02 01 00 14 02 06 00 00 00 00 05 06 05 c3 02 72 07 02 08 02 received from peer: C0 21: LCP Protocol 02 : code ("Conf Ack") 01 : ID 00 14: Len (including code, ID, len) followed by data 02 : (Option: ACCM) 06 : length 00 00 00 00: (ACCM data) 05 : (Type: Magic Number) 06 : length of Magic Number 05 c3 02 72: (the actual magic number) 07 : Type: Protocol Field Compression (PFC), 02 : length of PFC 08 : Type:Address Control Field Compression (ACFC) 02 : length of ACFC 3) ff 03 c0 21 01 02 00 1c 01 04 06 40 03 04 c0 23 05 06 d1 fc fe a6 02 06 00 00 00 00 07 02 08 02 Received from peer: C0 21: LCP Protocol 01 : code ("Conf Request") 02 : ID 00 1c: length 01 : LCP option: MRU (Max Receive Unit) 04 : length 06 40: (MRU = 1600 decimal) 03 : LCP Option: Authentication Protocol 04 : length c0 23: (PAP) 05 : LCP Option: Magic Number 06 : length d1 fc fe a6: (actual magic number) 02 : LCP Option: ACCM 06 : len 00 00 00 00: ACCM 07 : Type: Protocol Field Compression (PFC), 02 : length of PFC 08 : Type:Address Control Field Compression (ACFC) 02 : length of ACFC 4) ff 03 c0 21 02 02 00 1c 01 04 06 40 03 04 c0 23 05 06 d1 fc fe a6 02 06 00 00 00 00 07 02 08 02 Sent to peer: C0 21: LCP Protocol 02 : code ("Conf Ack") 02 : ID 00 1c: length 01 : LCP option: MRU (Max Receive Unit) 04 : length 06 40: (MRU = 1600 decimal) 03 : LCP Option: Authentication Protocol 04 : length c0 23: (PAP) 05 : LCP Option: Magic Number 06 : length d1 fc fe a6: (actual magic number) 02 : LCP Option: ACCM 06 : len 00 00 00 00: ACCM 07 : Type: Protocol Field Compression (PFC), 02 : length of PFC 08 : Type:Address Control Field Compression (ACFC) 02 : length of ACFC 5) ff 03 c0 21 09 00 00 08 05 c3 02 72 Sent to peer: C0 21: LCP Protocol 09 : code (Echo Request: optionally sent to test PPP connection) 6) ff 03 c0 23 01 01 00 06 00 00 Sent to peer: c0 23: Authentication Protocl (PAP) 01 : code (Conf Req) 01 : ID 00 06: length 00 : username len 00 : password len 7) ff 03 c0 21 0a 00 00 08 d1 fc fe a6 received from peer: C0 21: LCP Protocol 0a : code (Echo Reply) 8) ff 03 c0 23 02 01 00 27 22 54 54 50 20 43 6f 6d 20 50 50 50 20 2d 20 50 61 73 73 77 6f 72 64 20 56 65 72 69 66 69 65 64 20 4f 4b Received from peer: c0 23: Authentication Protocl (PAP) 02 : code (Conf Ack) 01 : ID 00 27: length 22 : message length data: TTP Com PPP - Password Verified OK 9) ff 03 80 21 01 01 00 1c 03 06 00 00 00 00 02 06 00 2d 0f 01 81 06 00 00 00 00 83 06 00 00 00 00 Sent to peer: 80 21: PPP IPCP protocol 01 : code (Conf Req) 01 : ID 00 1c: length 03 : Option: IP Address 06 : length 00 00 00 00: 02 : Option: IP Compression Protocol (IPCP) 06 : length 00 2d 0f 01: Van Jacobson Compressed TCP/IP 81 : Option: Pri DNS Server Address (RFC 1877) 06 : length 00 00 00 00 (default Pri-DNS IP) 83 : Option: Secondary DNS Server Address (RFC 1877) 06 : length 00 00 00 00 (default) 10) ff 03 80 21 01 01 00 1c 03 06 00 00 00 00 02 06 00 2d 0f 01 81 06 00 00 00 00 83 06 00 00 00 00 sent again to peer 11) ff 03 80 21 01 01 00 1c 03 06 00 00 00 00 02 06 00 2d 0f 01 81 06 00 00 00 00 83 06 00 00 00 00 sent again to peer 12) ff 03 80 21 04 01 00 16 02 06 00 2d 0f 01 81 06 00 00 00 00 83 06 00 00 00 00 received from peer: 80 21: PPP IPCP protocol 04 : Conf Reject 01 : ID 00 16: length 02 : IP Compression Protocol 06 : length 00 2d 0f 01: Van Jacobson Compressed TCP/IP 81 : Option: Pri DNS Server Address (RFC 1877) 06 : length 00 00 00 00 (default Pri-DNS IP) 83 : Option: Secondary DNS Server Address (RFC 1877) 06 : length 00 00 00 00 (default) -----above is the first reject and following is the retry that I put ------- 13) ff 03 80 21 01 02 00 1c 03 06 00 00 00 00 02 06 00 2d 0f 01 81 06 00 00 00 00 83 06 00 00 00 00 sent again to peer as 9) above 14) ff 03 80 21 01 02 00 1c 03 06 00 00 00 00 02 06 00 2d 0f 01 81 06 00 00 00 00 83 06 00 00 00 00 sent again! 15) ff 03 80 21 01 02 00 1c 03 06 00 00 00 00 02 06 00 2d 0f 01 81 06 00 00 00 00 83 06 00 00 00 00 sent again! 16) ff 03 80 21 01 02 00 1c 03 06 00 00 00 00 02 06 00 2d 0f 01 81 06 00 00 00 00 83 06 00 00 00 00 sent again! 17) ff 03 80 21 01 02 00 1c 03 06 00 00 00 00 02 06 00 2d 0f 01 81 06 00 00 00 00 83 06 00 00 00 00 sent again! 18) ff 03 80 21 04 02 00 0a 02 06 00 2d 0f 01 received from peer 80 21: PPP IPCP protocol 04 : Conf Reject 02 : ID 00 0a: length 02 : IP Compression Protocol 06 : length 00 2d 0f 01: Van Jacobson Compressed TCP/IP 19) ff 03 80 21 01 03 00 1c 03 06 00 00 00 00 02 06 00 2d 0f 01 81 06 00 00 00 00 83 06 00 00 00 00 sent to peer: same as 9) above 20) ff 03 80 21 01 01 00 0a 03 06 0a 00 00 01 received from peer: 80 21: PPP IPCP protocol 01 : Conf Req 01 : ID 00 0a: length 03 : IP Address 06 : length 0a 00 00 01: IP Address 10.0.0.1 21) ff 03 80 21 02 01 00 0a 03 06 0a 00 00 01 sent to peer: (confirm the IP address) 22) ff 03 80 21 04 02 00 0a 02 06 00 2d 0f 01 received from peer: conf-reject as 18) 23) ff 03 80 21 04 03 00 0a 02 06 00 2d 0f 01 received from peer: conf-reject as 18) 24) ff 03 80 21 01 04 00 16 03 06 00 00 00 00 81 06 00 00 00 00 83 06 00 00 00 00 sent to peer: 80 21: PPP IPCP protocol 01 : Conf Req 04 : ID 00 16: length 03 : Option: IP Address 06 : len 00 00 00 00: IP address 81 : Option: Pri DNS Server Address (RFC 1877) 06 : length 00 00 00 00 (default Pri-DNS IP) 83 : Option: Secondary DNS Server Address (RFC 1877) 06 : length 00 00 00 00 (default) 25) ff 03 80 21 03 04 00 16 03 06 76 94 a0 2a 81 06 76 94 01 0a 83 06 76 94 01 14 received from peer: 80 21: PPP IPCP protocol 03 : Config NAK 04 : ID 00 16: len 03 06 76 94 a0 2a: IP Address: 118.148.160.42 81 06 76 94 01 0a: Pri DNS IP Address 83 06 76 94 01 14: Second DNS IP Address 26) ff 03 80 21 01 05 00 16 03 06 76 94 a0 2a 81 06 76 94 01 0a 83 06 76 94 01 14 sent to peer 80 21: PPP IPCP protocol 01 : Config Req 04 : ID 00 16: len 03 06 76 94 a0 2a: IP Address: 118.148.160.42 81 06 76 94 01 0a: Pri DNS IP Address 83 06 76 94 01 14: Second DNS IP Address 27) ff 03 80 21 02 05 00 16 03 06 76 94 a0 2a 81 06 76 94 01 0a 83 06 76 94 01 14 received from peer 80 21: PPP IPCP protocol 03 : Config Ack 02 : ID 00 16: len 03 06 76 94 a0 2a: IP Address: 118.148.160.42 81 06 76 94 01 0a: Pri DNS IP Address 83 06 76 94 01 14: Second DNS IP Address -------------- End --- -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss