DetailPage-MSS-KB

Microsoft small business knowledge base

Article ID: 904943 - Last Review: March 17, 2010 - Revision: 2.0

On This Page

SYMPTOMS

When you use Protected Extensible Authentication Protocol-Microsoft Challenge Handshake Authentication Protocol version 2 (PEAP-MS-CHAP-v2) as the authentication method for an 802.1X connection, computer authentication may not succeed. If computer authentication is the only authentication method that is used to establish a connection, the connection may not succeed.

CAUSE

When the expiration date is reached for the computer password, the Net Logon service may force the local computer credentials to expire while the computer is offline. Therefore, the logon password may not match the password on the domain controller, and the computer cannot successfully authenticate. To reset the password by using a domain controller, the computer must establish a network connection over an unsecured port.

WORKAROUND

To work around this problem, use one of the following methods:

Method 1: Use both computer and user authentication

Use both computer and user authentication. Although computer authentication does not succeed, user authentication establishes a secured connection. Therefore, the computer password is reset.

Method 2: Use EAP-TLS instead of PEAP-MS-CHAP-v2

Use Extensible Authentication Protocol-Transport Layer Security (EAP-TLS) instead of PEAP-MS-CHAP-v2.

MORE INFORMATION

Call stack output

Client Net Logon log

06/27 12:51:22 [INIT] Group Policy is not defined for Netlogon
06/27 12:51:22 [INIT] Following are the effective values after parsing
06/27 12:51:22 [INIT]    DBFlag = 0 (0x0)
06/27 12:56:30 [SESSION] DOMAIN: NlChangePassword: Doing it.
06/27 12:56:31 [SESSION] DOMAIN: NlChangePassword: Flag password changed in LsaSecret
06/27 12:56:31 [DNS] Cache: DOMAIN DOMAIN.org.: Found existing domain cache entry
......
06/27 13:00:30 [MISC] NetpDcGetName: DOMAIN similar query failed recently 0
06/27 13:00:30 [CRITICAL] DOMAIN: NlDiscoverDc: Cannot find DC.
06/27 13:00:30 [CRITICAL] DOMAIN: NlSessionSetup: Session setup: cannot pick trusted DC
06/27 13:00:30 [MISC] Eventlog: 5719 (1) "DOMAIN" 0xc000005e c000005e   ^...
06/27 13:00:30 [MISC] DsGetDcName function called: Dom:DOMAIN Acct:(null) Flags: DS BACKGROUND NETBIOS RET_DNS 
06/27 13:00:30 [DNS] Cache: DOMAIN (null): Found existing domain cache entry
06/27 13:00:30 [MISC] NetpDcGetName: DOMAIN similar query failed recently 10
06/27 13:00:30 [MISC] DsGetDcName function returns 1355: Dom:DOMAIN Acct:(null) Flags: DS BACKGROUND NETBIOS RET_DNS 
06/27 13:00:30 [SESSION] DOMAIN: NlSetStatusClientSession: Set connection status to c000005e
06/27 13:00:30 [SESSION] DOMAIN: NlSessionSetup: Session setup Failed
06/27 13:00:30 [INIT] Started successfully
....
06/27 13:16:27 [CRITICAL] NetpDcGetNameNetbios: DOMAIN: Cannot NlBrowserSendDatagram. (1C) 53
06/27 13:16:27 [CRITICAL] NetpDcGetName: DOMAIN: IP and Netbios are both done.
06/27 13:16:27 [CRITICAL] DOMAIN: NlDiscoverDc: Cannot find DC.
06/27 13:16:27 [CRITICAL] DOMAIN: NlGetAnyDCName: Discovery failed c000005e
06/27 13:16:27 [CRITICAL] DsrGetSiteName: NlGetAnyDCName failed. Returning site '(null)' from local cache.
06/27 13:16:27 [MISC] DsGetDcName function called: Dom:(null) Acct:(null) Flags: IP TIMESERV AVOIDSELF BACKGROUND 
06/27 13:16:27 [DNS] Cache: DOMAIN (null): Found existing domain cache entry
06/27 13:16:27 [MISC] NetpDcGetName: DOMAIN similar query failed recently 10
06/27 13:16:27 [MISC] DsGetDcName function returns 1355: Dom:(null) Acct:(null) Flags: IP TIMESERV AVOIDSELF BACKGROUND 
06/27 13:16:29 [SESSION] I_NetLogonGetAuthData: (null) DOMAIN
06/27 13:16:29 [CRITICAL] I_NetLogonGetAuthData: DOMAIN: failed C000005E  <==STATUS_NO_LOGON_SERVERS
06/27 13:16:29 [SESSION] I_NetLogonGetAuthData: (null) DOMAIN
06/27 13:16:29 [CRITICAL] I_NetLogonGetAuthData: DOMAIN: failed C000005E
06/27 13:16:29 [SESSION] I_NetLogonGetAuthData: (null) DOMAIN
06/27 13:16:29 [CRITICAL] I_NetLogonGetAuthData: DOMAIN: failed C000005E
06/27 13:16:29 [SESSION] I_NetLogonGetAuthData: (null) DOMAIN
06/27 13:16:29 [CRITICAL] I_NetLogonGetAuthData: DOMAIN: failed C000005E
06/27 13:16:29 [SESSION] I_NetLogonGetAuthData: (null) DOMAIN
06/27 13:16:29 [CRITICAL] I_NetLogonGetAuthData: DOMAIN: failed C000005E
06/27 13:16:30 [SESSION] I_NetLogonGetAuthData: (null) DOMAIN
06/27 13:16:30 [CRITICAL] I_NetLogonGetAuthData: DOMAIN: failed C000005E

