Unable to passthrough USB smart card readers in Workstation for Linux
search cancel

Unable to passthrough USB smart card readers in Workstation for Linux

book

Article ID: 341460

calendar_today

Updated On:

Products

VMware Desktop Hypervisor

Issue/Introduction

This article provides steps to manually enable passthough of USB smart cards on Workstation 11.0 and later.

Symptoms:
Unable to passthrough a USB smart card readers to a guest operating system in Workstation for Linux version 11.0 and later.

Environment

VMware Workstation Pro 12.x (Linux)
VMware Workstation 11.x (for Linux)

Cause

On common Linux distributions, PCSCD is the smart card daemon that claims and controls smart card readers. When you want to passthrough a USB smart card to the guest, the Workstation tries to yank the device from the PCSCD service. This leads to a bunch of (vmx-vcpu-0) did not claim interface 0 before use in the dmesg logs.

VMware has disabled passthrough of USB smart cards to encourage the users to use the virtual USB smart card in the guest. As a result, users are unable to passthrough a USB smart card to the guest.

Resolution

To passthrough a USB smart card reader:

Note: Ensure to power off the virtual machine before proceeding with the steps.

  1. Open the vmx configuration file, located at /home/username/vmware/, using a text editor.
  2. Insert this entry in the vmx configuration file to enable USB smart card passthrough:

    usb.generic.allowCCID = "TRUE"

  3. Insert this entry in the vmx configuration file to disable the virtual smart card backend:

    usb.ccid.disable = "TRUE"

  4. Run this command to stop the pcscd process:

    sudo /etc/init.d/pcscd stop

  5. Run this command to verify that the pcscd process is not running:

    ps aux | grep pcscd



Additional Information

Impact/Risks:
If the user executes the above steps, it would no longer be possible to use the virtual smart card backend. Therefore, you cannot share a physical smart card with multiple guests.