Problems with Smartcard reader passthrough using Rdesktop
Moritz Mühlenhoff <[email protected]>
| Newsgroups | gmane.network.rdesktop.user |
|---|---|
| Message-ID | <[email protected]> |
Hi,
we're testing smart card passthrough from a Linux system to a virtual machine
with Windows XP using Rdesktop, i.e. the application using the smart card
runs inside the virtual machine.
Two smart card readers need to be supported, one is a Omnikey 3121 USB reader
and the other a Chipdrive Micro 120 using a serial line. Unfortunately, both
approaches fail; the smart cards are not detected in the Windows hardware
device management inside the virtual machine. See below for details.
The drivers for the individual smart cards have been installed inside the
Windows virtual machine and we've verified with a native Windows XP
installation that they work (we used the Windows freeware tool "Chipcard
Master" to read a German bank card). So, the problem must be somewhere in the
way the smartcard devices are tunneled through rdesktop:
We're using rdesktop 1.6 based on the package from Debian unstable. It has
been compiled with the following configure invocation:
./configure --host=i486-linux-gnu --build=i486-linux-gnu --prefix=/usr --mandir=\${prefix}/share/man -
-infodir=\${prefix}/share/info --with-ipv6 --enable-smartcard --with-debug-smartcard
PS/SC Lite 1.5.5 was used on the Linux side with the CCID driver 1.3.8 as the
PS/SC driver for the Omnikey reader.
1. Omnikey 3121 (USB)
The smart card reader seems to be properly detected on the Linux side.
pcsc_scan finds the reader and inserting the bank card shows status messages
about "Card removed" and "Card inserted, Unresponsive card"
We're starting rdesktop with the following command. The "Win name" is the name
the card reader had by default in the native Windows installation.
rdesktop -r scard:"OmniKey CardMan 3121 00 00"="Cardman 3x21"
$IP_ADDRESS_OF_VM
Static/aliased Device:
Lin name: [OmniKey CardMan 3121 00 00]
Win name: [Cardman 3x21]
Vendor : []
Autoselected keyboard map de
SCARD: SCardAccessStartedEvent()
SCARD: SCardEstablishContext()
SCARD: -> Success (context: 0x010321d3)
SCARD: SCardListReaders(context: 0x010321d3)
SCARD: -> Success
SCARD: SCardGetStatusChange(context: 0x010321d3, timeout: 0xffffffff, count:
2)
SCARD: "\\?PnP?\Notification"
SCARD: user: 0x00000000, state: 0x00000001, event: 0x00000000
SCARD: current state: 0x00000000
SCARD: "OmniKey CardMan 3121 00 00"
SCARD: user: 0x00000000, state: 0x00000010, event: 0x00000000
SCARD: current state: 0x00000010
SCARD: SCardEstablishContext()
SCARD: -> Success (context: 0x01038765)
SCARD: SCardListReaders(context: 0x01038765)
SCARD: -> Success
SCARD: SCardListReaders(context: 0x01038765)
SCARD: -> Success
However, the Windows hardware detection doesn't detect the smart card reader
and tools accessing the smart card reader (like the Omnikey test tool or
Chipcard Master) don't find the reader either.
Are we using incorrect parameters? Does the above output indicate that the
tunneling generally works? Is more needed to detect the reader in Windows?
2. Chipdrive Micro
rdesktop was launched with the following command:
rdesktop -r 'comport:COM1=/dev/ttyS0' $IPADDRESS-OF-VM
rdesktop emits a message "SERIAL COM1 to /dev/ttyS0".
However, as with the PS/SC tunneling the Windows hardware detection doesn't
detect the smart card reader and tools accessing the smart card reader (like
the Chipcard Master) don't find the reader either.
Are we using incorrect parameters? Should raw tunneling of the serial line
work or is something else needed to detect the smart card reader in Windows?
I tried to analyse the RDP session with Wireshark, but there doesn't seem to
be a dissector yet, so I can't tell whether the respective channels are
active at all.
Thanks in advance for your help, if you need further information I can provide
them on request.
Cheers,
Moritz
--
Moritz Mühlenhoff
Open Source Software Engineer and Consultant
Univention GmbH
Linux for your business
Mary-Somerville-Str.1
28359 Bremen
Tel. : +49 421 22232-0
Fax : +49 421 22232-99
[email protected]
http://www.univention.de
Geschäftsführer: Peter H. Ganten
HRB 20755 Amtsgericht Bremen
Steuer-Nr.: 71-597-02876
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now. http://p.sf.net/sfu/bobj-july
_______________________________________________
rdesktop-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/rdesktop-users