Client RASCHAP log

[1116] 06-27 13:23:19:802: ChapBegin(fS=0,bA=0x81)
[1116] 06-27 13:23:19:802: ChapBegin done.
[1116] 06-27 13:23:19:802: ChapMakeMessage,RBuf=00000000
[1116] 06-27 13:23:19:802: ChapCMakeMessage...
[1116] 06-27 13:23:19:802: CS_Initial
[1116] 06-27 13:23:19:802: EapMSChapv2MakeMessage
[1116] 06-27 13:23:19:802: EapMSChapv2CMakeMessage
[1116] 06-27 13:23:19:802: EMV2_Initial
[1116] 06-27 13:23:19:802: ChapMakeMessage,RBuf=000D6CA3
[1116] 06-27 13:23:19:802: ChapCMakeMessage...
[1116] 06-27 13:23:19:802: CS_WaitForChallenge
[1116] 06-27 13:23:19:802: MakeResponseMessage...
[1116] 13:23:19:802: GetChallengeResponse
[1116] 13:23:19:802: RegisterLSA
[1116] 13:23:19:802: GetChallengeResponse Success
[1116] 06-27 13:23:19:802: GetChallengeResponse=0
02 0A 00 4B 31 2D E1 54 DF 84 54 AC D3 2A 19 17 |...K1-.T..T..*..|
D9 C3 19 69 18 00 00 00 00 00 00 00 00 30 83 68 |...i.........0.h|
65 71 F2 D8 B1 F3 62 31 12 FF CF A7 5A C3 BF 48 |eq....b1....Z..H|
00 0E 02 4A FD 00 68 6F 73 74 2F 63 72 65 73 65 |...J..host/crese|
6E 74 2E 62 65 65 72 2E 6F 72 67 00 00 00 00 00 |nt.DOMAIN.org.....|
[1116] 06-27 13:23:19:852: EapMSChapv2MakeMessage
[1116] 06-27 13:23:19:852: EapMSChapv2CMakeMessage
[1116] 06-27 13:23:19:852: EMV2_ResponseSend
[1116] 06-27 13:23:19:852: ChapMakeMessage,RBuf=000D936B
[1116] 06-27 13:23:19:852: ChapCMakeMessage...
[1116] 06-27 13:23:19:852: CS_ResponseSent
[1116] 06-27 13:23:19:852: Message received...
04 0A 00 34 45 3D 36 39 31 20 52 3D 31 20 43 3D |...4E=691 R=1 C=|  <== 691 IS ERROR_AUTHENTICATION_FAILURE
37 46 31 33 34 45 46 36 42 35 35 32 42 36 37 36 |7F134EF6B552B676|
44 44 37 43 43 38 33 31 45 30 32 42 45 41 37 30 |DD7CC831E02BEA70|
20 56 3D 33 00 00 00 00 00 00 00 00 00 00 00 00 | V=3............|
[1116] 06-27 13:23:19:852: GetInfoFromFailure...
[1116] 06-27 13:23:19:852: 'C=' challenge provided,bytes=16...
7F 13 4E F6 B5 52 B6 76 DD 7C C8 31 E0 2B EA 70 |.N..R.v.|.1.+.p|
[1116] 06-27 13:23:19:852: GetInfoFromFailure done,e=691,r=1,v=3
[1116] 06-27 13:23:19:852: Retry :| ex=11 ts=11
[1116] 06-27 13:23:52:879: EapMSChapv2End
[1116] 06-27 13:23:52:879: ChapEnd

