VMware Communities
Skim71
Contributor
Contributor
Jump to solution

Card Reader ACR122U is not available

Dear Reader!

I use VMWare Workstation Pro 12.5 on Ubuntu.

In linux the command "lsusb" shows the device.

Bus 002 Device 006: ID 072f:2200 Advanced Card Systems, Ltd ACR122U

On another computer (same Ubuntu) with virtual box the device works well.

The problem is, that in the drop down menu at "removeable devices" there is no

card reader available.

In short. Linux knows the device, but VMWare Workstation Pro 12.5 doesn't.

What could the problem be?

Thanks for help, Skim71

0 Kudos
1 Solution

Accepted Solutions
bluefirestorm
Champion
Champion
Jump to solution

That's what I thought, that your pcscd is running; as most likely you are writing C/C++ code for an application/library to support this device.

This is one last try, if this doesn't work; I don't know what else.

Anyway, the thought that came to my mind was to disable the CCID sharing; that somehow VMware treats the device as CCID device to be shared and then it failed (and thus not showing up in the menu). I looked up the documentation to disable CCID sharing.

http://pubs.vmware.com/workstation-12/index.jsp#com.vmware.ws.using.doc/GUID-78E5618F-BD2D-4169-91A4...

However, when I go to config.ini (Windows) and /etc/vmware/config, the documentation looks suspiciously out-of-sync. The documentation says use value "FALSE" but in the config.ini and config the Boolean values are "yes" or "no".

Anyway, so I tried on Windows, Linux, "no", "FALSE", it still kept on showing "Shared OMNIKEY" for both Workstation on Windows and Player on Ubuntu.

So I searched, as suspected, the documentation is out-of-date and I found this thread.

https://communities.vmware.com/thread/498792

I entered the recommended entries in the VM vmx files (in both Workstation on Windows and Player on Ubuntu)

usb.generic.allowCCID = "TRUE"

usb.ccid.disable = "TRUE"

Sure enough the "Shared" word disappeared in the VM on Ubuntu host and the "Shared Omnikey" entry in the Windows VM disappeared. So the Omnikey reader is now a pure USB passthrough device.

Hope this works for you with your ACR122U.

View solution in original post

0 Kudos
10 Replies
bluefirestorm
Champion
Champion
Jump to solution

How about other USB devices such as USB thumb drives/memory sticks/hard disks or perhaps a webcam attached internally via USB in a laptop? Are these other devices showing?

If other USB devices such as USB thumb drive is not showing up in the "Removable Devices" menu, it could be that the vmware-usbarbitrator is not running. Check if it is running

ps -ef | grep usb

If vmware-usbarbitrator is running, I am short of ideas why the card reader is not showing up in the "Removable Devices" menu.

0 Kudos
Skim71
Contributor
Contributor
Jump to solution

result from "ps -ef | grep usb"

root       907     1  0 07:25 ?        00:00:00 /usr/bin/vmware-usbarbitrator

All the other USB devices run smoothly :-).

I have attached an USB-Bluetooth stick, a printer, another card reader (USB UART Bridge controller).

No troubles. It's just this device that doesn't show up :-(.

Greetings, Skim71

0 Kudos
bluefirestorm
Champion
Champion
Jump to solution

Did you install the Linux device drivers?

http://www.acs.com.hk/en/products/3/acr122u-usb-nfc-reader/

From the specification listed on the website, it looks like a compound device (i.e. supporting different card standards), Perhaps, VMware is unable to list the individual card readers as connectable devices to a VM.

0 Kudos
bluefirestorm
Champion
Champion
Jump to solution

I have an old OmniKey 3121 USB reader device.

I tried it on the Ubuntu laptop that I have with VMware Player 12.5.5. It doesn't show up in the "Removable Devices". But for Workstation Pro 12.5.5 on Windows, the OmniKey USB device shows up as "Removable Device". So I guess there is an implementation error somewhere. If I am not mistaken VMware Workstation also implements a virtual CCID.

By the way, I noticed the dark humour in your community name with the word "skim", considering that the topic of discussion here being devices that handle cards potentially involved in financial transactions.

0 Kudos
Skim71
Contributor
Contributor
Jump to solution

Might be, that the decision to choose this name has a little bit to too with financial skimming,

but due to the fact that my mother tongue is german, let's say, it's a product of your fantasy ;-).

Back to the problem. I tried it on a Windows 10 Notebook and the VM Workstation Player 12

recognized the device instantly.

Is there anything I can do on VM Workstation for Linux?

Thanks for help, Greetings, Skim71

0 Kudos
bluefirestorm
Champion
Champion
Jump to solution

Yes, perhaps it was my sense of humour was on overdrive. :smileylaugh: Humour/jokes (whether dark or light) require context to work. The word "skim" would have no immediate word association if the subject of discussion was USB printers. Certainly, I didn't mean to offend. My apologies.

Back to the issue...

Does VMware Player on Windows see the ACR122U reader as a CCID device since it is one of the standards it supports?

In the case of the OmniKey for Workstation on Windows, it sees two. One is the physical device and the other is what I believe is the virtual CCID which is the "Shared OMNIKEY CardMan 3x21 0". In this scenario, the physical device still appears connected to the Windows host machine.

pastedImage_0.png

I downloaded the VMware Player on a CentOS 7 laptop. I don't know if it makes any difference if the OmniKey device was attached during the installation of VMware Player (or Workstation for that matter) for the virtual CCID to work. When I tried to create a VM on CentOS VMware Player, it showed the "Shared OMNIKEY" as one of the connectable devices.

0 Kudos
bluefirestorm
Champion
Champion
Jump to solution

I managed to find out why it wasn't showing on the Ubuntu laptop (at least for the OmniKey 3121). The pcsc daemon wasn't running.

Once I installed pcscd and started the pcsc daemon in Ubuntu, the "Shared OMNIKEY AG Cardman 3121 00 00" showed up in the "Removable Device" list in VMware Player 12.5.5.

Hope that helps although I do not know if PCSC is what you are after or the NFC.

0 Kudos
Skim71
Contributor
Contributor
Jump to solution

pcscd is definitely running...

pastedImage_0.png

I Installed virtual box on my notebook...and it showed the device...There I used USB 2.0.

When I switch my VMWare to USB 2.0 it shows the internal cardreader and the interanl blue tooth device as well,

but no ACR122U :-(.

Any other ideas?

Thanks again...

0 Kudos
bluefirestorm
Champion
Champion
Jump to solution

That's what I thought, that your pcscd is running; as most likely you are writing C/C++ code for an application/library to support this device.

This is one last try, if this doesn't work; I don't know what else.

Anyway, the thought that came to my mind was to disable the CCID sharing; that somehow VMware treats the device as CCID device to be shared and then it failed (and thus not showing up in the menu). I looked up the documentation to disable CCID sharing.

http://pubs.vmware.com/workstation-12/index.jsp#com.vmware.ws.using.doc/GUID-78E5618F-BD2D-4169-91A4...

However, when I go to config.ini (Windows) and /etc/vmware/config, the documentation looks suspiciously out-of-sync. The documentation says use value "FALSE" but in the config.ini and config the Boolean values are "yes" or "no".

Anyway, so I tried on Windows, Linux, "no", "FALSE", it still kept on showing "Shared OMNIKEY" for both Workstation on Windows and Player on Ubuntu.

So I searched, as suspected, the documentation is out-of-date and I found this thread.

https://communities.vmware.com/thread/498792

I entered the recommended entries in the VM vmx files (in both Workstation on Windows and Player on Ubuntu)

usb.generic.allowCCID = "TRUE"

usb.ccid.disable = "TRUE"

Sure enough the "Shared" word disappeared in the VM on Ubuntu host and the "Shared Omnikey" entry in the Windows VM disappeared. So the Omnikey reader is now a pure USB passthrough device.

Hope this works for you with your ACR122U.

0 Kudos
Skim71
Contributor
Contributor
Jump to solution

These two lines in the .vmx file did the trick:

usb.generic.allowCCID = "TRUE"

usb.ccid.disable = "TRUE"

Thank's a lot, Skim71

0 Kudos