[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