1

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.

8
  • If you don't mind me asking, what are you trying to do within Windows 7 using a smart card? Our largest domain is configured with a similar setup, but we also have ActivClent software installed to gracefully facilitate PKI certificate management.
    – Run5k
    Nov 10, 2016 at 19:59
  • @Run5k I have a customer who requires a smart card for login through Citrix and IE. Hardly my first choice. Nov 10, 2016 at 20:31
  • That is certainly understandable, and I can empathize. Based upon my past experience, configuring a virtual machine to utilize smart card authentication can be a rather time consuming experience. Hopefully someone else can chime in with some words of wisdom that will be beneficial.
    – Run5k
    Nov 10, 2016 at 20:42
  • @Run5k Thanks. More frustrating (and perhaps should be included in my question) is that it was working a few months ago when I last needed it. It also works on my bosses computer (same hardware), but we have both looked at it, compared setups, and haven't seen where it went wrong. Nov 10, 2016 at 20:55
  • We are talking about a USB Smart Card Reader, yes?
    – Ramhound
    Nov 10, 2016 at 20:56

3 Answers 3

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.

5
  • This is exactly my experience too. I would love to find a reliable sequence of actions that allows me to use my smart card. Apr 23, 2018 at 15:51
  • More details - I also am running a Win7 guest on a Linux host. The USB reader is recognized reliably, but the PIV device (the actual card) seems completely random. After the install/uninstall/remove/insert dance, it eventually works. This on VirtualBox 5.2.8 r121009 on Ubuntu 17.10 with the extensions installed in the Windows 7 guest. Apr 23, 2018 at 15:57
  • I'm currently running Ubuntu 16.04 LTS with VirtualBox 5.2.8 r121009 hosting Windows 7 and having less trouble than I did when I originally posted (running Ubuntu 14.04 LTS). I do still have trouble, but generally speaking, plugging in the reader, mounting it in Windows and then plugging in the PIV card seems to be the most reliable pattern, but still not 100%. Apr 23, 2018 at 19:48
  • @JamesDuvall I should tell you that I gave up on using the card reader built into my laptop and I use an external one now. The external one is more reliable under the guest Windows 7 than the internal one. Apr 23, 2018 at 19:50
  • I have an update for my machine. I found that the Windows 7 guest OS was using a generic driver for the smart card. I downloaded the manufacturer's driver and manually installed it. This seems to have increased the reliability of the card reader quite a bit. I would say that about 90% of the time, my card is correctly recognized. I can even switch back and forth between using my card on the Linux host and the Windows guest without too much difficulty. Apr 4, 2019 at 4:16
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.

1
  • The Windows install in VirtualBox can see the card reader, so it can see the USB device. Somehow, it can't see the card inside the card reader. Mar 29, 2017 at 18:50
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).

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .