2

I have Windows 7 running under VirtualBox. Windows 7 contains an application that requires a smart card to work.

The host system has a smart card reader and under Linux (native OS) I can see both the reader and the card.

In VirtualBox, if there is a card present in the smart card reader, I can connect the reader as a USB device. This is under Devices => USB Devices => Generic EMV Smartcard Reader. Windows 7 can then see the smart card reader, but never the smart card.

Here is the Windows output from "certutil -scinfo":

The Microsoft Smart Card Resource Manager is running.  

Current reader/card status:   Readers: 1  
     0: Generic EMV Smartcard Reader 0  
--- Reader: Generic EMV Smartcard Reader 0  
--- Status: SCARD_STATE_EMPTY  
--- Status: No card.  
---   Card:  

=======================================================  
Analyzing card in reader: Generic EMV Smartcard Reader 0  

--------------===========================--------------

Done.  
CertUtil: -SCInfo command completed successfully.

I've tried rebooting Windows, starting and stopping the smart card service, removing and reinserting the card. Nothing has worked and I've failed to find anything else helpful on the internet.

Update

Rebooted the host machine (Linux) and restarted VirtualBox. No effect.

I also uninstalled the MS Driver (Micorsoft Usbccid Smartcard Reader (WUDF). Then I "unplugged" the USB card reader and "re-plugged" it back in. Windows reinstalled the same driver and failed in the exact same way.

Update 2

Sometimes uninstalling the Windows driver helps. Still seems like a serious of random events to make it work correctly.

3 Answers3

0

So after "plugging" and "unplugging" the reader from the virtual box and remove and reinserting the card, it finally decided to work. No idea what changed or why, but it seems that doing a chicken dance with the hardware will eventually convince Windows to see the reader and the card.

Update

Still having serious problems with it. It seems between plugging and unplugging, uninstalling the Window driver also helps "shake" lose whatever is wrong. But it still seems essentially random.

Talk about an awful user experience.

0

Guest OS from any virtual environment doesn't allow to see the existing ports and plugged devices. You will plug and unplug continiously and this could have no result.

Well, if you still have some problems, try this third-party software. It might be a good helper. http://www.flexihub.com/access-remote-emv-smart-cardreader.html

I already tried it with VirtualBox today - worked for me, but I use EMV card reader and my host OS is Mac, if it is important. GuestOS (Windows) sees the device (cardreader) as plugged in directly.

0

My experience is that the Windows guest doesn't seem to be notified of the smartcard insertion. I have two tricks to address this:

  • when using an external USB reader, insert the smartcard in the reader while disconnected, plug the reader, then the Windows USB subsystem correctly triggers the "new device discovery" and everything shows up
  • when using the internal reader on my host, insert the smartcard, go to the guest Windows Device Manager, force a "Scan for hardware changes", then the smartcard device shows up

I don't need to install/uninstall the smartcard reader device in the guest. I don't always have to rescan either.

I'm looking for a way to simplify the rescan, maybe devcon rescan as an administrator could be it (and then a quick way of obtaining devcon.exe becomes of interest).

slv
  • 221