[mythtv-users] VMWare on the backend. Viable solution?
Jon Whitear
jon at whitear.org
Sat Jan 23 04:29:14 UTC 2010
On 20/01/2010, at 10:22 PM, Jon Whitear wrote:
>
> On 20/01/2010, at 9:22 AM, Jon Whitear wrote:
>
>>
>> I shall try exporting a PCI device under KVM, and see how I go.
>>
>> Cheers,
>>
>> Jon
>>
>
> Hit a bit of a snag trying to export my DVB-T card, as it uses a shared interrupt which KVM doesn't like. I guess I could try putting the card in another slot (or just using some other card in another PCI slot to prove that VT-d works.) Here's how far I got:-
>
<SNIP>
Well, changing slot and disabling my USB controller gave me an unshared interrupt, and I have successfully been able to export the DVB card to a KVM guest, so it seems that VT-d works on my GA-P55-UD4P. The guest recognises the card and loads the appropriate modules. However, I have been unable to scan channels on the guest using either mythtv-setup or scan (i.e. dvbscan.) Steps and results below.
Cheers,
Jon
jon at server ~ $ cat /proc/interrupts
CPU0 CPU1 CPU2 CPU3
0: 51 0 0 1 IO-APIC-edge timer
1: 0 0 0 2 IO-APIC-edge i8042
4: 0 0 0 1 IO-APIC-edge
8: 0 0 0 116 IO-APIC-edge rtc0
9: 0 0 0 0 IO-APIC-fasteoi acpi
16: 0 0 0 0 IO-APIC-fasteoi ahci
17: 0 0 0 0 IO-APIC-fasteoi ahci, pata_jmicron
18: 0 0 0 5320 IO-APIC-fasteoi pata_jmicron
19: 0 0 0 0 IO-APIC-fasteoi cx88[0], cx88[0]
24: 8975 0 0 0 HPET_MSI-edge hpet2
25: 0 8002 0 0 HPET_MSI-edge hpet3
26: 0 0 7164 0 HPET_MSI-edge hpet4
27: 0 0 0 6685 HPET_MSI-edge hpet5
34: 0 0 0 575 PCI-MSI-edge ahci
35: 175 0 0 0 PCI-MSI-edge eth0
NMI: 0 0 0 0 Non-maskable interrupts
LOC: 103 75 47 19 Local timer interrupts
SPU: 0 0 0 0 Spurious interrupts
PMI: 0 0 0 0 Performance monitoring interrupts
PND: 0 0 0 0 Performance pending work
RES: 5494 5513 5856 4763 Rescheduling interrupts
CAL: 30 91 91 103 Function call interrupts
TLB: 56 66 73 43 TLB shootdowns
TRM: 0 0 0 0 Thermal event interrupts
THR: 0 0 0 0 Threshold APIC interrupts
MCE: 0 0 0 0 Machine check exceptions
MCP: 2 2 2 2 Machine check polls
ERR: 3
MIS: 0
lspci -v
07:01.0 Multimedia video controller: Conexant CX23880/1/2/3 PCI Video and Audio Decoder (rev 05)
Subsystem: DViCO Corporation FusionHDTV DVB-T Plus
Flags: bus master, medium devsel, latency 32, IRQ 19
Memory at f7000000 (32-bit, non-prefetchable) [size=16M]
Capabilities: <access denied>
Kernel driver in use: cx8800
Kernel modules: cx8800
07:01.2 Multimedia controller: Conexant CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (rev 05)
Subsystem: DViCO Corporation Device db11
Flags: bus master, medium devsel, latency 32, IRQ 19
Memory at f6000000 (32-bit, non-prefetchable) [size=16M]
Capabilities: <access denied>
Kernel driver in use: cx88-mpeg driver manager
Kernel modules: cx8802
jon at server ~ $ lspci -n | grep 07:01
07:01.0 0400: 14f1:8800 (rev 05)
07:01.2 0480: 14f1:8802 (rev 05)
server jon # echo "14f1 8800" > /sys/bus/pci/drivers/pci-stub/new_id
server jon # echo 0000:07:01.0 > /sys/bus/pci/devices/0000:07:01.0/driver/unbind
server jon # echo 0000:07:01.0 > /sys/bus/pci/drivers/pci-stub/bind
<and the smae as above for the second pci device>
then load the guest per my previous mail, and the modules load fine. Trouble is, here's what I get in dmesg when I try to scan.
[ 335.944876] cx88[0]: irq pci [0x400] risc_rd_err*
[ 335.944888] cx88[0]: irq mpeg [0x11010] ts_risci2* ts_sync opc_err*
[ 335.944895] cx88[0]: mpeg risc op code error
[ 335.944900] cx88[0]: mpeg - dma channel status dump
[ 335.944908] cx88[0]: cmds: initial risc: 0x1ef36000
[ 335.944912] cx88[0]: cmds: cdt base : 0x00180800
[ 335.944916] cx88[0]: cmds: cdt size : 0x0000000a
[ 335.944920] cx88[0]: cmds: iq base : 0x001807c0
[ 335.944924] cx88[0]: cmds: iq size : 0x00000010
[ 335.944928] cx88[0]: cmds: risc pc : 0x1ef3605c
[ 335.944936] cx88[0]: cmds: iq wr ptr : 0x000001f7
[ 335.944940] cx88[0]: cmds: iq rd ptr : 0x000001fb
[ 335.944944] cx88[0]: cmds: cdt current : 0x00000818
[ 335.944948] cx88[0]: cmds: pci target : 0xedf7c248
[ 335.944952] cx88[0]: cmds: line / byte : 0x00000004
[ 335.944956] cx88[0]: risc0: 0x8e090662 [ sync sol eol irq2 19 cnt0 count=1634 ]
[ 335.944965] cx88[0]: risc1: 0xdbcd58a2 [ writecr sol irq2 irq1 23 22 19 18 cnt0 14 12 count=2210 ]
[ 335.944977] cx88[0]: risc2: 0x05f0e10f [ arg #3 ]
[ 335.944982] cx88[0]: risc3: 0x811d20c4 [ arg #2 ]
[ 335.944986] cx88[0]: iq 0: 0xdb1b7932 [ writecr sol irq2 irq1 20 19 cnt1 cnt0 14 13 12 count=2354 ]
[ 335.944998] cx88[0]: iq 1: 0x27270116 [ arg #1 ]
[ 335.945002] cx88[0]: iq 2: 0xb804404b [ arg #2 ]
[ 335.945006] cx88[0]: iq 3: 0x5db6409e [ arg #3 ]
[ 335.945010] cx88[0]: iq 4: 0x61343388 [ INVALID irq1 21 20 18 13 12 count=904 ]
[ 335.945019] cx88[0]: iq 5: 0xe50146a3 [ INVALID eol irq1 cnt0 14 count=1699 ]
[ 335.945027] cx88[0]: iq 6: 0x276b42f1 [ skip eol irq2 irq1 22 21 19 cnt1 cnt0 14 count=753 ]
[ 335.945038] cx88[0]: iq 7: 0x409eb804 [ INVALID 23 20 19 18 cnt1 resync 13 12 count=2052 ]
[ 335.945048] cx88[0]: iq 8: 0xe29d7bb4 [ INVALID irq2 23 20 19 18 cnt0 14 13 12 count=2996 ]
[ 335.945058] cx88[0]: iq 9: 0x40131a60 [ INVALID 20 cnt1 cnt0 12 count=2656 ]
[ 335.945066] cx88[0]: iq a: 0x8e090662 [ sync sol eol irq2 19 cnt0 count=1634 ]
[ 335.945075] cx88[0]: iq b: 0xdbcd58a2 [ writecr sol irq2 irq1 23 22 19 18 cnt0 14 12 count=2210 ]
[ 335.945086] cx88[0]: iq c: 0x05f0e10f [ arg #1 ]
[ 335.945090] cx88[0]: iq d: 0x811d20c4 [ arg #2 ]
[ 335.945094] cx88[0]: iq e: 0x5006925f [ arg #3 ]
[ 335.945124] cx88[0]: iq f: 0x9294048c [ read irq2 23 20 18 count=1164 ]
[ 335.945131] cx88[0]: fifo: 0x00186400 -> 0x187400
[ 335.945134] cx88[0]: ctrl: 0x001807c0 -> 0x180820
[ 335.945138] cx88[0]: ptr1_reg: 0x00186400
[ 335.945142] cx88[0]: ptr2_reg: 0x00180808
[ 335.945145] cx88[0]: cnt1_reg: 0x00000000
[ 335.945149] cx88[0]: cnt2_reg: 0x00000000
[ 335.945356] cx88[0]/2-mpeg: general errors: 0x00010000
[ 335.945568] cx88[0]: irq pci [0x404] ts risc_rd_err*
[ 335.945783] cx88[0]: irq pci [0x404] ts risc_rd_err*
[ 335.945790] cx88[0]: irq mpeg [0x11010] ts_risci2* ts_sync opc_err*
[ 335.945796] cx88[0]: mpeg risc op code error
[ 335.945800] cx88[0]: mpeg - dma channel status dump
[ 335.945804] cx88[0]: cmds: initial risc: 0x1ef36000
[ 335.945808] cx88[0]: cmds: cdt base : 0x00180800
[ 335.945812] cx88[0]: cmds: cdt size : 0x0000000a
[ 335.945816] cx88[0]: cmds: iq base : 0x001807c0
[ 335.945819] cx88[0]: cmds: iq size : 0x00000010
[ 335.945823] cx88[0]: cmds: risc pc : 0xe9928274
[ 335.945827] cx88[0]: cmds: iq wr ptr : 0x800001ff
[ 335.945831] cx88[0]: cmds: iq rd ptr : 0x00000004
[ 335.945835] cx88[0]: cmds: cdt current : 0x00000808
[ 335.945838] cx88[0]: cmds: pci target : 0x00000000
[ 335.945842] cx88[0]: cmds: line / byte : 0x00000000
[ 335.945846] cx88[0]: risc0: 0x8e090662 [ sync sol eol irq2 19 cnt0 count=1634 ]
[ 335.945855] cx88[0]: risc1: 0xdbcd58a2 [ writecr sol irq2 irq1 23 22 19 18 cnt0 14 12 count=2210 ]
[ 335.945866] cx88[0]: risc2: 0x05f0e10f [ arg #3 ]
[ 335.945870] cx88[0]: risc3: 0x811d20c4 [ arg #2 ]
[ 335.945875] cx88[0]: iq 0: 0x1a618cfc [ write sol irq2 22 21 cnt0 resync count=3324 ]
[ 335.945885] cx88[0]: iq 1: 0x2ac06380 [ arg #1 ]
[ 335.945889] cx88[0]: iq 2: 0xcc3cd8cf [ writecm sol eol 21 20 19 18 resync 14 12 count=2255 ]
[ 335.945900] cx88[0]: iq 3: 0x47dbf83c [ arg #1 ]
[ 335.945904] cx88[0]: iq 4: 0x9808edd9 [ arg #2 ]
[ 335.945907] cx88[0]: iq 5: 0xbaaf4469 [ writerm sol irq2 23 21 19 18 cnt1 cnt0 14 count=1129 ]
[ 335.945918] cx88[0]: iq 6: 0xc30ee37f [ arg #1 ]
[ 335.945922] cx88[0]: iq 7: 0x03bc5af8 [ arg #2 ]
[ 335.945930] cx88[0]: iq 8: 0x0f3bd99d [ INVALID sol eol irq2 irq1 21 20 19 cnt1 cnt0 resync 14 12 count=2461 ]
[ 335.945943] cx88[0]: iq 9: 0x911f5956 [ read irq1 20 19 18 cnt1 cnt0 14 12 count=2390 ]
[ 335.945953] cx88[0]: iq a: 0xea1248a2 [ INVALID sol irq2 20 cnt1 14 count=2210 ]
[ 335.945961] cx88[0]: iq b: 0x044d0089 [ INVALID eol 22 19 18 cnt0 count=137 ]
[ 335.945970] cx88[0]: iq c: 0xa1a005f2 [ readc irq1 23 21 count=1522 ]
[ 335.945977] cx88[0]: iq d: 0xe7458c88 [ INVALID eol irq2 irq1 22 18 cnt0 resync count=3208 ]
[ 335.945987] cx88[0]: iq e: 0x789806c3 [ jump sol 23 20 19 count=1731 ]
[ 335.945995] cx88[0]: iq f: 0x8da32067 [ arg #1 ]
[ 335.945998] cx88[0]: fifo: 0x00186400 -> 0x187400
[ 335.946001] cx88[0]: ctrl: 0x001807c0 -> 0x180820
[ 335.946005] cx88[0]: ptr1_reg: 0x00186570
[ 335.946008] cx88[0]: ptr2_reg: 0x00180808
[ 335.946012] cx88[0]: cnt1_reg: 0x0000002e
[ 335.946015] cx88[0]: cnt2_reg: 0x00000000
[ 335.946222] cx88[0]/2-mpeg: general errors: 0x00010000
More information about the mythtv-users
mailing list