[linux-dvb] semi-recent regressions in automatic loading of DVB modules

Lincoln Dale ltd at interlink.com.au
Thu Sep 7 02:46:52 CEST 2006


g'day,

i recently upgraded my mythtv backend machine to much faster hardware (dual
core goodness).

my system consists of 3 DVB-T single-tuner cards & 1 analog tuner.
specifically:

  1 x DvICO Fusion HDTV DVB-T1 (OEM version of T Plus;
      requires: cx88, cx2388x, cx88-dvb, Zarlink MT352 frontend

  1 x Twinham VisionPlus (bt878
      requires: bt878, dvb-bt8xx, DST frontend

  1 x AverMedia AV-771
      requires: bt878, dvb-bt8xx, Zarlink MT352 frontend

  1 x Hauppage WinTV (analog; bt848-based, requires bttv)


due to the newness of the motherboard, i need to run a 'recent' (2.6.18rc5)
kernel.  previously i used to run a 2.6.13 kernels without with whatever the
stock dvb/v4l sync was as of 2.6.13.  (no need for tip-of-tree dvb).

however, as of 2.6.18-rc5 kernel, dvb no longer functions correctly, so i
need to run with tip-of-tree dvb.

i've found that with tip of tree, while i can get everything to "work", i
need to do some messing with modprobes in my rc.local file.  specifically,
while udevstart/hotplug/udev identify the DVB cards correctly, they don't
load the mt352 module.

as such, what happens is that i get this in startup messages indicating
cx88-dvb couldn't attach to the mt352 frontend as the mt352 module hadn't
loaded, thus the DvICO Fusion HDTV DVB-T1 is inoperable:
	DVB: Unable to find symbol mt352_attach()
	cx88[0]: frontend initialization failed

likewise, the DST frontend isn't automatically loaded/identified, so the
Twinham VisionPlus card isn't operable either.  and dvb-bt8xx isn't
automatically loaded, so the AverMedia AV-771 is also inoperable.


by adding the following into my /etc/rc.d/rc.local script, i get all cards
working:
	modprobe mt352
	rmmod cx88-dvb
	modprobe cx88-dvb
	modprobe dst
	modprobe dvb-bt8xx
(i need to rmmod cx88-dvb since it was already loaded but mt352 wasn't)

system was originally Fedora Core 3, much of it since updated to FC4 & FC5..

should mt352/dst/dvb-bt8xx be loaded automatically?  is it up to
/etc/modprobe.conf logic to do this?  or should the various dvb drivers be
forcing the loading of these modules rather than reporting undefined
symbols?

happy to be a tester for any proposed changes!


relevent dmesg output:

[    0.000000] Linux version 2.6.18-rc5ltd1 (root at spam) (gcc version 3.4.4
20050721 (Red Hat 3.4.4-2)) #12 SMP Wed Sep 6 10:45:02 EST 2006
[..]
[   12.416000] Linux video capture interface: v2.00
[   12.520000] bttv: driver version 0.9.16 loaded
[   12.520000] bttv: using 8 buffers with 2080k (520 pages) each for capture
[   12.520000] bttv: Bt8xx card found (0).
[   12.520000] ACPI: PCI Interrupt Link [APC1] enabled at IRQ 16
[   12.520000] ACPI: PCI Interrupt 0000:01:06.0[A] -> Link [APC1] -> GSI 16
(level, low) -> IRQ 20
[   12.520000] bttv0: Bt878 (rev 17) at 0000:01:06.0, irq: 20, latency: 32,
mmio: 0xe8000000
[   12.520000] bttv0: detected: Twinhan VisionPlus DVB [card=113], PCI
subsystem ID is 1822:0001
[   12.520000] bttv0: using: Twinhan DST + clones [card=113,autodetected]
[   12.520000] bttv0: gpio: en=00000000, out=00000000 in=00fb8dfe [init]
[   12.536000] bttv0: using tuner=4
[   12.552000] bttv0: add subdevice "dvb0"
[   12.552000] bttv: Bt8xx card found (1).
[   12.552000] ACPI: PCI Interrupt Link [APC2] enabled at IRQ 17
[   12.552000] ACPI: PCI Interrupt 0000:01:07.0[A] -> Link [APC2] -> GSI 17
(level, low) -> IRQ 21
[   12.552000] bttv1: Bt878 (rev 17) at 0000:01:07.0, irq: 21, latency: 32,
mmio: 0xe8002000
[   12.552000] bttv1: detected: AVermedia AverTV DVB-T 771 [card=123], PCI
subsystem ID is 1461:0771
[   12.552000] bttv1: using: AVerMedia AVerTV DVB-T 771
[card=123,autodetected]
[   12.552000] bttv1: gpio: en=00000000, out=00000000 in=00d05b0f [init]
[   12.568000] bttv1: using tuner=4
[   12.572000] bttv1: registered device video0
[   12.576000] bttv1: registered device vbi0
[   12.576000] bttv1: PLL: 28636363 => 35468950 .. ok
[   12.612000] bttv1: add subdevice "dvb1"
[   12.612000] input: bttv IR (card=123) as /class/input/input1
[   12.612000] bttv-input: bttv IR (card=123) detected at
pci-0000:01:07.0/ir0
[   12.612000] bttv: Bt8xx card found (2).
[   12.612000] ACPI: PCI Interrupt Link [APC4] enabled at IRQ 19
[   12.612000] ACPI: PCI Interrupt 0000:01:09.0[A] -> Link [APC4] -> GSI 19
(level, low) -> IRQ 22
[   12.612000] bttv2: Bt848 (rev 18) at 0000:01:09.0, irq: 22, latency: 32,
mmio: 0xe8004000
[   12.612000] bttv2: using:  *** UNKNOWN/GENERIC ***  [card=0,autodetected]
[   12.612000] bttv2: gpio: en=00000000, out=00000000 in=00fffffb [init]
[   12.644000] tuner 4-0061: chip found @ 0xc2 (bt848 #2 [sw])
[   12.868000] bttv2: detected by eeprom: Hauppauge (bt848) [card=2]
[   12.956000] tveeprom 4-0050: Hauppauge model 56304, rev E   , serial#
418161
[   12.956000] tveeprom 4-0050: tuner model is Temic 4002FH5 (idx 14, type
0)
[   12.956000] tveeprom 4-0050: TV standards PAL(B/G) (eeprom 0x04)
[   12.956000] tveeprom 4-0050: audio processor is None (idx 0)
[   12.956000] tveeprom 4-0050: has no radio
[   12.956000] bttv2: Hauppauge eeprom indicates model#56304
[   12.956000] bttv2: using tuner=0
[   12.956000] tuner 4-0061: type set to 0 (Temic PAL (4002 FH5))
[   12.956000] bttv2: i2c: checking for MSP34xx @ 0x80... not found
[   12.960000] bttv2: i2c: checking for TDA9875 @ 0xb0... not found
[   12.960000] bttv2: i2c: checking for TDA7432 @ 0x8a... not found
[   12.988000] bttv2: i2c: checking for TDA9887 @ 0x86... not found
[   12.992000] bttv2: registered device video1
[   12.996000] bttv2: registered device vbi1
[   13.124000] cx2388x dvb driver version 0.0.6 loaded
[   13.132000] CORE cx88[0]: subsystem: 18ac:db00, board: DViCO FusionHDTV
DVB-T1 [card=15,autodetected]
[   13.132000] TV tuner 4 at 0x1fe, Radio tuner -1 at 0x1fe
[   13.900000] ACPI: PCI Interrupt Link [APC3] enabled at IRQ 18
[   13.900000] ACPI: PCI Interrupt 0000:01:08.2[A] -> Link [APC3] -> GSI 18
(level, low) -> IRQ 23
[   13.900000] cx88[0]/2: found at 0000:01:08.2, rev: 5, irq: 23, latency:
32, mmio: 0xe4000000
[   13.900000] cx88[0]/2: cx2388x based dvb card
[   13.900000] DVB: Unable to find symbol mt352_attach()
[   13.900000] cx88[0]: frontend initialization failed
[   13.900000] ACPI: PCI interrupt for device 0000:01:08.2 disabled
[   13.940000] cx88-dvb: probe of 0000:01:08.2 failed with error -1
[   13.972000] cx2388x v4l2 driver version 0.0.6 loaded
[   13.976000] ACPI: PCI Interrupt 0000:01:08.0[A] -> Link [APC3] -> GSI 18
(level, low) -> IRQ 23
[   13.976000] CORE cx88[0]: subsystem: 18ac:db00, board: DViCO FusionHDTV
DVB-T1 [card=15,autodetected]
[   13.976000] TV tuner 4 at 0x1fe, Radio tuner -1 at 0x1fe
[   14.740000] cx88[0]/0: found at 0000:01:08.0, rev: 5, irq: 23, latency:
32, mmio: 0xe3000000
[   14.744000] cx88[0]/0: registered device video2 [v4l2]
[   14.744000] cx88[0]/0: registered device vbi2
[   14.756000] bt878: AUDIO driver version 0.0.0 loaded
[   14.756000] bt878: Bt878 AUDIO function found (0).
[   14.756000] ACPI: PCI Interrupt 0000:01:06.1[A] -> Link [APC1] -> GSI 16
(level, low) -> IRQ 20
[   14.756000] bt878_probe: card id=[0x11822],[ Twinhan VisionPlus DVB ] has
DVB functions.
[   14.756000] bt878(0): Bt878 (rev 17) at 01:06.1, irq: 20, latency: 32,
memory: 0xe8001000
[   14.760000] bt878: Bt878 AUDIO function found (1).
[   14.760000] ACPI: PCI Interrupt 0000:01:07.1[A] -> Link [APC2] -> GSI 17
(level, low) -> IRQ 21
[   14.760000] bt878_probe: card id=[0x7711461],[ AVermedia AverTV DVB-T 771
] has DVB functions.
[   14.760000] bt878(1): Bt878 (rev 17) at 01:07.1, irq: 21, latency: 32,
memory: 0xe8003000

[.. and then, rc.local doing its modprobe's results in ..]

[   38.468000] cx2388x dvb driver version 0.0.6 loaded
[   38.476000] PCI: Enabling device 0000:01:08.2 (0000 -> 0002)
[   38.476000] ACPI: PCI Interrupt 0000:01:08.2[A] -> Link [APC3] -> GSI 18
(level, low) -> IRQ 23
[   38.476000] cx88[0]/2: found at 0000:01:08.2, rev: 5, irq: 23, latency:
32, mmio: 0xe4000000
[   38.476000] cx88[0]/2: cx2388x based dvb card
[   38.480000] DVB: registering new adapter (cx88[0]).
[   38.480000] DVB: registering frontend 0 (Zarlink MT352 DVB-T)...
[   38.680000] DVB: registering new adapter (bttv0).
[   38.948000] dst(0) dst_get_device_id: Recognise [DTTDIG]
[   38.948000] DST type flags : 0x10 firmware version = 2
[   38.984000] dst(0) dst_get_mac: MAC Address=[00:08:ca:10:76:00]
[   38.984000] DVB: registering frontend 1 (DST DVB-T)...
[   38.984000] DVB: registering new adapter (bttv1).
[   38.996000] DVB: registering frontend 2 (Zarlink MT352 DVB-T)...




More information about the linux-dvb mailing list