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"

新しい VMware Player を含む新しい Linux をインストールした後、Windows 7 仮想マシンでスマート カードを使用できなくなりました。 これを機能させるための新しいトリックはありますか?

バージョンノート

動作バージョン:

  • ディストリビューション: Linux Mint 10 Julia
  • カーネル: 2.6.35-28-generic (64 ビット)
  • プレーヤー: 3.1.2 (ワークステーション 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) で実行したときも、同じ結果が得られました。

試すべきこと

代替案

  • ファイル共有(またはUSBドライブ)にアクセスできるVPN専用の2台目のコンピューターを使用する
  • Linux(ホストまたはゲスト)から直接 VPN を設定する
  • 古いカーネル(Mint 9)を搭載したLinuxディストリビューションをインストールする

答え1

これは既知の問題であり、次の KB で回答されています。http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2000350&plainview=true

  1. Linuxターミナルでlsusbコマンドを発行して、スマートカードリーダーのベンダーIDと製品IDを確認します。
  2. .vmxファイルをテキストエディタで開きます
  3. この行を追加し、 と を先ほど見つけた値に置き換えます: usb.quirks.device0 = "0x:0x allow" 例: 手順 2 で見つかった Apple デバイスの場合、この行は次のようになります: usb.quirks.device0 = "0x05ac:0x8240 allow"
  4. .vmx ファイルを保存して閉じます。

関連情報