Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PCSC doesn't work with VMware Fusion #148

Closed
jeremyherbert opened this issue Sep 23, 2022 · 3 comments
Closed

PCSC doesn't work with VMware Fusion #148

jeremyherbert opened this issue Sep 23, 2022 · 3 comments

Comments

@jeremyherbert
Copy link

jeremyherbert commented Sep 23, 2022

(I am just reporting this fix in case anyone else comes across it)

Versions

  • USB (Identiv uTrust 3720 F)
  • 1.9.9 (compiled from release tarball)
  • the output of the command /usr/sbin/pcscd --version:
pcsc-lite version 1.9.9.
Copyright (C) 1999-2002 by David Corcoran <[email protected]>.
Copyright (C) 2001-2022 by Ludovic Rousseau <[email protected]>.
Copyright (C) 2003-2004 by Damien Sauveron <[email protected]>.
Report bugs to <[email protected]>.
Enabled features: Linux x86_64-pc-linux-gnu libsystemd serial usb libusb usbdropdir=/usr/local/lib/pcsc/drivers ipcdir=/run/pcscd filter configdir=/usr/local/etc/reader.conf.d
MAX_READERNAME: 128, PCSCLITE_MAX_READERS_CONTEXTS: 16

Platform

  • Xubuntu 22.04 (running on VMware Fusion 12.2.4)
  • Identiv uTrust 3720 F

Issue

  • I have built and installed pcscd 1.9.9 and ccid 1.5.0 on a clean OS install (in a VM). I used ./configure --disable-libudev --enable-libusb for pcscd and just ./configure for ccid. Then make && sudo make install for both. I also copied src/92_pcscd_ccid.rules to /etc/udev/rules.d.
  • PCSC returns a LIBUSB_ERROR_IO error on startup.

Log

00000000 debuglog.c:390:DebugLogSetLevel() debug level=debug
00000021 debuglog.c:411:DebugLogSetCategory() Debug options: APDU
00000002 [140524405483456] pcscdaemon.c:356:main() Force colored logs
00000045 [140524405483456] utils.c:82:GetDaemonPid() Can't open /run/pcscd/pcscd.pid: No such file or directory
00001224 [140524405483456] configfile.l:369:DBGetReaderList() Parsing conf file: /usr/local/etc/reader.conf.d
00000125 [140524405483456] pcscdaemon.c:666:main() pcsc-lite 1.9.9 daemon ready.
00004396 [140524397086272] hotplug_libusb.c:621:HPAddHotPluggable() Adding USB device: 2:5:0
13554119 [140524397086272] hotplug_libusb.c:667:HPAddHotPluggable() libusb_open failed: LIBUSB_ERROR_IO
00000011 [140524397086272] readerfactory.c:1093:RFInitializeReader() Attempting startup of Identiv uTrust 3720 Contactless Reader 00 00 using /usr/local/lib/pcsc/drivers/ifd-ccid.bundle/Contents/Linux/libccid.so
00002258 [140524397086272] readerfactory.c:968:RFBindFunctions() Loading IFD Handler 3.0
00000015 [140524397086272] ifdhandler.c:2071:init_driver() Driver version: 1.5.0
00000454 [140524397086272] ifdhandler.c:2088:init_driver() LogLevel: 0x0003
00000002 [140524397086272] ifdhandler.c:2099:init_driver() DriverOptions: 0x0000
00000151 [140524397086272] ifdhandler.c:2112:init_driver() LogLevel from LIBCCID_ifdLogLevel: 0x000F
00000002 [140524397086272] ifdhandler.c:110:CreateChannelByNameOrChannel() Lun: 0, device: usb:04e6/5612:libusb-1.0:2:5:0
00000002 [140524397086272] ccid_usb.c:252:OpenUSBByName() Reader index: 0, Device: usb:04e6/5612:libusb-1.0:2:5:0
00000004 [140524397086272] ccid_usb.c:297:OpenUSBByName() interface_number: 0
00000001 [140524397086272] ccid_usb.c:298:OpenUSBByName() usb bus/device: 2/5
00000001 [140524397086272] ccid_usb.c:317:OpenUSBByName() Using: /usr/local/lib/pcsc/drivers/ifd-ccid.bundle/Contents/Info.plist
00000427 [140524397086272] ccid_usb.c:335:OpenUSBByName() ifdManufacturerString: Ludovic Rousseau ([email protected])
00000001 [140524397086272] ccid_usb.c:336:OpenUSBByName() ifdProductString: Generic CCID driver
00000001 [140524397086272] ccid_usb.c:337:OpenUSBByName() Copyright: This driver is protected by terms of the GNU Lesser General Public License version 2.1, or (at your option) any later version.
09992180 [140524397086272] ccid_usb.c:421:OpenUSBByName() Try device: 2/5
00000009 [140524397086272] ccid_usb.c:431:OpenUSBByName() vid/pid : 04E6/5612
00000001 [140524397086272] ccid_usb.c:502:OpenUSBByName() Checking device: 2/5
00000001 [140524397086272] ccid_usb.c:573:OpenUSBByName() Trying to open USB bus/device: 2/5
00000011 [140524397086272] ccid_usb.c:579:OpenUSBByName() Can't libusb_open(2/5): LIBUSB_ERROR_IO
00000442 [140524397086272] ccid_usb.c:204:close_libusb_if_needed() libusb_exit
00000013 [140524397086272] ccid_usb.c:822:OpenUSBByName() Device not found?
00000001 [140524397086272] ifdhandler.c:155:CreateChannelByNameOrChannel() failed
00000003 [140524397086272] readerfactory.c:1134:RFInitializeReader() Open Port 0x200000 Failed (usb:04e6/5612:libusb-1.0:2:5:0)
00000001 [140524397086272] readerfactory.c:378:RFAddReader() Identiv uTrust 3720 Contactless Reader init failed.
00000001 [140524397086272] readerfactory.c:628:RFRemoveReader() UnrefReader() count was: 1
00000001 [140524397086272] readerfactory.c:1147:RFUnInitializeReader() Attempting shutdown of Identiv uTrust 3720 Contactless Reader 00 00.
00000001 [140524397086272] readerfactory.c:1005:RFUnloadReader() Unloading reader driver.
00000097 [140524397086272] hotplug_libusb.c:507:HPEstablishUSBNotifications() Driver ifd-ccid.bundle does not support IFD_GENERATE_HOTPLUG. Using active polling instead.
00000002 [140524397086272] hotplug_libusb.c:517:HPEstablishUSBNotifications() Polling forced every 1 second(s)

log.txt

I also see this in dmesg:

[  490.462023] hub 2-2:1.0: hub_ext_port_status failed (err = -110)
[  494.462683] usb 2-2-port2: cannot disable (err = -110)
[  504.467382] hub 2-2:1.0: hub_ext_port_status failed (err = -110)
@jeremyherbert
Copy link
Author

The fix for this is to change the USB Compatibility type from USB2.0 (the default) to USB3.1 for the VM. (Settings => USB & Bluetooth => Advanced USB options => USB Compatibility)

@LudovicRousseau
Copy link
Owner

Why do you need to rebuild pcsc-lite with --disable-libudev --enable-libusb?
Why not just use the Ubuntu/Xubuntu 22.04 packages?

@jeremyherbert
Copy link
Author

jeremyherbert commented Sep 23, 2022

I just wanted to make sure that I was running the most up to date version. Also, it defaulted to udev if both libudev and libusb was installed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants