在 VMware 中启用 USB 智能卡

在 VMware 中启用 USB 智能卡

我在 Linux 主机上的 VMWare Player 中运行 Windows 7。我想使用 USB 智能卡读卡器,但它不起作用。客户端应用程序报告:“未检测到卡“,但它似乎识别到“读取器”已连接并正在工作。Windows 驱动程序“Microsoft Usbccid Smartcard Reader (WUDF)”也报告“此设备工作正常”。

我在较早版本的 Linux 和较早的 VMWare Player 上安装了此设置(使用相同的虚拟机)。当时,我已在 .vmx 文件中添加了以下内容以使一切正常运行:

uhci.syncWriteback = "TRUE"
usb.generic.skipsetconfig = "TRUE"
usb.generic.allowCCID = "TRUE"

在安装新的 Linux(包括新的 VMware Player)后,我无法再在 Windows 7 虚拟机中使用智能卡。 有什么新技巧可以实现这个功能吗?

版本说明

工作版本:

  • 发行版:Linux Mint 10 Julia
  • 内核:2.6.35-28-generic(64位)
  • 播放器:3.1.2(对应Workstation 7.1.2?)

非工作版本:

  • 发行版:Linux Mint 14 Nadia,3.5.0-28-generic(64 位)
  • 发行版:Linux Mint 15 Olivia,3.8.0-25-generic(64 位)
  • 播放器:4.0.6-1035888.x86_64
  • 播放器:5.0.2-1031769.x86_64
  • 播放器:3.1.6-744570.x86_64(由于内核版本无法安装)

目前尚不清楚该问题是由内核变化还是 VMware 变化引起的。

主机访问测试(Linux端)

$ sudo openct-control init

[ ~ ]
$ sudo openct-tool wait
Card detected

[ ~ ]
$ sudo openct-control status
No.   Name                         Info
===================================================
  0   CCID Compatible              slot0: card present

以下命令报告失败,但有趣的是,亮了绿灯。

$ sudo openct-tool read
Detected CCID Compatible
Card present, status changed
failed to read memory card: Operation not supported

跟进:在 Linux 客户端(3.0.0-16-generic)中运行此测试时我得到了相同的结果。

可以尝试的事情

备择方案

  • 使用专用的第二台计算机作为 VPN —— 可以访问文件共享(或 USB 驱动器)
  • 直接从 Linux(主机或客户机)设置 VPN
  • 安装带有旧内核的 Linux 发行版(Mint 9)

答案1

这是一个已知问题,在以下知识库中已解答:http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2000350&plainview=true

  1. 在 Linux 终端中发出 lsusb 命令来查看智能卡读卡器的供应商和产品 ID
  2. 在文本编辑器中打开 .vmx 文件
  3. 添加此行,将和替换为您之前找到的值:usb.quirks.device0 = "0x:0x allow" 示例:对于在步骤 2 中找到的 Apple 设备,此行是:usb.quirks.device0 = "0x05ac:0x8240 allow"
  4. 保存并关闭 .vmx 文件。

相关内容