Re: No data from tuner over PCI bridge adapter (Cablestar HD 2 / mantis / PEX 8112)

2011-02-23 Thread Andy Walls
On Tue, 2011-02-22 at 14:34 +0200, Dennis Kurten wrote:
 On Tue, Feb 15, 2011 at 4:23 PM, Dennis Kurten dennis.kur...@gmail.com 
 wrote:
  Hello Andy, I've tried some of your suggestions, but no luck so far.
 
 
  On Tue, Feb 15, 2011 at 4:09 AM, Andy Walls awa...@md.metrocast.net wrote:
  On Mon, 2011-02-14 at 13:35 +0200, Dennis Kurten wrote:
  Hello,
 
  This card (technisat cablestar hd 2 dvb-c) works fine when plugged
  into a native PCI slot. When I try it with a PCI-adapter I intend to use 
  in
  mITX-builds there doesn't seem to be any data coming in through the
  tuner. The adapter is a transparent bridge (with a PEX 8112 chip) that
  goes into a 1xPCIe-slot and gets power through a 4-pin molex.
 
  [...]
 
  Kernel is 2.6.32 (+the compiled drivers)
 
 
 I have upgraded my system to 2.6.35 so now I'm using vanilla drivers but
 the problem remains: Works fine in PCI - doesn't in PCIE behind adapter.

Before you go too crazy throwing probes in your box, have you tested the
PCIe adapter and Mantis device in Windows?


  [...]
 
  Latency: 32 (2000ns min, 63750ns max)
  Interrupt: pin A routed to IRQ 16
  Region 0: Memory at fdcff000 (32-bit, prefetchable) [size=4K]
 
 
  Heh, I always find it curious when I/O peripherials claim their register
  space is prefetchable (the CX23416 does this as well).  If the chip is
  designed right, it is valid though AFAICT.
 
 
 
 And is there any point with prefetchable mechanisms if bus mastering
 is employed?

Yes.

The Bus Mastering by the Mantis device is for when the device performs
DMA transfers.

The command and control by the Linux mantis driver to set up the
transfers and check interrupt status are mastered by the CPU and PCI/e
bridges.

Problems would only arise if the device marked the region as
prefetchable but didn't obey the conditions for doing so in the PCI
specs (e.g. reads should not  have side effects, etc.).  I'm guessing
that is unlikely to be the problem here.



  This is what the adapter reports:
 
 I/O behind bridge: e000-efff
 Memory behind bridge: fdd0-fddf
 Prefetchable memory behind bridge: fdc0-fdcf
 
 I'd have thought that the memory behind the bridge would include any
 prefetchable segment. The tuner card happens to registers within that
 0xfdc-segment too.

That's right.  The bridge should report the aggregation of all the
active regions and region types behind it.  The bridge needs to know
this so it doesn't respond to address ranges some other bridge might be
fronting for.

Again everyuthing looks OK here.

 
  [...]
 
  from /cat/interrupts:
  ---
   16:   9751  0   IO-APIC-fasteoi   ahci, nvidia, Mantis
 
  [...]
 
 
 The above shared interrupt assignment is the same for both cases. There
 is however a difference how the interrupt link is set up:
 
 Mantis :05:06.0: PCI INT A - Link[APC1] ... (-- without bridge)
   vs.
 Mantis :04:00.0: PCI INT A - Link[APC7] ... (-- with bridge)
 
 Don't know if the different APC# is of any significance here.


I'm not sure what those Links are so I can't help there.


My plan of attack, if this were my problem, would be to

a) test the video card and PCIe adapetr in Windows to eliminate bad
hardware.

b) test a different PCI card, driver by a different Linux driver, and
the PCIe adapter in Linux

c) Based on those results investigate either the Mantis driver or the
setup of the PCIe bridge.

Sometimes there is some odd register in the PCIe bridge that needs to be
tweaked.  The datasheet for the PEX8112 doesn't require an NDA, PLX just
wants you to register to be a member to download it.

http://www.plxtech.com/products/expresslane/pex8112

http://www.plxtech.com/premium_services/

I'm not sure what membership costs aside from storing a web-browser
cookie, the possibility of rejection, and periodic calls from sales
associates

d) I'd investigate the possibility of the nvidia or ahci driver claiming
the interrupts from the Mantis device as theirs, thus preventing them
from being sent to the mantis driver.

e) Examin the PCI config space settings of the Mantis device (using
lspci -vvv as root) to see the difference in the PCI configuration
registers and then check the PCI sepc for what they mean.

Good Luck.

Regards,
Andy

 Regards,
 Dennis


--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: No data from tuner over PCI bridge adapter (Cablestar HD 2 / mantis / PEX 8112)

2011-02-22 Thread Dennis Kurten
On Tue, Feb 15, 2011 at 4:23 PM, Dennis Kurten dennis.kur...@gmail.com wrote:
 Hello Andy, I've tried some of your suggestions, but no luck so far.


 On Tue, Feb 15, 2011 at 4:09 AM, Andy Walls awa...@md.metrocast.net wrote:
 On Mon, 2011-02-14 at 13:35 +0200, Dennis Kurten wrote:
 Hello,

 This card (technisat cablestar hd 2 dvb-c) works fine when plugged
 into a native PCI slot. When I try it with a PCI-adapter I intend to use in
 mITX-builds there doesn't seem to be any data coming in through the
 tuner. The adapter is a transparent bridge (with a PEX 8112 chip) that
 goes into a 1xPCIe-slot and gets power through a 4-pin molex.

 [...]

 Kernel is 2.6.32 (+the compiled drivers)


