I recently bought a Gemalto CT1100 bluetooth smart card reader which I intend to use with my Windows 10 under VMWare Fusion 10.1.2. I have a 2016 macbook pro with only USB-C which makes me want to use bluetooth stuff to get rid o adapters. My OS is High Sierra.
I installed the Gemalto Bluetooth Device Manager (GBDM) )on both the Mac OS and in my Windows 10 virtual machine. It se to work fine on the host OS but not in my virtual machine. GDBM software instantly claim "bluetooth is not supported" and I can't seem to find the reader in the bluetooth list in Windows 10.
The SC reader is found as seen in the picture below.
The following picture is from the event log in my virtual machine.
Anyone who have had similar issues or got an idea on what this could be?
Noticed that there is the word "Shared" in the screenshot. The default behaviour is such that smart card readers are shared access between host and VM(s) and between concurrently active VMs.
What you could try is add the following lines to the Windows 10 VM vmx configuration file to disable the sharing and have exclusive mode access to the smart card reader for the VM.
usb.ccid.disable = "TRUE"
usb.generic.allowCCID = "TRUE"
Since it is no longer a shared smart card reader, the Windows 10 VM will need the native Gemalto device drivers installed.
Thanks for your response!
I modified the .vmx-file as you suggested. It resulted in the "Gemalto Shared BLE Reader" disappears completely from the list once the VM is started. I googled a bit more on this and tried a few other options but the GBDM keeps saying "Warning Bluetooth is not supported" as soon as the VM has started.
When I try to pair the reader in Windows 10 it does not popup in the list of new devices. It's hard to know if it is found at all. Although the device manager in windows has a "Gemalto Virtual PCSC Multi-slots Reader" in the list.
One other thing.. The driver docs says that you need a special dongle for Windows 7 and 8.1 to talk over bluetooth. Native bluetooth should be supported in Windows 10. There are other drivers when using the dongle. It seems to be something with this "BLE" Bluetooth Low Energy that is not fully supported.
I assumed you had installed the Gemalto drivers/software prior to pairing.
Without the additional lines related to the CCID in the vmx file, the smart card reader would have appeared as a "Microsoft Virtual CCID" or something similar in Device Manager. I suspect one reason why the Gemalto BLE SC appear as "virtual" when you try to pair it with the Windows 10 VM could be because of the "Share Bluetooth devices with Windows" being checked.
What you could try is uncheck the "Share Bluetooth devices with Windows", and then connect the Apple Bluetooth controller to the Windows VM and then try to pair the BLE SC reader. This may not be ideal if you are using other Bluetooth devices with the Macbook Pro host. This is going one step further by not giving exclusive access to the Windows 10 VM to the Bluetooth controller.
Third alternative is uncheck the "Share Bluetooth devices with Windows" and also remove the two lines regarding CCID from the vmx configuration file. This is on the assumption/guess perhaps the original problem you faced was that there was a conflict in the Windows 10 VM seeing the virtual CCID both as a virtual USB and virtual Bluetooth device. This way we just unshare the Bluetooth device from the Windows 10 VM and let the default behaviour of having shared smart card readers work within the Windows 10 VM.
Thanks again for your support on this.
I have tried both the options you suggested. The thing is that bluetooth is completely unavailable in the Windows 10 VM if I uncheck the "Share Bluetooth devices with Windows". If I enter control panel in windows it appears that the computer does not have bluetooth.
Under the view "Bluetooth & other devices" following appears under "other devices";
Virtual USB CCID
Virtual Bluetooth Adapter
And in the device manager under Smart card readers Microsoft Usbccid Smartcard Reader (WUDF) appears when I check the "Shared Gemalto BLE Reader" in Fusion. This is only when "Share Bluetooth devices with Windows". And the Gemalto software is instantly screaming that bluetooth is not available.. I try to pair in windows before pairing in the gemalto software as the suggest in the guide.
If you uncheck the Share Bluetooth devices with Windows, you then have to connect the Apple Bluetooth USB Host Controller to the Windows 10 VM; which gives the Windows 10 VM exclusive access to the MacBook Pro Bluetooth controller. That is why it will not be an ideal approach if you plan to use other Bluetooth devices on the Macbook Pro host such as a Bluetooth keyboard or mouse aside from the Gemalto BLE SCR.
I have a 2014 MacBook Pro with Fusion 8.5.10; but I assume that you would see something similar with a 2016/2017 MacBook Pro from the Virtual Machine menu to connect the Bluetooth controller to the Windows 10 VM. See screenshot below.
Rightfully, if you use the shared Gemalto virtual CCID, there should be no need for Gemalto device driver unless some other Gemalto software is required to access the smart card(s); but if the Gemalto smart card reader insists on using Bluetooth (which seems to be the case with Gemalto software indicating Bluetooth not available), the "Connect Apple Bluetooth USB Host Controller" might be worth a try.
Sorry for the late response!
I followed your instructions in the last post. The thing is that, whether I have the "share bluetooth devices with windows" box checked or unchecked. It only shows Share Gemalto BLE Reader in the USB & Bluetooth list. This never seem to change. I don't get the Apple Bluetooth USB Host Controller as in your case.
I will try to install the drivers for Window versions that don't support Bluetooth Low Energy. If this is the problem. I notices that a Virtual CCID reader is in the list of avaiblable devices in windows control panel when I connect the card reader to windows. But the Gemalto software keeps telling that bluetooth is not supported.
Try not to pair any Bluetooth device (including the Gemalto) before starting Fusion.
From Terminal what does ioreg -p IOUSB -w0 show for the 2016 MacBook Pro?
$ ioreg -p IOUSB -w0
+-o Root <class IORegistryEntry, id 0x100000100, retain 15>
+-o Root Hub Simulation Simulation@14000000 <class AppleUSBRootHubDevice, id 0x100000306, registered, matched, active, busy 0 (10 ms), retain 10>
+-o Apple Internal Keyboard / Trackpad@14400000 <class AppleUSBDevice, id 0x100000308, registered, matched, active, busy 0 (11 ms), retain 15>
+-o BRCM20702 Hub@14300000 <class AppleUSBDevice, id 0x100000323, registered, matched, active, busy 0 (10 ms), retain 12>
+-o Bluetooth USB Host Controller@14330000 <class AppleUSBDevice, id 0x10000036f, registered, matched, active, busy 0 (233 ms), retain 17>
The slightly friendlier equivalent is in System Report under "Hardware" - "USB" and it shows the Bluetooth USB Host Controller for the 2014 MacBook Pro.
I have now quitted Fusion and it seems like nothing is connected to the bluetooth host at the moment. The output from the command is the following;
Johanness-MacBook-Pro:~ Developer$ ioreg -p IOUSB -w0
+-o Root <class IORegistryEntry, id 0x100000100, retain 17>
+-o AppleUSBXHCI Root Hub Simulation@14000000 <class AppleUSBRootHubDevice, id 0x1000003d8, registered, matched, active, busy 0 (53 ms), retain 16>
| +-o iBridge@14100000 <class AppleUSBDevice, id 0x100035cff, registered, matched, active, busy 0 (18 ms), retain 40>
| +-o iPhone@14400000 <class AppleUSBDevice, id 0x1000364d8, registered, matched, active, busy 0 (956 ms), retain 38>
+-o AppleUSBEHCI Root Hub Simulation@40000000 <class AppleUSBRootHubDevice, id 0x100035e30, registered, matched, active, busy 0 (53 ms), retain 14>
+-o IOUSBHostDevice@40100000 <class AppleUSBDevice, id 0x100035e32, registered, matched, active, busy 0 (49 ms), retain 27>
+-o Display Audio@40140000 <class AppleUSBDevice, id 0x100035e5a, registered, matched, active, busy 0 (60 ms), retain 28>
+-o Apple Thunderbolt Display@40170000 <class AppleUSBDevice, id 0x100035e71, registered, matched, active, busy 0 (51 ms), retain 22>
+-o FaceTime HD Camera (Display)@40150000 <class AppleUSBDevice, id 0x100035e7d, registered, matched, active, busy 0 (59 ms), retain 31>
+-o Basic Optical Mouse@40120000 <class AppleUSBDevice, id 0x100035e8d, registered, matched, active, busy 0 (49 ms), retain 22>
+-o External@40110000 <class AppleUSBDevice, id 0x100035eb2, registered, matched, active, busy 0 (48 ms), retain 22>
The output seem to be identical when I connect my bluetooth keyboard and my BLE Gemalto Card Reader.
What do you get from this?
I went to a retail store with a 2017 Apple 15" MacBook Pro on display and looked up the System Report. It looks like the 2016/2017 MacBook Pro Bluetooth controller is wired via UART instead of USB. The "System Report" showed the Bluetooth transport as "UART" while the 2014 MacBook Pro that I have shows "USB". I think that is why there is no Apple Bluetooth USB Controller in the Fusion USB menu for you. And that also explains why ioreg -p IOUSB also does not show the Bluetooth USB Controller.
Thanks for taking your time on this!
When I bought the card reader I ordered it with Windows 7 support which included a bluetooth dongle for BLE. This dongle require alternative Gemalto drivers which I installed in my windows 10 vm. If I connect the dongle to my mac and mount it to the windows VM everything works perfectly.
I was hoping to avoid the use of the dongle but it's better the nothing. Can it be something with the native BLE support between the mac and fusion?
From the looks of it the Gemalto BLE SC Reader is really expecting the interface to be via Bluetooth; that could possibly explain why the Shared Virtual CCID does not work because it is a virtual USB device; so the data protocols are different.
Sorry, I am out of ideas of any possible workaround and it looks like you have to use the dongle.