pci device not reset (passthrough)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
qemu-kvm (Ubuntu) |
Fix Released
|
Medium
|
Unassigned | ||
Precise |
Won't Fix
|
Medium
|
Unassigned |
Bug Description
A restarted kvm client with a passthough pci device does not work anymore (properly) with that device. The device does not seem to be re-set properly.
If the KVM host is re-started the client one time starts properly with a correctly functioning pci device, when the client is re-started (without re-starting the kvm host) the pci device is not working properly.
Seen on device:
USB device with linux client (USB controller: ASMedia Technology Inc. ASM1042 SuperSpeed USB Host Controller)
The device is implemented with MSI-X, as a test a keyboard is connected.
First boot client (on fresh start of KVM host):
The client is presented the pci USB device (usb 2.0 and usb 3.0) and the keyboard is presented as well. The keyboard properly works.
Reboot:
The client is presented the pci USB device (usb 2.0 and usb 3.0), but no keyboard is presented (it is plugged in). Disconnecting and re-connecting the usb keyboard is not helping. Unregistering and re-registering with it's driver (xhci_hcd) did not help. Trying to reset through "echo 1 > reset" within /sys/devices/ did not help. Trying to use pci-config -s 03:00.0 -S and pci-config -s 03:00.0 -W did not help.
I've been looking for a solution to get this working properly, but failed so far to find a solution.
package used to start the client: libvirt (virsh and virt-manager)
ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: kvm 1:84+dfsg-
ProcVersionSign
Uname: Linux 3.2.0-31-generic x86_64
NonfreeKernelMo
ApportVersion: 2.0.1-0ubuntu13
Architecture: amd64
Date: Thu Oct 11 20:03:16 2012
InstallationMedia: Ubuntu 12.04 LTS "Precise Pangolin" - Release amd64 (20120425)
MachineType: To be filled by O.E.M. To be filled by O.E.M.
ProcEnviron:
TERM=xterm
PATH=(custom, no user)
LANG=en_US.UTF-8
SHELL=/bin/bash
ProcKernelCmdLine: BOOT_IMAGE=
SourcePackage: qemu-kvm
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 03/12/2012
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: 1102
dmi.board.
dmi.board.name: SABERTOOTH 990FX
dmi.board.vendor: ASUSTeK COMPUTER INC.
dmi.board.version: Rev 1.xx
dmi.chassis.
dmi.chassis.type: 3
dmi.chassis.vendor: To Be Filled By O.E.M.
dmi.chassis.
dmi.modalias: dmi:bvnAmerican
dmi.product.name: To be filled by O.E.M.
dmi.product.
dmi.sys.vendor: To be filled by O.E.M.
$ lsb_release -rd
Description: Ubuntu 12.04.1 LTS
Release: 12.04
$ apt-cache policy qemu-kvm 0ubuntu14. 2 0ubuntu14. 3 0+noroms- 0ubuntu14. 3 0 nl.archive. ubuntu. com/ubuntu/ precise- updates/ main amd64 Packages 0ubuntu14. 2 0 security. ubuntu. com/ubuntu/ precise- security/ main amd64 Packages dpkg/status 0+noroms- 0ubuntu13 0 nl.archive. ubuntu. com/ubuntu/ precise/main amd64 Packages
qemu-kvm:
Installed: 1.0+noroms-
Candidate: 1.0+noroms-
Version table:
1.
500 http://
*** 1.0+noroms-
500 http://
100 /var/lib/
1.
500 http://
$ apt-cache policy libvirt-bin nl.archive. ubuntu. com/ubuntu/ precise- updates/ main amd64 Packages dpkg/status 9.8-2ubuntu17 0 nl.archive. ubuntu. com/ubuntu/ precise/main amd64 Packages
libvirt-bin:
Installed: 0.9.8-2ubuntu17.4
Candidate: 0.9.8-2ubuntu17.4
Version table:
*** 0.9.8-2ubuntu17.4 0
500 http://
100 /var/lib/
0.
500 http://