I have upgraded my system to 2.6.35 so now I'm using vanilla drivers but
the problem remains: Works fine in PCI - doesn't in PCIE behind adapter.


 [...]

         Latency: 32 (2000ns min, 63750ns max)
         Interrupt: pin A routed to IRQ 16
         Region 0: Memory at fdcff000 (32-bit, prefetchable) [size=4K]
                                                

 Heh, I always find it curious when I/O peripherials claim their register
 space is prefetchable (the CX23416 does this as well).  If the chip is
 designed right, it is valid though AFAICT.



And is there any point with prefetchable mechanisms if bus mastering
is employed? This is what the adapter reports:

I/O behind bridge: e000-efff
Memory behind bridge: fdd0-fddf
Prefetchable memory behind bridge: fdc0-fdcf

I'd have thought that the memory behind the bridge would include any
prefetchable segment. The tuner card happens to registers within that
0xfdc-segment too.


 [...]

 from /cat/interrupts:
 ---
  16:       9751          0   IO-APIC-fasteoi   ahci, nvidia, Mantis

 [...]


The above shared interrupt assignment is the same for both cases. There
is however a difference how the interrupt link is set up:

Mantis :05:06.0: PCI INT A - Link[APC1] ... (-- without bridge)
  vs.
Mantis :04:00.0: PCI INT A - Link[APC7] ... (-- with bridge)

Don't know if the different APC# is of any significance here.


Regards,
Dennis
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: No data from tuner over PCI bridge adapter (Cablestar HD 2 / mantis / PEX 8112)

2011-02-15 Thread Konstantin Dimitrov
hi, does your DVB card can get signal lock when it's inserted into the
 PCI-to-PCIE adapter, because as far as i know most PCI-to-PCIE
adapters based on PEX 8111/8112 don't provide power to 12V pins of the
PCI interface, which probably all PCI DVB card use for LNB power. so,
what i would check if i'm at your position is the LNB power of the
card as well as if there is no some extensive amount of noise in the
LNB power when the DVB card is inside PEX 8111/8112 PCI-to-PCIE
adapter. also, i can give you example from my own experience with an
Audiotrak Prodigy HD2 PCI audio card and PEX 8111/8112 based
PCI-to-PCIE adapters - with one such adapter that don't provide power
to 12V pins of the PCI interface there is no sound coming out, because
the amplifier on the card uses power from 12V pins of the PCI
interface, with another PEX 8111/8112 PCI-to-PCIE adapter that seems
to provide power to 12V pins there is extensive noise in the sound
that is coming out, because PCI-to-PCIE adapter doesn't provide good
power on 12V pins of the PCI interface and thus the noise in the
audio. also, on some motherboards (with nVidia chipset on my tests)
there was some problem with how the memory was mapped preventing the
work of the PCI card when it's inserted into PEX 8111/8112 based
PCI-to-PCIE adapter. so, it's also helpful to test motherboards with
different chipset. in any case it's always better to find and use
native PCI-Express card instead of PEX 8111/8112 PCI-to-PCIE adapter
and PCI card. anyway, maybe, someone with more hardware engineering
knowledge then i have, especially if the problem is 12V can find some
way to fix those cheap PEX 8111/8112 PCI-to-PCIE adapters that are
floating around, because i'm sure they just sacrifice 12V power to
lower the BOM cost of the adapter. BTW, i'm sure your firewire card is
working, because it doesn't use 12V PCI interface pins - it's the same
with many PCI cards, but all that needs 12V are no-go based on my
experience.

--konstantin

On Mon, Feb 14, 2011 at 1:35 PM, Dennis Kurten dennis.kur...@gmail.com wrote:
 Hello,

 This card (technisat cablestar hd 2 dvb-c) works fine when plugged
 into a native PCI slot.
 When I try it with a PCI-adapter I intend to use in mITX-builds there
 doesn't seem
 to be any data coming in through the tuner. The adapter is a
 transparent bridge (with a
 PEX 8112 chip) that goes into a 1xPCIe-slot and gets power through a
 4-pin molex.

 My guess is some kind of dma mapping incompatibility with the mantis
 driver (s2-liplianin).
 The card seems to  initialize correctly, but doesn't work when the
 tuner is put into action
 (scandvb timeouts, dvbtraffic yields nothing). For the record, I've
 tested the bridge with a
 firewire card and that works fine.

 Kernel is 2.6.32 (+the compiled drivers)

 lspci for the bridge and the card:
 --
 03:00.0 PCI bridge: PLX Technology, Inc. PEX8112 x1 Lane PCI
 Express-to-PCI Bridge (rev aa) (prog-if 00 [Normal decode])
        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: 32 bytes
        Bus: primary=03, secondary=04, subordinate=04, sec-latency=32
        I/O behind bridge: e000-efff
        Memory behind bridge: fdd0-fddf
        Prefetchable memory behind bridge: fdc0-fdcf
        Secondary status: 66MHz+ FastB2B- ParErr- DEVSEL=medium
