Bug 1211970
Summary: | smart card emulation doesn't work with USB3 (nec-xhci) controller | ||||||
---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise Linux 7 | Reporter: | David Jaša <djasa> | ||||
Component: | qemu-kvm-rhev | Assignee: | Gerd Hoffmann <kraxel> | ||||
Status: | CLOSED ERRATA | QA Contact: | Virtualization Bugs <virt-bugs> | ||||
Severity: | medium | Docs Contact: | |||||
Priority: | unspecified | ||||||
Version: | 7.2 | CC: | areis, djasa, hhuang, huding, juzhang, kraxel, michen, pzhang, rbalakri, sharpwiner, spice-qe-bugs, virt-maint, xfu, xuzhang, yama, yduan | ||||
Target Milestone: | rc | ||||||
Target Release: | 7.2 | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Whiteboard: | |||||||
Fixed In Version: | qemu-kvm-rhev-2.3.0-15.el7 | Doc Type: | Bug Fix | ||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | |||||||
: | 1243731 (view as bug list) | Environment: | |||||
Last Closed: | 2015-12-04 16:37:57 UTC | Type: | Bug | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Bug Depends On: | |||||||
Bug Blocks: | 1243731 | ||||||
Attachments: |
|
Description
David Jaša
2015-04-15 10:29:50 UTC
(In reply to Gerd Hoffmann from comment #1) > http://patchwork.ozlabs.org/patch/465422/ I don't see this patch upstream yet... What's the plan? Should I devel_ack+ this BZ? upstream commit 4e8cfbe1143d8384387595b500212d7a7f11aeae backport posted. please test this scratch build: http://brewweb.devel.redhat.com/brew/taskinfo?taskID=9529070 new patch posted. (In reply to Gerd Hoffmann from comment #6) > please test this scratch build: > http://brewweb.devel.redhat.com/brew/taskinfo?taskID=9529070 The scratch build fixes the problem at my system. The "ccid_bulk_in_copy_to_guest: returning short (EREMOTEIO)" messages keep being printed by qemu however (I'm not sure if they're significant though). Created attachment 1054428 [details]
log of logging into the system using smartcard, log is full of EREMOTEIO messages
Fix included in qemu-kvm-rhev-2.3.0-15.el7 reproduce the issue: host info: 3.10.0-303.el7.x86_64 qemu-kvm-rhev-2.3.0-12.el7.x86_64 steps: 1.boot up a rhel7.2 guest with smartcard controller and USB3 controller: -device nec-usb-xhci -chardev spicevmc,name=smartcard,id=ccid -device usb-ccid -device ccid-card-passthru,chardev=ccid 2.in both host and guest #yum groupinstall "smart card support" #yum remove '*openct*' #service pcscd start 3.plug in the reader before you run remote-viewer on host. remote-viewer --spice-smartcard spice://$IP:7000 4. open Smart Card Manager application in guest actual results: Smart Card Manager application can not find the samrt card in guest. verify the issue: host info: 3.10.0-303.el7.x86_64 qemu-kvm-rhev-2.3.0-15.el7.x86_64 steps: the same as above actual results: Smart Card Manager application can find the samrt card in guest. Verify this issue from libvirt : verify version: libvirt-1.2.17-5.el7.x86_64 qemu-kvm-rhev-2.3.0-17.el7.x86_64 verify steps: 1.prepare env both host and guest : # yum groupinstall "smart card support" # service pcscd start Redirecting to /bin/systemctl start pcscd.service Plug physical smart card to host . check in host : Application ---> SystemTools ---> Smart Card Manager 2.define and start guest with following XML configuration. #virsh dumpxml r708 usb3.0 controller: <controller type='usb' index='0' model='nec-xhci'> <alias name='usb'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/> </controller> ccid controller : <controller type='ccid' index='0'> <alias name='ccid0'/> </controller> smart card passthrough : <smartcard mode='passthrough' type='spicevmc'> <alias name='smartcard0'/> <address type='ccid' controller='0' slot='0'/> </smartcard> spice graphic: <graphics type='spice' autoport='yes' listen='0.0.0.0'> <listen type='address' address='0.0.0.0'/> </graphics> 2.1 check qemu cli, make sure guest's qemu cli like following : -device nec-usb-xhci,id=usb,bus=pci.0,addr=0x6 -device usb-ccid,id=ccid0 -chardev spicevmc,id=charsmartcard0,name=smartcard -device ccid-card-passthru,chardev=charsmartcard0,id=smartcard0,bus=ccid0.0 3.start guest to check #virsh start r708 #virsh domdisplay r708 3.2 using remote-viewer to check, must with "--spice-smartcard" # remote-viewer --spice-smartcard spice://$host-IP:5901 check in guest : Application ---> SystemTools ---> Smart Card Manager smartcard enrolled. According to comment12 and commnet13, set this issue as verified. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHBA-2015-2546.html |