Server Net Logon log

06/27 13:23:20 [MISC] DOMAIN: DsGetDcName function returns 0: Dom:DOMAIN Acct:(null) Flags: DSP NETBIOS RET_DNS 
06/27 13:23:20 [LOGON] DOMAIN: SamLogon: Network logon of DOMAIN\COMPUTER$ from  Entered
06/27 13:23:20 [LOGON] DOMAIN: SamLogon: Network logon of DOMAIN\COMPUTER$ from  Returns 0xC000006A <==STATUS_WRONG_PASSWORD
06/27 13:23:54 [LOGON] DOMAIN: SamLogon: Network logon of DOMAIN\COMPUTER$ from  Entered
06/27 13:23:54 [LOGON] DOMAIN: SamLogon: Network logon of DOMAIN\COMPUTER$ from  Returns 0xC000006A
06/27 13:24:24 [LOGON] DOMAIN: SamLogon: Network logon of DOMAIN\COMPUTER$ from  Entered
06/27 13:24:24 [LOGON] DOMAIN: SamLogon: Network logon of DOMAIN\COMPUTER$ from  Returns 0xC000006A
06/27 13:24:57 [LOGON] DOMAIN: SamLogon: Network logon of DOMAIN\COMPUTER$ from  Entered
06/27 13:24:57 [LOGON] DOMAIN: SamLogon: Network logon of DOMAIN\COMPUTER$ from  Returns 0xC000006A
06/27 13:25:27 [LOGON] DOMAIN: SamLogon: Network logon of DOMAIN\COMPUTER$ from  Entered
06/27 13:25:27 [LOGON] DOMAIN: SamLogon: Network logon of DOMAIN\COMPUTER$ from  Returns 0xC000006A
06/27 13:26:00 [LOGON] DOMAIN: SamLogon: Network logon of DOMAIN\COMPUTER$ from  Entered
06/27 13:26:00 [LOGON] DOMAIN: SamLogon: Network logon of DOMAIN\COMPUTER$ from  Returns 0xC000006A
06/27 13:26:09 [MISC] DOMAIN: DsGetDcName function called: Dom:DOMAIN.org Acct:(null) Flags: DS BACKGROUND RET_DNS 
06/27 13:26:09 [DNS] NetpDcFindDomainEntry: DOMAIN DOMAIN.org.: Found domain cache entry with quality 2/6
06/27 13:26:09 [DNS] Cache: DOMAIN DOMAIN.org.: Found existing domain cache entry
06/27 13:26:09 [MAILSLOT] Received ping from COMPUTER.DOMAIN.org (null) on <Local>

Note The netlogon service keeps two passwords, the current and the previous password. When the time to change comes along, netlogon generates a new password, stores the current password in the previous password store and writes the new password to the current password store. After this, it tries to push the current password to the DC.

If the machine is offline at the time (or in quarantine awaiting 802.1x to come up and do PEAP), it will back off and do it later. But the new password is considered the current password by netlogon. This is no problem for Netlogon, as it will try the previous password in case the current password fails. Now the problem with the 802.1x communication with netlogon is that 802.1x can currently only access the current password, which in this scenario is not known on the DC yet.

APPLIES TO
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows XP Professional
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Datacenter Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows 2000 Server
  • Windows Vista Enterprise
  • Windows Vista Ultimate
  • Windows Vista Home Premium
  • Windows Vista Home Basic
  • Windows Vista Business
  • Windows 7 Enterprise
  • Windows 7 Enterprise N
  • Windows 7 Home Basic
  • Windows 7 Home Premium
  • Windows 7 Home Premium N
  • Windows 7 Professional
  • Windows 7 Professional N
  • Windows 7 Release Candidate
  • Windows 7 Starter
  • Windows 7 Starter N
  • Windows 7 Ultimate
  • Windows 7 Ultimate N
Keywords: 
kbtshoot kbprb KB904943
Share
Additional support options
Ask The Microsoft Small Business Support Community
Contact Microsoft Small Business Support
Find Microsoft Small Business Support Certified Partner
Find a Microsoft Store For In-Person Small Business Support