TAbort- TAbort- MAbort- SERR- PERR-
        BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- Reset- FastB2B-
                PriDiscTmr- SecDiscTmr- DiscTmrStat+ DiscTmrSERREn-
        Capabilities: access denied
        Kernel modules: shpchp

 04:00.0 Multimedia controller: Twinhan Technology Co. Ltd Mantis DTV
 PCI Bridge Controller [Ver 1.0] (rev 01)
        Subsystem: Device 1ae4:0002
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
 ParErr- Stepping- SERR- FastB2B- DisINTx-
        Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium
TAbort- TAbort+ MAbort- SERR- PERR- INTx-
        Latency: 32 (2000ns min, 63750ns max)
        Interrupt: pin A routed to IRQ 16
        Region 0: Memory at fdcff000 (32-bit, prefetchable) [size=4K]
        Kernel driver in use: Mantis
        Kernel modules: mantis

 dmesg output with modules loaded:
 -
 Mantis :04:00.0: PCI INT A - Link[APC7] - GSI 16 (level, low) - IRQ 16
 irq: 16, latency: 32
  memory: 0xfdcff000, mmio: 0xc900031a
 found a VP-2040 PCI DVB-C device on (04:00.0),
    Mantis Rev 1 [1ae4:0002], irq: 16, latency: 32
    memory: 0xfdcff000, mmio: 0xc900031a
    MAC Address=[00:08:c9:d0:46:b4]
 mantis_alloc_buffers (0): DMA=0x1bb9 cpu=0x88001bb9 size=65536
 mantis_alloc_buffers (0): RISC=0x1bbec000 cpu=0x88001bbec000 size=1000
 DVB: registering new adapter (Mantis dvb adapter)
 

Re: No data from tuner over PCI bridge adapter (Cablestar HD 2 / mantis / PEX 8112)

2011-02-15 Thread Konstantin Dimitrov
oh, i have just noticed your DVB card is for Cable and not for
Satellite, but still it may use 12V PCI interface pins for something
else and not exactly for LNB power as i thought assuming it's DVB-S/S2
DVB card.

On Tue, Feb 15, 2011 at 10:18 AM, Konstantin Dimitrov
kosio.dimit...@gmail.com wrote:
 hi, does your DVB card can get signal lock when it's inserted into the
  PCI-to-PCIE adapter, because as far as i know most PCI-to-PCIE
 adapters based on PEX 8111/8112 don't provide power to 12V pins of the
 PCI interface, which probably all PCI DVB card use for LNB power. so,
 what i would check if i'm at your position is the LNB power of the
 card as well as if there is no some extensive amount of noise in the
 LNB power when the DVB card is inside PEX 8111/8112 PCI-to-PCIE
 adapter. also, i can give you example from my own experience with an
 Audiotrak Prodigy HD2 PCI audio card and PEX 8111/8112 based
 PCI-to-PCIE adapters - with one such adapter that don't provide power
 to 12V pins of the PCI interface there is no sound coming out, because
 the amplifier on the card uses power from 12V pins of the PCI
 interface, with another PEX 8111/8112 PCI-to-PCIE adapter that seems
 to provide power to 12V pins there is extensive noise in the sound
 that is coming out, because PCI-to-PCIE adapter doesn't provide good
 power on 12V pins of the PCI interface and thus the noise in the
 audio. also, on some motherboards (with nVidia chipset on my tests)
 there was some problem with how the memory was mapped preventing the
 work of the PCI card when it's inserted into PEX 8111/8112 based
 PCI-to-PCIE adapter. so, it's also helpful to test motherboards with
 different chipset. in any case it's always better to find and use
 native PCI-Express card instead of PEX 8111/8112 PCI-to-PCIE adapter
 and PCI card. anyway, maybe, someone with more hardware engineering
 knowledge then i have, especially if the problem is 12V can find some
 way to fix those cheap PEX 8111/8112 PCI-to-PCIE adapters that are
 floating around, because i'm sure they just sacrifice 12V power to
 lower the BOM cost of the adapter. BTW, i'm sure your firewire card is
 working, because it doesn't use 12V PCI interface pins - it's the same
 with many PCI cards, but all that needs 12V are no-go based on my
 experience.

 --konstantin

 On Mon, Feb 14, 2011 at 1:35 PM, Dennis Kurten dennis.kur...@gmail.com 
 wrote:
 Hello,

 This card (technisat cablestar hd 2 dvb-c) works fine when plugged
 into a native PCI slot.
 When I try it with a PCI-adapter I intend to use in mITX-builds there
 doesn't seem
 to be any data coming in through the tuner. The adapter is a
 transparent bridge (with a
 PEX 8112 chip) that goes into a 1xPCIe-slot and gets power through a
 4-pin molex.

 My guess is some kind of dma mapping incompatibility with the mantis
 driver (s2-liplianin).
 The card seems to  initialize correctly, but doesn't work when the
 tuner is put into action
 (scandvb timeouts, dvbtraffic yields nothing). For the record, I've
 tested the bridge with a
 firewire card and that works fine.

 Kernel is 2.6.32 (+the compiled drivers)

 lspci for the bridge and the card:
 --
 03:00.0 PCI bridge: PLX Technology, Inc. PEX8112 x1 Lane PCI
 Express-to-PCI Bridge (rev aa) (prog-if 00 [Normal decode])
        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: 32 bytes
        Bus: primary=03, secondary=04, subordinate=04, sec-latency=32
        I/O behind bridge: e000-efff
        Memory behind bridge: fdd0-fddf
        Prefetchable memory behind bridge: fdc0-fdcf
        Secondary status: 66MHz+ FastB2B- ParErr- DEVSEL=medium
