[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [Bug 1471583] Re: QCA988X Wifi Card Not PCI Passing Through
From: |
bill |
Subject: |
[Qemu-devel] [Bug 1471583] Re: QCA988X Wifi Card Not PCI Passing Through |
Date: |
Mon, 06 Jul 2015 14:15:00 -0000 |
It does sound exactly like what I'm seeing.
>From http://www.gossamer-threads.com/lists/linux/kernel/2054846
"Yes. If you *re*start the VM . ... The first start (after reboot) was
not a problem."
It seems clear that this problem began with kernel 3.13. I tried
applying the backports ath10k to kernel 3.10, but the kernel didn't
recognize it, or install put it in the wrong place or something. So I
tried kernel 4.1 and the module that comes with it fails this way. From
the listserv I should have thought this would be fixed by kernel 4.1,
but then maybe my device is so new and this has to be device-specific?
Thanks for your instructions Alex, but I don't fully understand. I
searched for an options line I could put in
/etc/modprobe.d/blacklist.conf to prevent PCI bus reset for the module,
but couldn't find anything. The "Unknown header type" happens very
early in the boot of the guest so I don't see how fixing the guest
module would help.
Maybe you're saying that I must compile the backports module with some
patch in the above link and add the line you suggest? Only thing is I
don't understand why the module install failed. And I don't know
whether the host should have the patched ath10k module as well as the
guest. Does the host need the module at all of PCI passthrough?
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1471583
Title:
QCA988X Wifi Card Not PCI Passing Through
Status in QEMU:
New
Bug description:
CPU: Intel(R) Xeon(R) CPU E3-1265L v3 @ 2.50GHz
KVM: qemu-kvm-1.5.3-86.el7_1.2.x86_64
Kernel: 4.1.1-1.el7.elrepo.x86_64, and kernel-3.10.0-229.7.2.el7.x86_64
Host & Guest: CentOS 7.1
Using virt-manager-1.1.0-12.el7.noarch to create, configure, and start guest
I am trying to do a PCI passthrough of a QCA988X wifi card. It's a Doodle
Labs military-grade 802.11ac miniPCI card, which uses the ath10k kernel driver.
This card configures nicely on the host, and seems to pass through to the
guest, but early in the boot of the guest it says "Unknown header type" at the
wifi's bus address. And sure enough, lspci -vv on the host then shows:
!!! Unknown header type 7f
Kernel driver in use: vfio-pci
When the guest has booted, of course it shows as an Unclassified
device. Host and guest must run at least kernel 4.0 so the wifi
card's current firmware will load, and so that its driver comes with
the kernel. I have both host and guest set up for the wifi card. I
tried running kernel 3.10 in the host and passing through the PCI
device, but same behavior.
I am passing through to the guest an Intel i350 ethernet card just
fine, in fact I'm passing through two of its SR-IOV virt interfaces to
the guest, so that works.
On the host, before I start the guest, the wifi card looks like this
(lspci -vv):
0a:00.0 Network controller: Qualcomm Atheros QCA988x 802.11ac Wireless
Network Adapter
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 43
Region 0: Memory at f7000000 (64-bit, non-prefetchable) [size=2M]
Expansion ROM at f7200000 [disabled] [size=64K]
Capabilities: [40] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA
PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [50] MSI: Enable+ Count=8/8 Maskable+ 64bit-
Address: fee00618 Data: 0000
Masking: 00000000 Pending: 00000000
Capabilities: [70] Express (v2) Endpoint, MSI 00
DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s
unlimited, L1 <64us
ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
DevCtl: Report errors: Correctable- Non-Fatal- Fatal-
Unsupported-
RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
MaxPayload 128 bytes, MaxReadReq 512 bytes
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+
TransPend-
LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Exit
Latency L0s <4us, L1 <64us
ClockPM- Surprise- LLActRep- BwNot-
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk-
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+
DLActive- BWMgmt- ABWMgmt-
DevCap2: Completion Timeout: Not Supported, TimeoutDis+,
LTR-, OBFF Not Supported
DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-,
OBFF Disabled
LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance-
SpeedDis-
Transmit Margin: Normal Operating Range,
EnterModifiedCompliance- ComplianceSOS-
Compliance De-emphasis: -6dB
LnkSta2: Current De-emphasis Level: -6dB,
EqualizationComplete-, EqualizationPhase1-
EqualizationPhase2-, EqualizationPhase3-,
LinkEqualizationRequest-
Capabilities: [100 v1] Advanced Error Reporting
UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt-
RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt-
RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt-
RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout-
NonFatalErr-
CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout-
NonFatalErr+
AERCap: First Error Pointer: 00, GenCap- CGenEn- ChkCap-
ChkEn-
Capabilities: [140 v1] Virtual Channel
Caps: LPEVC=0 RefClk=100ns PATEntryBits=1
Arb: Fixed- WRR32- WRR64- WRR128-
Ctrl: ArbSelect=Fixed
Status: InProgress-
VC0: Caps: PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
Arb: Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256-
Ctrl: Enable+ ID=0 ArbSelect=Fixed TC/VC=01
Status: NegoPending- InProgress-
Capabilities: [160 v1] Device Serial Number 00-00-00-00-00-00-00-00
Kernel driver in use: ath10k_pci
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1471583/+subscriptions
[Prev in Thread] |
Current Thread |
[Next in Thread] |