-   Linux - Software (
-   -   can't compile BTTV into 2.6.9 ?? (

db391 11-23-2004 08:09 PM

can't compile BTTV into 2.6.9 ??
Hi everyone --

I have found a compile bug in kernel 2.6.9. It took me a little while to pinpoint the general problem but here we go....

the BT878 driver (in DeviceDrivers/MultiMedia/Video4Linux/BT848Video4Linux) compiles fine as a module (past the bzimage stage),
But if i compile it into the kernel i get the following messages:

deepblue:/usr/src/linux-2.6.9$ make all

CHK include/linux/version.h
SPLIT include/linux/autoconf.h -> include/config/*
make[1]: `arch/i386/kernel/asm-offsets.s' is up to date.
CHK include/asm-i386/asm_offsets.h
CHK include/linux/compile.h
CC drivers/media/common/ir-common.o
LD drivers/media/common/built-in.o
CC drivers/media/video/bttv-driver.o
CC drivers/media/video/bttv-cards.o
CC drivers/media/video/bttv-if.o
CC drivers/media/video/bttv-risc.o
CC drivers/media/video/bttv-vbi.o
CC drivers/media/video/bttv-i2c.o
CC drivers/media/video/bttv-gpio.o
LD drivers/media/video/bttv.o
CC drivers/media/video/msp3400.o
CC drivers/media/video/tvaudio.o
CC drivers/media/video/tda7432.o
CC drivers/media/video/tda9875.o
CC drivers/media/video/ir-kbd-i2c.o
CC drivers/media/video/ir-kbd-gpio.o
CC drivers/media/video/tuner.o
CC drivers/media/video/tda9887.o
CC drivers/media/video/video-buf.o
CC drivers/media/video/btcx-risc.o
LD drivers/media/video/built-in.o
LD drivers/media/built-in.o
LD drivers/built-in.o
GEN .version
CHK include/linux/compile.h
UPD include/linux/compile.h
CC init/version.o
LD init/built-in.o
LD .tmp_vmlinux1
drivers/built-in.o(.text+0x941d8): In function `pvr_boot':
: undefined reference to `request_firmware'
drivers/built-in.o(.text+0x94252): In function `pvr_boot':
: undefined reference to `release_firmware'
make: *** [.tmp_vmlinux1] Error 1


As i don't do C i am a little confused about the problem and how to solve it.

I compiled using slackware 10.0 and kernel

My question is: would i need to compile bttv as a module (in-kernel is preferred in case any webcams plugged in at boot time take /dev/video0 first) or any other suggestions (eg modulise USB support?)?



db391 11-23-2004 08:12 PM

PS an extract from /sbin/lspci -v:

00:0b.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11)
Subsystem: Hauppauge computer works Inc. WinTV Series
Flags: bus master, medium devsel, latency 32, IRQ 5
Memory at e3812000 (32-bit, prefetchable) [size=4K]
Capabilities: <available only to root>

00:0b.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 11)
Subsystem: Hauppauge computer works Inc. WinTV Series
Flags: bus master, medium devsel, latency 32, IRQ 5
Memory at e3810000 (32-bit, prefetchable) [size=4K]
Capabilities: <available only to root>

and dmesg:

Linux video capture interface: v1.00
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:0b.0[A] -> GSI 5 (level, low) -> IRQ 5
bttv0: Bt878 (rev 17) at 0000:00:0b.0, irq: 5, latency: 32, mmio: 0xe3812000
bttv0: detected: Hauppauge WinTV [card=10], PCI subsystem ID is 0070:13eb
bttv0: using: Hauppauge (bt878) [card=10,autodetected]
bttv0: gpio: en=00000000, out=00000000 in=00ffffdb [init]
bttv0: Hauppauge/Voodoo msp34xx: reset line init [5]
bttv0: Hauppauge eeprom: model=44805, tuner=Temic 4066FY5 (18), radio=no
bttv0: using tuner=18
bttv0: i2c: checking for MSP34xx @ 0x80... not found
bttv0: i2c: checking for TDA9875 @ 0xb0... not found
bttv0: i2c: checking for TDA7432 @ 0x8a... not found
bttv0: registered device video0
bttv0: registered device vbi0
bttv0: PLL: 28636363 => 35468950 .. ok
tvaudio: TV audio decoder + audio/video mux driver
tvaudio: known chips: tda9840,tda9873h,tda9874h/a,tda9850,tda9855,tea6300,tea6420,tda8425,pic16c54 (PV951),ta8874z
tuner: chip found at addr 0xc2 i2c-bus bt878 #0 [sw]
tuner: type set to 18 (Temic PAL_I (4066 FY5)) by bt878 #0 [sw]

Superdude 12-22-2004 02:33 PM

I just downloaded kernel 2.6.9 yesterday and had this exact same problem.

pvr_boot is a function in /usr/src/linux/drivers/media/video/bttv-cards.c.

To make the kernel compile, when confugiring the kernel, go to Generic Driver Options, and make sure you select NO for "prevent firmware from being built". Also you shuold select YES for "hotplug firmware loading support". Then the kernel should compile.

All times are GMT -5. The time now is 10:09 AM.