TAbort- TAbort- MAbort- SERR- PERR-
        BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- Reset- FastB2B-
                PriDiscTmr- SecDiscTmr- DiscTmrStat+ DiscTmrSERREn-
        Capabilities: access denied
        Kernel modules: shpchp

 04:00.0 Multimedia controller: Twinhan Technology Co. Ltd Mantis DTV
 PCI Bridge Controller [Ver 1.0] (rev 01)
        Subsystem: Device 1ae4:0002
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
 ParErr- Stepping- SERR- FastB2B- DisINTx-
        Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium
TAbort- TAbort+ MAbort- SERR- PERR- INTx-
        Latency: 32 (2000ns min, 63750ns max)
        Interrupt: pin A routed to IRQ 16
        Region 0: Memory at fdcff000 (32-bit, prefetchable) [size=4K]
        Kernel driver in use: Mantis
        Kernel modules: mantis

 dmesg output with modules loaded:
 -
 Mantis :04:00.0: PCI INT A - Link[APC7] - GSI 16 (level, low) - IRQ 16
 irq: 16, latency: 32
  memory: 0xfdcff000, mmio: 0xc900031a
 found a VP-2040 PCI DVB-C device on (04:00.0),
    Mantis Rev 1 

Re: No data from tuner over PCI bridge adapter (Cablestar HD 2 / mantis / PEX 8112)

2011-02-15 Thread Dennis Kurten
The power issue did cross my mind after some more research. Maybe
that would explain why the card is registering correctly but not returning
any tuned data. I haven't found any detailed requirement specs for the
tv card but I assume that the tuner/demodulator could consume a fair
amount of power. However, my adapter should be supplying 12V
500mA with the molex. I'll try to measure if I can get the equipment  of
a friend (just in case, since the connectors seem a bit sloppy).

Andy's insightful tips from the other reply also made a lot of sense since
there does not seem to be anything at all coming back from the card, not
even jitter or noise. That could indicate lost interrupts / bus mastering
problems. I'll see tonight after some tweaking.

As far as using native PCIe cards there's only one experimental (and
very expensive) DVB-C model I know of. Combine this with the shortage
of PCI slots on SFF motherboards and you have a problem with media
centers.

Regard,
Dennis



On Tue, Feb 15, 2011 at 10:20 AM, Konstantin Dimitrov
kosio.dimit...@gmail.com wrote:
 oh, i have just noticed your DVB card is for Cable and not for
 Satellite, but still it may use 12V PCI interface pins for something
 else and not exactly for LNB power as i thought assuming it's DVB-S/S2
 DVB card.

 On Tue, Feb 15, 2011 at 10:18 AM, Konstantin Dimitrov
 kosio.dimit...@gmail.com wrote:
 hi, does your DVB card can get signal lock when it's inserted into the
  PCI-to-PCIE adapter, because as far as i know most PCI-to-PCIE
 adapters based on PEX 8111/8112 don't provide power to 12V pins of the
 PCI interface, which probably all PCI DVB card use for LNB power. so,
 what i would check if i'm at your position is the LNB power of the
 card as well as if there is no some extensive amount of noise in the
 LNB power when the DVB card is inside PEX 8111/8112 PCI-to-PCIE
 adapter. also, i can give you example from my own experience with an
 Audiotrak Prodigy HD2 PCI audio card and PEX 8111/8112 based
 PCI-to-PCIE adapters - with one such adapter that don't provide power
 to 12V pins of the PCI interface there is no sound coming out, because
 the amplifier on the card uses power from 12V pins of the PCI
 interface, with another PEX 8111/8112 PCI-to-PCIE adapter that seems
 to provide power to 12V pins there is extensive noise in the sound
 that is coming out, because PCI-to-PCIE adapter doesn't provide good
 power on 12V pins of the PCI interface and thus the noise in the
 audio. also, on some motherboards (with nVidia chipset on my tests)
 there was some problem with how the memory was mapped preventing the
 work of the PCI card when it's inserted into PEX 8111/8112 based
 PCI-to-PCIE adapter. so, it's also helpful to test motherboards with
 different chipset. in any case it's always better to find and use
 native PCI-Express card instead of PEX 8111/8112 PCI-to-PCIE adapter
 and PCI card. anyway, maybe, someone with more hardware engineering
 knowledge then i have, especially if the problem is 12V can find some
 way to fix those cheap PEX 8111/8112 PCI-to-PCIE adapters that are
 floating around, because i'm sure they just sacrifice 12V power to
 lower the BOM cost of the adapter. BTW, i'm sure your firewire card is
 working, because it doesn't use 12V PCI interface pins - it's the same
 with many PCI cards, but all that needs 12V are no-go based on my
 experience.

 --konstantin

 On Mon, Feb 14, 2011 at 1:35 PM, Dennis Kurten dennis.kur...@gmail.com 
 wrote:
 Hello,

 This card (technisat cablestar hd 2 dvb-c) works fine when plugged
 into a native PCI slot.
 When I try it with a PCI-adapter I intend to use in mITX-builds there
 doesn't seem
 to be any data coming in through the tuner. The adapter is a
 transparent bridge (with a
 PEX 8112 chip) that goes into a 1xPCIe-slot and gets power through a
 4-pin molex.

 My guess is some kind of dma mapping incompatibility with the mantis
 driver (s2-liplianin).
 The card seems to  initialize correctly, but doesn't work when the
 tuner is put into action
 (scandvb timeouts, dvbtraffic yields nothing). For the record, I've
 tested the bridge with a
 firewire card and that works fine.

 Kernel is 2.6.32 (+the compiled drivers)

 lspci for the bridge and the card:
 --
 03:00.0 PCI bridge: PLX Technology, Inc. PEX8112 x1 Lane PCI
 Express-to-PCI Bridge (rev aa) (prog-if 00 [Normal decode])
        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: 32 bytes
        Bus: primary=03, secondary=04, subordinate=04, sec-latency=32
        I/O behind bridge: e000-efff
        Memory behind bridge: fdd0-fddf
        Prefetchable memory behind bridge: fdc0-fdcf
        Secondary status: 66MHz+ FastB2B- ParErr- DEVSEL=medium
