[mythtv-users] DVB tuner not working in Xen PV guest

Simon Hobson linux at thehobsons.co.uk
Sun Jul 24 20:46:28 UTC 2011


I'm trying get a new version of MythTV running as a Xen PV guest. 
Host is Debian with Xen4.0.1 and kernel 2.6.32-5-xen-amd64, PV guest 
is also Debian with kernel 2.6.32-5-xen-amd64. I have a DVB-T tuner 
(HVR-1200, PCIe card) I am trying to use in the guest with 
pciback.hide etc. The whole thing is running on an HP Proliant 
Microserver I bought while HP had a mail-in rebate going.

I've had a similar setup with an HVR 1100 under earlier versions of 
Xen, Linux, and MythTV for some time.


If I boot the host without Xen, I can access the card with dvbtune 
and it lists the channels in a multiplex :
># dvbtune -f 801833000 -i
>Using DVB card "NXP TDA10048HN DVB-T"
>tuning DVB-T (in United Kingdom) to 801833000 Hz
>polling....
>Getting frontend event
>FE_STATUS:
>polling....
>Getting frontend event
>FE_STATUS: FE_HAS_SIGNAL FE_HAS_LOCK FE_HAS_CARRIER FE_HAS_VITERBI FE_HAS_SYNC
>Bit error rate: 35
>Signal strength: 65278
>SNR: 246
>FE_STATUS: FE_HAS_SIGNAL FE_HAS_LOCK FE_HAS_CARRIER FE_HAS_VITERBI FE_HAS_SYNC
><transponder type="T" freq="801833000">
><service id="4168" ca="0">
><description tag="0x48" type="1" provider_name="BBC" service_name="BBC ONE" />
><descriptor tag="0x73" data="66702e6262632e636f2e756b" text="fp.bbc.co.uk" />
><stream type="2" pid="101">
><stream_id id="1" />
></stream>

And the card shows up in the boot log :
>02:00.0 Multimedia video controller: Conexant Systems, Inc. CX23885 
>PCI Video and Audio Decoder (rev 02)

I've hidden the card from Dom0 by adding "xen-pciback.hide=(02:00.0)" 
to the grub config.


When I boot the guest, I can see it's tuner card
>eddi kernel: [   25.348011] cx23885[0]/0: found at 0000:00:00.0, 
>rev: 2, irq: 16, latency: 0, mmio: 0xfe600000

But if I try to access it with dvbtune, it can't detect any channels :

># dvbtune -f 801833000 -i
>Using DVB card "NXP TDA10048HN DVB-T"
>tuning DVB-T (in United Kingdom) to 801833000 Hz
>polling....
>Getting frontend event
>FE_STATUS:
>polling....
>Getting frontend event
>FE_STATUS: FE_HAS_SIGNAL FE_HAS_LOCK FE_HAS_CARRIER FE_HAS_VITERBI FE_HAS_SYNC
>Bit error rate: 1965
>Signal strength: 61680
>SNR: 131
>FE_STATUS: FE_HAS_SIGNAL FE_HAS_LOCK FE_HAS_CARRIER FE_HAS_VITERBI FE_HAS_SYNC
><transponder type="T" freq="801833000">
>Nothing to read from fd_pat
>Nothing to read from fd_sdt
></transponder>

Now, that looks very much to me like it recognises there is a signal 
(HAS_SIGNAL, HAS_LOCK, and so on), but it cannot read any data.

Does anyone have any suggestions what may be missing here ?
Is the "mmio: 0xfe600000" significant, or does that get handled 
automatically with the pciback stuff ?
-- 
Simon Hobson

Visit http://www.magpiesnestpublishing.co.uk/ for books by acclaimed
author Gladys Hobson. Novels - poetry - short stories - ideal as
Christmas stocking fillers. Some available as e-books.


More information about the mythtv-users mailing list