Hello!
I trying to gather information on how to implement a smart card reader driver that will fit inti the PCSC framework on Windows. First of all I would like to ask to members of this list if they know of a forum or mailing list dedicated to PCSC driver development? Maybe this list is the closest I will get?
On to my question:
I want my PCSC driver to run in user space and it seems that one way to do that is to write a UMDF driver. So far so good if I only need to support Windows XP (SP2) and Windows Vista. In my case that will not be enough. Does anyone here know if it is possible to write a PCSC driver (or whatever we should call it) without it being a either a UMDF or KMDF driver? At least in theory this should be possible depending on how the PCSC framework handles things.
Regards,
Mattias
Right now you cannot create a smart card driver in user mode. If this does happen, it will be a UMDF driver. What other platforms do you need support for outside of XPSP2 and Vista? This leaves kernel mode for now. You can write either a WDM or KMDF smart card driver. KMDF will certainly get you a functioning driver more quickly and will be easier to maintain over time. As an added bonus, the KMDF concepts are the same in UMDF so the eventual port to user mode will be easier.
d
-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@todos.se
Sent: Tuesday, October 09, 2007 8:57 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] PCSC community, driver development
Hello!
I trying to gather information on how to implement a smart card reader driver that will fit inti the PCSC framework on Windows. First of all I would like to ask to members of this list if they know of a forum or mailing list dedicated to PCSC driver development? Maybe this list is the closest I will get?
On to my question:
I want my PCSC driver to run in user space and it seems that one way to do that is to write a UMDF driver. So far so good if I only need to support Windows XP (SP2) and Windows Vista. In my case that will not be enough. Does anyone here know if it is possible to write a PCSC driver (or whatever we should call it) without it being a either a UMDF or KMDF driver? At least in theory this should be possible depending on how the PCSC framework handles things.
Regards,
Mattias
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
OK. That’s bad news for me since I need to support Windows 2000 as well. =)
If I understand you correctly there is no way that I can register a PCSC driver from user space? And there is not even a way (currently) to write a UMDF PCSC driver? What is the specific reason for this? Are there some parts of the PCSC framework that are only accessible from kernel space?
If it is really the case that you can’t write a user space PCSC driver, then perhaps you have some information on why this is so? I’m just curious since it seems that there is no real reason why one should place that kind of restrictions on a smart card reader driver.
Regards,
Mattias
The smart card subsystem needs a device interface arrival event to find the reader. Before UMDF there was no way to publish a device interface from user mode. The focus of user mode drivers generically across many device classes is a relatively new effort at Microsoft, so while there is no support for many of these scenarios today we are working on bringing them to reality in the future.
d
-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@todos.se
Sent: Wednesday, October 10, 2007 1:27 AM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] PCSC community, driver development
OK. That’s bad news for me since I need to support Windows 2000 as well. =)
If I understand you correctly there is no way that I can register a PCSC driver from user space? And there is not even a way (currently) to write a UMDF PCSC driver? What is the specific reason for this? Are there some parts of the PCSC framework that are only accessible from kernel space?
If it is really the case that you can’t write a user space PCSC driver, then perhaps you have some information on why this is so? I’m just curious since it seems that there is no real reason why one should place that kind of restrictions on a smart card reader driver.
Regards,
Mattias
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
This might not be the correct forum for this but I will say it anyway…
I have a smart card reader that only speaks RS-232 which I need to write a PCSC driver for. I would really like to avoid having to write a KMDF (or even UMDF) driver for it. Having to dive into kernel space in order to speak RS-232 seem like a lot of unnecessary work. There might be nuances to this that I’m missing, but I would really like to have some kind of user space API to register my drivers in the PCSC framework.
As I said, this might not be the correct forum for this kind of feedback. What is the correct forum anyway? =)
Regards,
Mattias
Well there is a partially mitigating scenario here. you can install serial.sys as a lower filter to your (undesirable) KMDF driver. Serial will take care of the rs232 hardware access and you just need to send IRPs to lower device. The input sample mouser shows how to do this.
d
-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@todos.se
Sent: Thursday, October 11, 2007 11:17 AM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] PCSC community, driver development
This might not be the correct forum for this but I will say it anyway…
I have a smart card reader that only speaks RS-232 which I need to write a PCSC driver for. I would really like to avoid having to write a KMDF (or even UMDF) driver for it. Having to dive into kernel space in order to speak RS-232 seem like a lot of unnecessary work. There might be nuances to this that I’m missing, but I would really like to have some kind of user space API to register my drivers in the PCSC framework.
As I said, this might not be the correct forum for this kind of feedback. What is the correct forum anyway? =)
Regards,
Mattias
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
OK. Thanks! I really appreciate your input. Don’t be surprised if I’m back here in a couple of weeks with more questions. =)
Regards,
Mattias