When users use smart card as the authentication to log into ESXi shell, 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 ESXi tries to pull the device from the PCSCD service. This leads to warning messages in the logs similar to:
(vmx-vcpu-0) did not claim interface 0 before use
To avoid the conflicts, VMware has disabled passthrough of USB smart cards to encourage the users to use the USB smart card from remote client instead of ESXi server. 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.
Open the vmx configuration file located at the virtual machine directory, using a text editor.
Insert this entry in the vmx configuration file to enable USB smart card passthrough: usb.generic.allowCCID = "TRUE"
Run this command to stop the pcscd process: sudo /etc/init.d/pcscd stop
Run this command to verify that the pcscd process is not running: ps | grep pcscd
Additional Information
Impact/Risks: Following the steps in this Knowledge Base article to passthrough the smart card into guest, the smart card will not work in ESXi shell as the login authentication any more.