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.