TAbort- TAbort- MAbort- SERR- PERR-
       

Re: No data from tuner over PCI bridge adapter (Cablestar HD 2 / mantis / PEX 8112)

2011-02-15 Thread Andy Walls
Dennis Kurten dennis.kur...@gmail.com wrote:

The power issue did cross my mind after some more research. Maybe
that would explain why the card is registering correctly but not
returning
any tuned data. I haven't found any detailed requirement specs for the
tv card but I assume that the tuner/demodulator could consume a fair
amount of power. However, my adapter should be supplying 12V
500mA with the molex. I'll try to measure if I can get the equipment 
of
a friend (just in case, since the connectors seem a bit sloppy).

Andy's insightful tips from the other reply also made a lot of sense
since
there does not seem to be anything at all coming back from the card,
not
even jitter or noise. That could indicate lost interrupts / bus
mastering
problems. I'll see tonight after some tweaking.

As far as using native PCIe cards there's only one experimental (and
very expensive) DVB-C model I know of. Combine this with the shortage
of PCI slots on SFF motherboards and you have a problem with media
centers.

Regard,
Dennis



On Tue, Feb 15, 2011 at 10:20 AM, Konstantin Dimitrov
kosio.dimit...@gmail.com wrote:
 oh, i have just noticed your DVB card is for Cable and not for
 Satellite, but still it may use 12V PCI interface pins for something
 else and not exactly for LNB power as i thought assuming it's
DVB-S/S2
 DVB card.

 On Tue, Feb 15, 2011 at 10:18 AM, Konstantin Dimitrov
 kosio.dimit...@gmail.com wrote:
 hi, does your DVB card can get signal lock when it's inserted into
the
  PCI-to-PCIE adapter, because as far as i know most PCI-to-PCIE
 adapters based on PEX 8111/8112 don't provide power to 12V pins of
the
 PCI interface, which probably all PCI DVB card use for LNB power.
so,
 what i would check if i'm at your position is the LNB power of the
 card as well as if there is no some extensive amount of noise in the
 LNB power when the DVB card is inside PEX 8111/8112 PCI-to-PCIE
 adapter. also, i can give you example from my own experience with an
 Audiotrak Prodigy HD2 PCI audio card and PEX 8111/8112 based
 PCI-to-PCIE adapters - with one such adapter that don't provide
power
 to 12V pins of the PCI interface there is no sound coming out,
because
 the amplifier on the card uses power from 12V pins of the PCI
 interface, with another PEX 8111/8112 PCI-to-PCIE adapter that seems
 to provide power to 12V pins there is extensive noise in the sound
 that is coming out, because PCI-to-PCIE adapter doesn't provide good
 power on 12V pins of the PCI interface and thus the noise in the
 audio. also, on some motherboards (with nVidia chipset on my tests)
 there was some problem with how the memory was mapped preventing the
 work of the PCI card when it's inserted into PEX 8111/8112 based
 PCI-to-PCIE adapter. so, it's also helpful to test motherboards with
 different chipset. in any case it's always better to find and use
 native PCI-Express card instead of PEX 8111/8112 PCI-to-PCIE adapter
 and PCI card. anyway, maybe, someone with more hardware engineering
 knowledge then i have, especially if the problem is 12V can find
some
 way to fix those cheap PEX 8111/8112 PCI-to-PCIE adapters that are
 floating around, because i'm sure they just sacrifice 12V power to
 lower the BOM cost of the adapter. BTW, i'm sure your firewire card
is
 working, because it doesn't use 12V PCI interface pins - it's the
