Opened 7 years ago
#18015 new defect
A forwarded Dectel CI692 doesn't work if the controller is USB 2.0
Reported by: | jsible | Owned by: | |
---|---|---|---|
Component: | USB | Version: | VirtualBox 5.2.18 |
Keywords: | Cc: | ||
Guest type: | Linux | Host type: | all |
Description
When I use USB forwarding and a virtual USB 2.0 controller to attach a Dectel CI692 smart card reader to a CentOS 7.5 guest, attempts to use the smart card fail, with an error that traces back to "libusb_error_timeout" from PC/SC on the guest. The problem seems specific to this narrow configuration. Here's what I've discovered by testing various combinations of things:
- The problem occurs on both a 2017 MacBook Pro running High Sierra and a Dell OptiPlex 7050 running CentOS 7.5 as the hosts.
- The problem occurs whether the real USB port on the host is USB 2.0 or USB 3.0.
- The problem doesn't occur if I use a virtual USB 1.1 controller or a virtual USB 3.0 controller. For now, this is my workaround.
- The problem only occurs with certain smart card readers. When I tried it with an HID Omnikey smart card reader instead, it worked fine.
- The problem doesn't occur if I use the reader in a real USB 2.0 port with CentOS 7.5 on bare metal.
- The problem doesn't occur if I just run "pcsc_scan"; it sees the smart card fine. The problem only occurs when I try to use the keys on it, such as by running "ssh-keygen -D /usr/lib64/pkcs11/libcoolkeypk11.so".
Steps to reproduce:
- Install CentOS 7.5 in a guest
- Set the guest to use a USB 2.0 controller, and forward the Dectel CI692 to it
- Insert a smart card into the Dectel CI692
- Install the packages "epel-release", "pcsc-tools", and "coolkey" in the guest
- Run "ssh-keygen -D /usr/lib64/pkcs11/libcoolkeypk11.so" in the guest
Expected result: the public keys from the smart card should be printed. Actual result: the command fails with the message "cannot read public key from pkcs11".
Attached are two logs: one with a USB 1.1 controller, where the command works correctly, and one with a USB 2.0 controller, where the problem occurs. Both logs were saved immediately after running the ssh-keygen command.
Attachments (2)
Change History (2)
by , 7 years ago
by , 7 years ago
The logs with a USB 1.1 controller, where the bug does not occur.
The logs with a USB 2.0 controller, where the bug occurs.