I'm currently working on smartcard logon as well. I've been able to setup one with Windows Server 2008 and Windows 7 for the client. I must say I'm a little pessimistic concerning a Linux alternative on the server side. This doc
shows how a smartcard logon is performed within a Windows environment. As you can see, not only an Active Directory is needed, but a lot of other services.
Since you asked, I assume you really need an online (Active Directory) logon ? Because if you're interested in an offline (local) smartcard logon, you might want to take a look at EIDAuthenticate
Don't hesitate to ask for more information and tell us if you find your answer !