Bug 1871090

Summary: usb device passthrough fails with hostdevice option
Product: Red Hat Enterprise Linux 9 Reporter: yduan
Component: qemu-kvmAssignee: Virtualization Maintenance <virt-maint>
qemu-kvm sub component: USB QA Contact: yduan
Status: CLOSED CURRENTRELEASE Docs Contact:
Severity: low    
Priority: low CC: coli, diego.viola, jinzhao, juzhang, kraxel, virt-maint, yduan
Version: unspecifiedKeywords: Triaged
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1871818 (view as bug list) Environment:
Last Closed: 2022-02-21 07:27:23 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: 1871818    

Description yduan 2020-08-21 10:16:11 UTC
Description of problem:
usb device passthrough fails with hostdevice option

Version-Release number of selected component (if applicable):
Host:
4.18.0-232.el8.x86_64
qemu-kvm-5.1.0-3.module+el8.3.0+7708+740a1315.x86_64
libusbx-1.0.23-3.el8.x86_64
Guest:
4.18.0-232.el8.x86_64

How reproducible:
100%

Steps to Reproduce:
1.Check host usb devices:
# lsusb -t
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/10p, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/16p, 480M
    |__ Port 5: Dev 9, If 0, Class=Mass Storage, Driver=usbfs, 480M
    |__ Port 14: Dev 6, If 0, Class=Hub, Driver=hub/4p, 480M
        |__ Port 1: Dev 7, If 0, Class=Hub, Driver=hub/4p, 480M
        |__ Port 4: Dev 8, If 0, Class=Hub, Driver=hub/4p, 480M
# /usr/libexec/qemu-kvm -device usb-host,?
usb-host options:
...
  hostdevice=<str>
...

2.Boot VM with passthroughed usb device using hostdevice option:
/usr/libexec/qemu-kvm \
......
 -device pcie-root-port,id=pcie-root-port-1,port=0x1,addr=0x1.0x1,bus=pcie.0,chassis=2 \
 -device qemu-xhci,id=usbtest,bus=pcie-root-port-1,addr=0x0 \
 -device usb-tablet,id=usb-tablet1,bus=usbtest.0,port=1 \
 -device usb-host,hostdevice=/dev/bus/usb/001/009,id=usbhost,bus=usbtest.0,port=2 \
......

3.Check the usb device in guest:
# lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 0627:0001 Adomax Technology Co., Ltd
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
# fdisk -l

Actual results:
Can not find the passthroughed usb device in guest.

Expected results:
usb passthrough should succeed with hostdevice option.

Additional info:

Comment 1 yduan 2020-08-21 10:22:48 UTC
I'll test other devices like kbd/mouse later which need assistance from lab maintainer.

Comment 12 John Ferlan 2021-09-09 13:59:51 UTC
Bulk update: Move RHEL-AV bugs to RHEL9. If necessary to resolve in RHEL8, then clone to the current RHEL8 release.

Comment 14 RHEL Program Management 2022-02-21 07:27:23 UTC
After evaluating this issue, there are no plans to address it further or fix it in an upcoming release.  Therefore, it is being closed.  If plans change such that this issue will be fixed in an upcoming release, then the bug can be reopened.