smart card driver in linux environment

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view

smart card driver in linux environment

Srinivas G.

Dear All,


I have asked you about developing smart card driver in Linux environment long back.

I got some information after studying the PC/SC specifications and OpenSC User Manuals. The general smart card architecture as follows





From the above architecture I understood that I need to develop the IFD (smart card reader) driver to my PCI card. For this IFD driver I follow the character driver features and I decided to develop a character driver for handling the following features


1)                   Power management features

2)                   Parsing the ATR

3)                   Transmitting and receiving functionality between ICC and IFD for T=0 and T=1

4)                   IOCTLs based on the requirement


I also understood that I need to develop the IFD Handler that is specific to our IFD.

I have studied the ifhandler.pdf file which explains about the APIs that are generally accessed by the Resource Manager of the PC/SC Lite.




Still I have some doubts in my mind.  Could any one please clarify them?


1)         Where can I find the installation procedure for the OpenSC Library under Linux environment?

If I install the OpenSC library, even then I need to install the PC/SC lite on my Linux box?


I have gone through the following link, but it gives more information on Windows boxes only.



2)         How the Resource Manager knows about our IFD Handler and our I/O device driver?

Where/How can we inform the Resource Manager about our IFD Handler and I/O Device Driver?



3)         I studied in the PART-3 of the PC/SC specification about the following.

            The slot logical device shall support the following ICC-related events:

                        • Card insertion notification

                        • Card removal notification


My question is: How the PC/SC Resource Manager will know about the Card Insertion or Card Removal Events?

            I also studied about it like

When one of these events occurs, it is the responsibility of the IFD Handler to notify the ICC Resource Manager layer.

How it will notify the RM of the PC/SC Lite? Should I need to do any thing in the driver on behalf of this?


4)         If the system has two different smart card readers (IFDs) then how it will distinguishes the IFD Handlers?

            Like in which slot the user has inserted the smart card?



5)         My final question is: I need to develop only IFD Handler and I/O device driver for my IFD (smart card reader). Is it correct?


            I need to develop any other modules other than this.


Thanks in advance.


Thanks and Regards,

Srinivas G



opensc-user mailing list
[hidden email]
Reply | Threaded
Open this post in threaded view

Re: smart card driver in linux environment

Andreas Jellinghaus-2
I answered that question on opensc-devel.
please post to one mailing list only,
at least all developers read every email
on every list. if in doubt choose either,
that is still better than posting to many
mailing lists.

thanks, Andreas
opensc-user mailing list
[hidden email]