same
 with many PCI cards, but all that needs 12V are no-go based on my
 experience.

 --konstantin

 On Mon, Feb 14, 2011 at 1:35 PM, Dennis Kurten
dennis.kur...@gmail.com wrote:
 Hello,

 This card (technisat cablestar hd 2 dvb-c) works fine when plugged
 into a native PCI slot.
 When I try it with a PCI-adapter I intend to use in mITX-builds
there
 doesn't seem
 to be any data coming in through the tuner. The adapter is a
 transparent bridge (with a
 PEX 8112 chip) that goes into a 1xPCIe-slot and gets power through
a
 4-pin molex.

 My guess is some kind of dma mapping incompatibility with the
mantis
 driver (s2-liplianin).
 The card seems to  initialize correctly, but doesn't work when the
 tuner is put into action
 (scandvb timeouts, dvbtraffic yields nothing). For the record, I've
 tested the bridge with a
 firewire card and that works fine.

 Kernel is 2.6.32 (+the compiled drivers)

 lspci for the bridge and the card:
 --
 03:00.0 PCI bridge: PLX Technology, Inc. PEX8112 x1 Lane PCI
 Express-to-PCI Bridge (rev aa) (prog-if 00 [Normal decode])
        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: 32 bytes
        Bus: primary=03, secondary=04, subordinate=04,
sec-latency=32
        I/O behind bridge: e000-efff
        Memory behind bridge: fdd0-fddf
        Prefetchable memory behind bridge: fdc0-fdcf
        Secondary status: 66MHz+ FastB2B- ParErr- 

Re: No data from tuner over PCI bridge adapter (Cablestar HD 2 / mantis / PEX 8112)

2011-02-15 Thread Dennis Kurten
Hello Andy, I've tried some of your suggestions, but no luck so far.


On Tue, Feb 15, 2011 at 4:09 AM, Andy Walls awa...@md.metrocast.net wrote:
 On Mon, 2011-02-14 at 13:35 +0200, Dennis Kurten wrote:
 Hello,

 This card (technisat cablestar hd 2 dvb-c) works fine when plugged
 into a native PCI slot.
 When I try it with a PCI-adapter I intend to use in mITX-builds there
 doesn't seem
 to be any data coming in through the tuner. The adapter is a
 transparent bridge (with a
 PEX 8112 chip) that goes into a 1xPCIe-slot and gets power through a
 4-pin molex.

 My guess is some kind of dma mapping incompatibility with the mantis
 driver (s2-liplianin).
 The card seems to  initialize correctly, but doesn't work when the
 tuner is put into action
 (scandvb timeouts, dvbtraffic yields nothing). For the record, I've
 tested the bridge with a
 firewire card and that works fine.

 Kernel is 2.6.32 (+the compiled drivers)

 lspci for the bridge and the card:
 --
 03:00.0 PCI bridge: PLX Technology, Inc. PEX8112 x1 Lane PCI
 Express-to-PCI Bridge (rev aa) (prog-if 00 [Normal decode])
         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: 32 bytes
          ^^
 I can't remember the exact meaning of setting the latency to 0.  IIRC it
 is not actually 0, but allows at least to one data phase (but that may
 not be enough for correct operation):
                
 http://www.sierrasales.com/pdfs/PCI-PCI_Bridges_When_Designing.pdf

 I would recommend you use setpci to bump this number up to 32, 64, or
 128 for troubleshooting/testing to ensure the bridge gets a decent
 number of PCI bus clocks on the bus.  The worst thing that could happen
 is the PLX bridge hogs a PCI bus segment while you are testing - no big
 deal.



I don't get to change that latency with setpci. Also, since the bridge
is basically
a PCIE card in itself I wonder if it is this or other sec-latency=32
that is the
relevant figure. I remember reading somewhere that the latency for a PCIE card
cannot be set with setpci for some MBs.

The second latency can be tweaked, but does not yield anything for 32, 64 or
128. I've also upped the tv card's latency. I'll investigate fine
tuning of the bridge
still (registered at PLX and received an SDK and some diagnostic apps)



         Bus: primary=03, secondary=04, subordinate=04, sec-latency=32
         I/O behind bridge: e000-efff
         Memory behind bridge: fdd0-fddf
         Prefetchable memory behind bridge: fdc0-fdcf
         Secondary status: 66MHz+ FastB2B- ParErr- DEVSEL=medium
 TAbort- TAbort- MAbort- SERR- PERR-
         BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- Reset- FastB2B-
                 PriDiscTmr- SecDiscTmr- DiscTmrStat+ DiscTmrSERREn-
         Capabilities: access denied
         Kernel modules: shpchp

 04:00.0 Multimedia controller: Twinhan Technology Co. Ltd Mantis DTV
 PCI Bridge Controller [Ver 1.0] (rev 01)
         Subsystem: Device 1ae4:0002
         Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
 ParErr- Stepping- SERR- FastB2B- DisINTx-
         Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium
 TAbort- TAbort+ MAbort- SERR- PERR- INTx-
           
 Well the Twinhan/Mantis device terminated at least one PCI transaction
 it was mastering with a target abort.  Maybe that is related to the
 bridge latency being set to 0.



