[linux-dvb] Two card config question

Philip Prindeville philipp_subx at redfish-solutions.com
Sat Oct 29 21:51:02 CEST 2005


Manu Abraham wrote:

> Philip Prindeville wrote:
>
>> Manu Abraham wrote:
>>
>>> Philip Prindeville wrote
>>>
>>>> # DVB stuff
>>>> alias char-major-81 cx88-dvb
>>>> alias char-major-81-0 cx8800
>>>> alias char-major-81-1 bttv
>>>> options dvb_core dvb_shutdown_timeout=0
>>>> options bttv i2c_hw=1 card=0x71
>>>> install bt878 /sbin/modprobe --ignore-install bt878
>>>> install dst /sbin/modprobe --ignore-install dst
>>>> install dvb_bt8xx /sbin/modprobe --ignore-install dvb_bt8xx
>>>> install cx88-atsc /sbin/modprobe cx8800;/sbin/modprobe 
>>>> --ignore-install cx88-atsc
>>>> install cx88-dvb /sbin/modprobe cx8800;/sbin/modprobe 
>>>> --ignore-install cx88-dvb
>>>> install btcx-risc /sbin/modprobe tuner;/sbin/modprobe 
>>>> --ignore-install btcx-risc
>>>>
>>>> What am I overlooking?  I'm not seeing the second
>>>> frontend device being registered...
>>>>
>>>
>>> i think, you need to load the relevant frontend module for the cx88 
>>> based card.
>>>
>>> Manu
>>>
>>
>> Ah, but that is who frontend0 ends up mapping to!  The pchd3000 card.
>>
>> It's the DST-1000 card that doesn't get mapped.
>>
> Hmm.. ?
>
> I presume the DST-1000 is a Twinhan/clone, as it looks like..
> just do a modprobe dst, and see whether it is still the same .. ?
> To make sure, just do a modprobe dst verbose=5, so that you can see 
> the verbosed messages, all of them.
>
> Manu
>

Yup, it's a Twinhan clone called a Chaintech Digitop DST-1000.

 From my previous boot:

via-ircc: dongle probing not supported, please specify dongle_id module 
parameter.
IrDA: Registered device irda0 (via-ircc)
Linux video capture interface: v1.00
cx2388x v4l2 driver version 0.0.4 loaded
ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 12
PCI: setting IRQ 12 as level-triggered
ACPI: PCI Interrupt 0000:00:14.0[A] -> Link [LNKB] -> GSI 12 (level, 
low) -> IRQ 12
cx88[0]: subsystem: 7063:3000, board: pcHDTV HD3000 HDTV 
[card=22,autodetected]
tuner 0-0061: chip found @ 0xc2 (cx88[0])
tuner 0-0061: type set to 52 (Thomson DDT 7610 (ATSC/NTSC))
cx88[0]/0: found at 0000:00:14.0, rev: 5, irq: 12, latency: 32, mmio: 
0xde000000cx88[0]/0: registered device video0 [v4l2]
cx88[0]/0: registered device vbi0
cx88[0]/0: registered device radio0
cx2388x dvb driver version 0.0.4 loaded
ACPI: PCI Interrupt 0000:00:14.2[A] -> Link [LNKB] -> GSI 12 (level, 
low) -> IRQ 12
cx88[0]/2: found at 0000:00:14.2, rev: 5, irq: 12, latency: 32, mmio: 
0xdf000000cx88[0]/2: cx2388x based dvb card
DVB: registering new adapter (cx88[0]).
DVB: registering frontend 0 (pcHDTV HD3000 HDTV)...
bttv: driver version 0.9.15 loaded
bttv: using 8 buffers with 2080k (520 pages) each for capture
bttv: Bt8xx card found (0).
ACPI: PCI Interrupt 0000:00:13.0[A] -> Link [LNKA] -> GSI 10 (level, 
low) -> IRQ 10
bttv0: Bt878 (rev 17) at 0000:00:13.0, irq: 10, latency: 32, mmio: 
0xe0001000
bttv0: detected: ChainTech digitop DST-1000 DVB-S [card=113], PCI 
subsystem ID is 270f:fc00
bttv0: using: Twinhan DST + clones [card=113,autodetected]
bttv0: gpio: en=00000000, out=00000000 in=00ffffff [init]
bttv0: using tuner=4
bttv0: add subdevice "dvb0"
bt878: AUDIO driver version 0.0.0 loaded
bt878: Bt878 AUDIO function found (0).
ACPI: PCI Interrupt 0000:00:13.1[A] -> Link [LNKA] -> GSI 10 (level, 
low) -> IRQ 10
bt878(0): Bt878 (rev 17) at 00:13.1, irq: 10, latency: 32, memory: 
0xe0002000
ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 7
PCI: setting IRQ 7 as level-triggered
ACPI: PCI Interrupt 0000:00:10.3[D] -> Link [LNKD] -> GSI 7 (level, low) 
-> IRQ 7

So it looked to me like the card was being detected properly...

I also looked in /etc/udev/rules.d/ (this is on FC3 updated) and there are
specific rules for the PCHD3000 card:

[root at tuner ~]# head /etc/udev/rules.d/10-pchdtv.rules
KERNEL="video*" SYSFS{device}="0x8802" SYSFS{subsystem_vendor}="0x7063" 
SYMLINK="dtv%e"

KERNEL="dvb0.dvr*",        NAME="dvb/adapter0/dvr%n"
KERNEL="dvb0.demux*",      NAME="dvb/adapter0/demux%n"
KERNEL="dvb0.frontend*",   NAME="dvb/adapter0/frontend%n"
KERNEL="dvb0.audio*",      NAME="dvb/adapter0/audio%n"
KERNEL="dvb0.ca*",         NAME="dvb/adapter0/ca%n"
KERNEL="dvb0.osd*",        NAME="dvb/adapter0/osd%n"
KERNEL="dvb0.net*",        NAME="dvb/adapter0/net%n"
KERNEL="dvb0.video*",      NAME="dvb/adapter0/video%n"
[root at tuner ~]#

plus there are generic rules in "50-udev.rules":

...
KERNEL="dvb"  Name="dvb0"

KERNEL="dvb0.dvr*",        NAME="dvb/adapter0/dvr%n"
KERNEL="dvb0.demux*",      NAME="dvb/adapter0/demux%n"
KERNEL="dvb0.frontend*",   NAME="dvb/adapter0/frontend%n"
KERNEL="dvb0.audio*",      NAME="dvb/adapter0/audio%n"
KERNEL="dvb0.ca*",         NAME="dvb/adapter0/ca%n"
KERNEL="dvb0.osd*",        NAME="dvb/adapter0/osd%n"
KERNEL="dvb0.net*",        NAME="dvb/adapter0/net%n"
KERNEL="dvb0.video*",      NAME="dvb/adapter0/video%n"
...

So I'm not sure what's going on...  Perhaps udev doesn't correctly support
more than one DVB adapter?  Is there any way to force which adapter
numbers get used?

-Philip







More information about the linux-dvb mailing list