Fix SCARD_E_INVALID_ATR (0X80100015) on Windows
This error means Windows found a bad ATR string in the registry for your smart card reader. The fix is to delete or fix that registry value so the reader works again.
Quick answer for pros
Delete or fix the registry value at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Calais\Readers that contains a corrupt ATR string. Restart the smart card service after.
What's going on here
I've seen this error pop up mostly on Windows 10 and 11 machines when a smart card reader is plugged in but Windows can't read the card because the stored ATR (Answer To Reset) string in the registry is garbage. This happens a lot after a driver update, a failed card insert, or when you use a reader with a weird card that Windows doesn't know. The error code 0X80100015 is basically Windows saying "I found something that looks like an ATR in the registry, but it's not valid."
The real fix is straightforward, but you need to be careful with the registry. I'll walk you through it.
Fix steps (main solution)
- Open Regedit
Press Win + R, typeregedit, hit Enter. Say Yes if UAC asks. - Go to the smart card reader key
Navigate to:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Calais\Readers - Find your reader
UnderReaders, you'll see one or more subkeys named after connected readers (like "SCM Microsystems SCR3310"). Look for a value namedATRorATRString— it's usually in hex format. - Check the ATR value
If it's empty, has weird symbols, or contains spaces where there shouldn't be any, it's corrupted. Right-click the value and select Delete. Or if you know the correct ATR string for your card, you can replace it. - Restart the smart card service
Close regedit. Open Command Prompt as admin (right-click Start > Command Prompt Admin). Type:net stop scardsvr && net start scardsvr - Test your card
Plug the reader back in, insert the card, and see if Windows recognizes it now.
Alternative fix: use group policy
If the above doesn't work — and I've seen this on locked-down corporate machines — the issue might be group policy blocking custom ATRs. Check this:
- Press Win + R, type
gpedit.msc(only on Pro/Enterprise editions). - Go to
Computer Configuration > Administrative Templates > Windows Components > Smart Cards. - Find "Turn on explicit ATR paths". If it's enabled, it forces Windows to only use ATRs from a specific path. Disable it or set it to Not Configured.
- Run
gpupdate /forcein Command Prompt. - Restart the smart card service again.
Prevention tip
This error usually comes back if you keep using the same bad card or a flaky reader. My advice: always unplug the reader before removing the card, and avoid using cards that Windows doesn't have native drivers for. If you can, update your reader's driver from the manufacturer's site — not from Windows Update, which often pushes generic drivers that mess up the ATR.
One more thing: if you're on a domain-joined machine, your admin might have set a GPO that blocks registry edits. In that case, you'll need them to push a fix. Show them this article.
Was this solution helpful?