Aktivieren Sie die USB-Smartcard in VMware


1

Ich verwende Windows 7 in VMWare Player auf einem Linux-Host. Ich möchte einen USB-Chipkartenleser verwenden, der jedoch nicht funktioniert. Die Client-App meldet: " Keine Karte erkannt ", aber es scheint zu erkennen, dass der" Reader "angeschlossen ist und funktioniert. Der Windows-Treiber" Microsoft Usbccid Smartcard Reader (WUDF) "meldet außerdem" Dieses Gerät funktioniert ordnungsgemäß ".

Ich hatte dieses Setup (mit derselben virtuellen Maschine) auf einer früheren Linux-Version und mit einem früheren VMWare-Player. Zu diesem Zeitpunkt hatte ich den folgenden Zusatz zur .vmx-Datei verwendet, um die Dinge zum Laufen zu bringen:

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

Nach einer neuen Linux-Installation, einschließlich des neuen VMware Players, kann ich meine Smartcard nicht mehr mit der virtuellen Maschine von Windows 7 verwenden. Gibt es einen neuen Trick, um dies zum Laufen zu bringen?

Versionshinweise

Arbeitsversionen:

  • Distro: Linux Mint 10 Julia
  • Kernel: 2.6.35-28-generisch (64-Bit)
  • Player: 3.1.2 (entspricht Workstation 7.1.2?)

Nicht funktionierende Versionen:

  • Distro: Linux Mint 14 Nadia, 3.5.0-28-Generic (64-Bit)
  • Distro: Linux Mint 15 Olivia, 3.8.0-25-Generic (64-Bit)
  • Spieler: 4.0.6-1035888.x86_64
  • Spieler: 5.0.2-1031769.x86_64
  • Player: 3.1.6-744570.x86_64 (Installation aufgrund Kernel-Version nicht möglich)

Es ist nicht klar, ob dieses Problem durch die Kerneländerung oder durch die VMware-Änderung verursacht wurde.

Hostzugriffstest (Linux-Seite)

$ sudo openct-control init

[ ~ ]
$ sudo openct-tool wait
Card detected

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

Der folgende Befehl meldet einen Fehler, aber interessanterweise leuchtet das grüne Licht auf.

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

Follow-up: Beim Ausführen dieses Tests in einem Linux-Client (3.0.0-16-Generic) wurden identische Ergebnisse erzielt.

Dinge zum Ausprobieren

Alternativen

  • Verwenden Sie einen dedizierten zweiten Computer nur für VPN - mit Zugriff auf eine Dateifreigabe (oder ein USB-Laufwerk).
  • VPN direkt unter Linux einrichten (Host oder Gast)
  • Installiere eine Linux-Distribution mit dem alten Kernel (Mint 9)

Verwenden Sie eine ClientWare / Middleware (d. H. ActivClient) jeglicher Art?
— Ramhound

@Ramhound: Meine Client-App ist "ActivClient". Wenn ich mein Gerät (mit eingebetteter "Karte") einsetze, wechselt der Status von ActiveClient von "Kartenleser wurde nicht erkannt" in "Keine Karte erkannt".
— nobar

Welches Gerät verwenden Sie genau? Wäre auch hilfreich zu wissen, welche Version von ActivClient Sie verwenden. Ich muss oft den alten "Nintendo Cartiage" -Trick mit meinem Kartenleser machen. Natürlich bin ich ActivClient in einer virtuellen Maschine, aber es sollte keinen Unterschied machen. Haben Sie den nativen Windows-7-Supoprt zufällig ausprobiert? Wenn es sich um eine von DoD ausgestellte SmartCard handelt, funktioniert der native Support für alle Niederlassungen.
— Ramhound

@ Ramhound: Mein Gerät ist "Actividentity ACTIVKEY SIM 48010-C MAY09". Es sieht ziemlich ähnlich aus diese . Ich interpretiere den Trick "Nintendo Cartridge" so, dass er "den Staub rausschmeißen" bedeutet. Ich glaube wirklich nicht, dass dies das Problem ist. Ich weiß nicht, was Sie unter "nativer Windows 7-Unterstützung" verstehen, aber mein System verwendet anscheinend einen Microsoft-Treiber. Das Ausführen der ActivClient-App scheint optional zu sein.
— nobar

Windows 7 und Windows 8 können alle Aktivitäten von ActivClient verarbeiten. Haben Sie versucht, ohne die Middleware-Software zu installieren, um zu sehen, ob es funktioniert. Ich würde das Produkt, das Sie verlinkt haben, als Chipkartenleser betrachten, eher als sicheres Token-Gerät, da es Smart Cards (basierend auf dem Bild) nicht wirklich lesen kann. Da es keine Detektorleuchten gibt, kann ich Ihnen keinen anderen Rat geben.
— Ramhound

Antworten:


3

Dies ist ein bekanntes Problem, das in der folgenden KB beantwortet wird: http://kb.vmware.com/selfservice/microsites/search.do?language=de_DE&cmd=displayKC&externalId=2000350&plainview=true

  1. Geben Sie im Linux-Terminal den Befehl lsusb ein, um die Hersteller- und Produkt-ID Ihres Chipkartenlesers zu ermitteln
  2. Öffnen Sie Ihre .vmx-Datei in einem Texteditor
  3. Fügen Sie diese Zeile hinzu und ersetzen Sie sie mit den zuvor gefundenen Werten: usb.quirks.device0 = "0x: 0x zulassen" Beispiel: Für das in Schritt 2 gefundene Apple-Gerät lautet diese Zeile: usb.quirks.device0 = "0x05ac: 0x8240 zulassen"
  4. Speichern Sie und schließen Sie die .vmx-Datei.

Danke für den Beitrag! Hoffentlich werde ich bald Ihren Vorschlag testen.
— nobar
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.