Unfortunately that flag is also up when the card is working correctly  in a
native PCI slot.



         Latency: 32 (2000ns min, 63750ns max)
         Interrupt: pin A routed to IRQ 16
         Region 0: Memory at fdcff000 (32-bit, prefetchable) [size=4K]
                                                

 Heh, I always find it curious when I/O peripherials claim their register
 space is prefetchable (the CX23416 does this as well).  If the chip is
 designed right, it is valid though AFAICT.

 You may want to run a separate test with the cache-line size on the
 bridge set to something smaller than 32 using setpci.  I believe powers
 of 2 and the value 0 are allowed.  Transfers will become more
 inefficient with smaller cache-line size, but it may eliminate any
 problems related to conditions required for prefetching.  Worth a try.



Tried as far down as zero, no luck I'm afraid.




 You may also want to look for some BIOS/EFI settings related to
 interrupt routing and emulation.



I don't recall much more options than P'n'P or not (which I've done
both ways), but I'll have a look in the manual.

The interrupt watch you mentioned in your other post was interesting
since apparently that one is shared.

from /cat/interrupts:
---
 16:   9751  0   IO-APIC-fasteoi   ahci, nvidia, Mantis

Without doing any dvb stuff they come in 

No data from tuner over PCI bridge adapter (Cablestar HD 2 / mantis / PEX 8112)

2011-02-14 Thread Dennis Kurten
Hello,

This card (technisat cablestar hd 2 dvb-c) works fine when plugged
into a native PCI slot.
When I try it with a PCI-adapter I intend to use in mITX-builds there
doesn't seem
to be any data coming in through the tuner. The adapter is a
transparent bridge (with a
PEX 8112 chip) that goes into a 1xPCIe-slot and gets power through a
4-pin molex.

My guess is some kind of dma mapping incompatibility with the mantis
driver (s2-liplianin).
The card seems to  initialize correctly, but doesn't work when the
tuner is put into action
(scandvb timeouts, dvbtraffic yields nothing). For the record, I've
tested the bridge with a
firewire card and that works fine.

Kernel is 2.6.32 (+the compiled drivers)

lspci for the bridge and the card:
--
03:00.0 PCI bridge: PLX Technology, Inc. PEX8112 x1 Lane PCI
Express-to-PCI Bridge (rev aa) (prog-if 00 [Normal decode])
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: 32 bytes
Bus: primary=03, secondary=04, subordinate=04, sec-latency=32
I/O behind bridge: e000-efff
Memory behind bridge: fdd0-fddf
Prefetchable memory behind bridge: fdc0-fdcf
Secondary status: 66MHz+ FastB2B- ParErr- DEVSEL=medium
TAbort- TAbort- MAbort- SERR- PERR-
BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- Reset- FastB2B-
PriDiscTmr- SecDiscTmr- DiscTmrStat+ DiscTmrSERREn-
Capabilities: access denied
Kernel modules: shpchp

04:00.0 Multimedia controller: Twinhan Technology Co. Ltd Mantis DTV
PCI Bridge Controller [Ver 1.0] (rev 01)
Subsystem: Device 1ae4:0002
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium
TAbort- TAbort+ MAbort- SERR- PERR- INTx-
Latency: 32 (2000ns min, 63750ns max)
Interrupt: pin A routed to IRQ 16
Region 0: Memory at fdcff000 (32-bit, prefetchable) [size=4K]
Kernel driver in use: Mantis
Kernel modules: mantis

dmesg output with modules loaded:
-
Mantis :04:00.0: PCI INT A - Link[APC7] - GSI 16 (level, low) - IRQ 16
irq: 16, latency: 32
 memory: 0xfdcff000, mmio: 0xc900031a
found a VP-2040 PCI DVB-C device on (04:00.0),
Mantis Rev 1 [1ae4:0002], irq: 16, latency: 32
memory: 0xfdcff000, mmio: 0xc900031a
MAC Address=[00:08:c9:d0:46:b4]
mantis_alloc_buffers (0): DMA=0x1bb9 cpu=0x88001bb9 size=65536
mantis_alloc_buffers (0): RISC=0x1bbec000 cpu=0x88001bbec000 size=1000
DVB: registering new adapter (Mantis dvb adapter)
mantis_frontend_init (0): Probing for CU1216 (DVB-C)
TDA10023: i2c-addr = 0x0c, id = 0x7d
mantis_frontend_init (0): found Philips CU1216 DVB-C frontend (TDA10023) @ 0x0c
mantis_frontend_init (0): Mantis DVB-C Philips CU1216 frontend attach success
DVB: registering adapter 0 frontend 0 (Philips TDA10023 DVB-C)...
mantis_ca_init (0): Registering EN50221 device
mantis_ca_init (0): Registered EN50221 device
mantis_hif_init (0): Adapter(0) Initializing Mantis Host Interface
Registered IR keymap rc-vp2040
input: Mantis VP-2040 IR Receiver as /devices/virtual/rc/rc4/input11
rc4: Mantis VP-2040 IR Receiver as /devices/virtual/rc/rc4
b2c2-flexcop: B2C2 FlexcopII/II(b)/III digital TV receiver chip loaded
successfully


I hear sometimes these bridges are not as transparent as they claim,
any pointers on what to look for?

Regards,
Dennis
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: No data from tuner over PCI bridge adapter (Cablestar HD 2 / mantis / PEX 8112)

2011-02-14 Thread Andy Walls
On Mon, 2011-02-14 at 13:35 +0200, Dennis Kurten wrote:
 Hello,
 
 This card (technisat cablestar hd 2 dvb-c) works fine when plugged
 into a native PCI slot.
 When I try it with a PCI-adapter I intend to use in mITX-builds there
 doesn't seem
 to be any data coming in through the tuner. The adapter is a
 transparent bridge (with a
 PEX 8112 chip) that goes into a 1xPCIe-slot and gets power through a
 4-pin molex.
 
 My guess is some kind of dma mapping incompatibility with the mantis
 driver (s2-liplianin).
 The card seems to  initialize correctly, but doesn't work when the
 tuner is put into action
 (scandvb timeouts, dvbtraffic yields nothing). For the record, I've
 tested the bridge with a
 firewire card and that works fine.
 
 Kernel is 2.6.32 (+the compiled drivers)
 
 lspci for the bridge and the card:
 --
 03:00.0 PCI bridge: PLX Technology, Inc. PEX8112 x1 Lane PCI
 Express-to-PCI Bridge (rev aa) (prog-if 00 [Normal decode])
 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: 32 bytes
  ^^
I can't remember the exact meaning of setting the latency to 0.  IIRC it
is not actually 0, but allows at least to one data phase (but that may
not be enough for correct operation):

http://www.sierrasales.com/pdfs/PCI-PCI_Bridges_When_Designing.pdf

I would recommend you use setpci to bump this number up to 32, 64, or
128 for troubleshooting/testing to ensure the bridge gets a decent
number of PCI bus clocks on the bus.  The worst thing that could happen
is the PLX bridge hogs a PCI bus segment while you are testing - no big
deal.


 Bus: primary=03, secondary=04, subordinate=04, sec-latency=32
 I/O behind bridge: e000-efff
 Memory behind bridge: fdd0-fddf
 Prefetchable memory behind bridge: fdc0-fdcf
 Secondary status: 66MHz+ FastB2B- ParErr- DEVSEL=medium
 TAbort- TAbort- MAbort- SERR- PERR-
 BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- Reset- FastB2B-
 PriDiscTmr- SecDiscTmr- DiscTmrStat+ DiscTmrSERREn-
 Capabilities: access denied
 Kernel modules: shpchp
 
 04:00.0 Multimedia controller: Twinhan Technology Co. Ltd Mantis DTV
 PCI Bridge Controller [Ver 1.0] (rev 01)
 Subsystem: Device 1ae4:0002
 Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
 ParErr- Stepping- SERR- FastB2B- DisINTx-
 Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium
 TAbort- TAbort+ MAbort- SERR- PERR- INTx-
   
Well the Twinhan/Mantis device terminated at least one PCI transaction
it was mastering with a target abort.  Maybe that is related to the
bridge latency being set to 0.


 Latency: 32 (2000ns min, 63750ns max)
 Interrupt: pin A routed to IRQ 16
 Region 0: Memory at fdcff000 (32-bit, prefetchable) [size=4K]
   

Heh, I always find it curious when I/O peripherials claim their register
space is prefetchable (the CX23416 does this as well).  If the chip is
designed right, it is valid though AFAICT.

You may want to run a separate test with the cache-line size on the
bridge set to something smaller than 32 using setpci.  I believe powers
of 2 and the value 0 are allowed.  Transfers will become more
inefficient with smaller cache-line size, but it may eliminate any
problems related to conditions required for prefetching.  Worth a try.



You may also want to look for some BIOS/EFI settings related to
interrupt routing and emulation.

Regards,
Andy


 Kernel driver in use: Mantis
 Kernel modules: mantis
 
 dmesg output with modules loaded:
 -
 Mantis :04:00.0: PCI INT A - Link[APC7] - GSI 16 (level, low) - IRQ 16
 irq: 16, latency: 32
  memory: 0xfdcff000, mmio: 0xc900031a
 found a VP-2040 PCI DVB-C device on (04:00.0),
 Mantis Rev 1 [1ae4:0002], irq: 16, latency: 32
 memory: 0xfdcff000, mmio: 0xc900031a
 MAC Address=[00:08:c9:d0:46:b4]
 mantis_alloc_buffers (0): DMA=0x1bb9 cpu=0x88001bb9 size=65536
 mantis_alloc_buffers (0): RISC=0x1bbec000 cpu=0x88001bbec000 size=1000
 DVB: registering new adapter (Mantis dvb adapter)
 mantis_frontend_init (0): Probing for CU1216 (DVB-C)
 TDA10023: i2c-addr = 0x0c, id = 0x7d
 mantis_frontend_init (0): found Philips CU1216 DVB-C frontend (TDA10023) @ 
 0x0c
 mantis_frontend_init (0): Mantis DVB-C Philips CU1216 frontend attach success
 DVB: registering adapter 0 frontend 0 (Philips TDA10023 DVB-C)...
 mantis_ca_init (0): Registering EN50221 device
 mantis_ca_init (0): Registered EN50221 device
 mantis_hif_init (0): Adapter(0) Initializing Mantis Host Interface
 Registered IR keymap rc-vp2040