cx878 project, 2nd approach

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Manu, hi everybody interested,

Can you please spend some time and please review this code - it's worth it!

Trying to download cx878 as tar.bz2 still results in a file with zero length, but that does not hurt, as gz works fine.

1. Procedures:

a. copied the contents of cx878 into the current Mercurial tree's folder called
/usr/src/v4l-dvb-4214538d8a33/linux/drivers/media/dvb/bt8xx after having deleted its original contents

b. applied the following patch (no confrontation with Mike, but my card does not need the pll library as a matter of fact):

--- a/linux/drivers/media/dvb/bt8xx/Kconfig
+++ a/linux/drivers/media/dvb/bt8xx/Kconfig
@@ -1,7 +1,7 @@
 config DVB_BT8XX
 	tristate "BT8xx based PCI cards"
 	depends on DVB_CORE && PCI && I2C && VIDEO_BT848
-	select DVB_PLL
+	select DVB_PLL if !DVB_FE_CUSTOMIZE
 	select DVB_MT352 if !DVB_FE_CUSTOMISE
 	select DVB_SP887X if !DVB_FE_CUSTOMISE
 	select DVB_NXT6000 if !DVB_FE_CUSTOMISE
--- a/linux/drivers/media/dvb/bt8xx/cx878_budget.c
+++ a/linux/drivers/media/dvb/bt8xx/cx878_budget.c
@@ -1,12 +1,11 @@
 #include "cx878_common.h"
 #include "cx878_budget.h"
 #include "cx878_priv.h"
-
 #include "sp887x.h"
 #include "mt352.h"
 #include "zl10353.h"
 #include "lgdt330x.h"
-#include "lgh06xf.h"
+#include "dvb-pll.h"
 #include "nxt6000.h"
 #include "or51211.h"
 #include "cx24110.h"

c. produced the following .config:

# Automatically generated make config: don't edit
# Linux kernel version: 
# Fri May  4 14:09:56 2007
#
# CONFIG_SONYPI is not set
CONFIG_USB=m
CONFIG_PARPORT=m
CONFIG_FW_LOADER=m
# CONFIG_SPARC64 is not set
# CONFIG_PPC64 is not set
# CONFIG_PLAT_M32700UT is not set
CONFIG_NET=y
# CONFIG_SOUND_PRIME is not set
CONFIG_SND_AC97_CODEC=m
# CONFIG_SGI_IP22 is not set
CONFIG_I2C=m
CONFIG_STANDALONE=y
CONFIG_SND_MPU401_UART=m
CONFIG_SND=m
# CONFIG_BROKEN is not set
CONFIG_MODULES=y
# CONFIG_SND_OPL3_LIB is not set
# CONFIG_PPC_PMAC is not set
CONFIG_PROC_FS=y
# CONFIG_SPARC32 is not set
CONFIG_I2C_ALGOBIT=m
# CONFIG_DVB_FE_CUSTOMIZE is not set
CONFIG_INET=y
# CONFIG_SOUND_OSS is not set
CONFIG_CRC32=m
CONFIG_SYSFS=y
# CONFIG_ISA is not set
CONFIG_PCI=y
CONFIG_SND_PCM=m
# CONFIG_PARPORT_1284 is not set
CONFIG_EXPERIMENTAL=y
# CONFIG_M32R is not set
# CONFIG_I2C_ALGO_SGI is not set
CONFIG_VIDEO_KERNEL_VERSION=y

#
# Multimedia devices
#
# CONFIG_VIDEO_DEV is not set
CONFIG_DVB_CORE=m
CONFIG_DVB_CORE_ATTACH=y
CONFIG_DVB_CAPTURE_DRIVERS=y

#
# Supported SAA7146 based PCI Adapters
#

#
# Supported USB Adapters
#
# CONFIG_DVB_USB is not set
# CONFIG_DVB_TTUSB_BUDGET is not set
# CONFIG_DVB_TTUSB_DEC is not set
# CONFIG_DVB_CINERGYT2 is not set

#
# Supported FlexCopII (B2C2) Adapters
#
# CONFIG_DVB_B2C2_FLEXCOP is not set

#
# Supported BT878 Adapters
#
CONFIG_DVB_CX878_CORE=m
CONFIG_DVB_CX878_BUDGET=m
# CONFIG_DVB_CX878_DST is not set

#
# Supported Pluto2 Adapters
#
# CONFIG_DVB_PLUTO2 is not set

#
# Supported DVB Frontends
#

#
# Customise DVB Frontends
#
CONFIG_DVB_FE_CUSTOMISE=y

#
# DVB-S (satellite) frontends
#
# CONFIG_DVB_STV0299 is not set
CONFIG_DVB_CX24110=m
# CONFIG_DVB_CX24123 is not set
# CONFIG_DVB_TDA8083 is not set
# CONFIG_DVB_MT312 is not set
# CONFIG_DVB_VES1X93 is not set
# CONFIG_DVB_S5H1420 is not set
# CONFIG_DVB_TDA10086 is not set

#
# DVB-T (terrestrial) frontends
#
# CONFIG_DVB_SP8870 is not set
# CONFIG_DVB_SP887X is not set
# CONFIG_DVB_CX22700 is not set
# CONFIG_DVB_CX22702 is not set
# CONFIG_DVB_L64781 is not set
# CONFIG_DVB_TDA1004X is not set
# CONFIG_DVB_NXT6000 is not set
# CONFIG_DVB_MT352 is not set
# CONFIG_DVB_ZL10353 is not set
# CONFIG_DVB_DIB3000MB is not set
# CONFIG_DVB_DIB3000MC is not set
# CONFIG_DVB_DIB7000M is not set
# CONFIG_DVB_DIB7000P is not set

#
# DVB-C (cable) frontends
#
# CONFIG_DVB_VES1820 is not set
# CONFIG_DVB_TDA10021 is not set
# CONFIG_DVB_TDA10023 is not set
# CONFIG_DVB_STV0297 is not set

#
# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
#
# CONFIG_DVB_NXT200X is not set
# CONFIG_DVB_OR51211 is not set
# CONFIG_DVB_OR51132 is not set
# CONFIG_DVB_BCM3510 is not set
# CONFIG_DVB_LGDT330X is not set

#
# Tuners/PLL support
#
# CONFIG_DVB_PLL is not set
# CONFIG_DVB_TDA826X is not set
# CONFIG_DVB_TDA827X is not set
# CONFIG_DVB_TUNER_QT1010 is not set
# CONFIG_DVB_TUNER_MT2060 is not set

#
# Miscellaneous devices
#
# CONFIG_DVB_LNBP21 is not set
# CONFIG_DVB_ISL6421 is not set
# CONFIG_DVB_TUA6100 is not set
# CONFIG_DAB is not set

#
# Audio devices for multimedia
#

#
# ALSA sound
#
# CONFIG_SND_BT87X is not set

#
# OSS sound
#

d. compiled the whole thing against kernel 2.6.21.1 with the following compilation errors:

brian:/usr/src/v4l-dvb-4214538d8a33# make
make -C /usr/src/v4l-dvb-4214538d8a33/v4l
make[1]: Entering directory `/usr/src/v4l-dvb-4214538d8a33/v4l'
scripts/make_makefile.pl
./scripts/make_myconfig.pl
make[1]: Leaving directory `/usr/src/v4l-dvb-4214538d8a33/v4l'
make[1]: Entering directory `/usr/src/v4l-dvb-4214538d8a33/v4l'
creating symbolic links...
ln -sf . oss
make -C /lib/modules/2.6.21.1/build SUBDIRS=/usr/src/v4l-dvb-4214538d8a33/v4l  modules
make[2]: Entering directory `/usr/src/linux-2.6.21.1'
  CC [M]  /usr/src/v4l-dvb-4214538d8a33/v4l/cx878_pci.o
/usr/src/v4l-dvb-4214538d8a33/v4l/cx878_pci.c: In function 'cx878_pci_init':
/usr/src/v4l-dvb-4214538d8a33/v4l/cx878_pci.c:205: warning: passing argument 2 of 'request_irq' from incompatible pointer type
/usr/src/v4l-dvb-4214538d8a33/v4l/cx878_pci.c:219: warning: format '%lx' expects type 'long unsigned int', but argument 6 has type 'resource_size_t'
/usr/src/v4l-dvb-4214538d8a33/v4l/cx878_pci.c:219: warning: format '%lx' expects type 'long unsigned int', but argument 6 has type 'resource_size_t'
/usr/src/v4l-dvb-4214538d8a33/v4l/cx878_pci.c:219: warning: format '%lx' expects type 'long unsigned int', but argument 6 has type 'resource_size_t'
/usr/src/v4l-dvb-4214538d8a33/v4l/cx878_pci.c:219: warning: format '%lx' expects type 'long unsigned int', but argument 6 has type 'resource_size_t'
/usr/src/v4l-dvb-4214538d8a33/v4l/cx878_pci.c:219: warning: format '%lx' expects type 'long unsigned int', but argument 4 has type 'resource_size_t'
  CC [M]  /usr/src/v4l-dvb-4214538d8a33/v4l/cx878_i2c.o
  CC [M]  /usr/src/v4l-dvb-4214538d8a33/v4l/cx878_dma.o
  CC [M]  /usr/src/v4l-dvb-4214538d8a33/v4l/cx878_dvb.o
  CC [M]  /usr/src/v4l-dvb-4214538d8a33/v4l/dvbdev.o
  CC [M]  /usr/src/v4l-dvb-4214538d8a33/v4l/dmxdev.o
  CC [M]  /usr/src/v4l-dvb-4214538d8a33/v4l/dvb_demux.o
  CC [M]  /usr/src/v4l-dvb-4214538d8a33/v4l/dvb_filter.o
  CC [M]  /usr/src/v4l-dvb-4214538d8a33/v4l/dvb_ca_en50221.o
  CC [M]  /usr/src/v4l-dvb-4214538d8a33/v4l/dvb_frontend.o
  CC [M]  /usr/src/v4l-dvb-4214538d8a33/v4l/dvb_net.o
  CC [M]  /usr/src/v4l-dvb-4214538d8a33/v4l/dvb_ringbuffer.o
  CC [M]  /usr/src/v4l-dvb-4214538d8a33/v4l/dvb_math.o
  LD [M]  /usr/src/v4l-dvb-4214538d8a33/v4l/dvb-core.o
  CC [M]  /usr/src/v4l-dvb-4214538d8a33/v4l/cx24110.o
  LD [M]  /usr/src/v4l-dvb-4214538d8a33/v4l/cx878_core.o
  CC [M]  /usr/src/v4l-dvb-4214538d8a33/v4l/cx878_budget.o
/usr/src/v4l-dvb-4214538d8a33/v4l/cx878_budget.c: In function 'load_config_dvico_hdtv':
/usr/src/v4l-dvb-4214538d8a33/v4l/cx878_budget.c:363: warning: implicit declaration of function 'lgh06xf_attach'
  Building modules, stage 2.
  MODPOST 4 modules
WARNING: "i2c_add_adapter" [/usr/src/v4l-dvb-4214538d8a33/v4l/cx878_core.ko] undefined!
WARNING: "i2c_del_adapter" [/usr/src/v4l-dvb-4214538d8a33/v4l/cx878_core.ko] undefined!
WARNING: "i2c_transfer" [/usr/src/v4l-dvb-4214538d8a33/v4l/cx878_budget.ko] undefined!
WARNING: "request_firmware" [/usr/src/v4l-dvb-4214538d8a33/v4l/cx878_budget.ko] undefined!
WARNING: "i2c_transfer" [/usr/src/v4l-dvb-4214538d8a33/v4l/cx24110.ko] undefined!
  CC      /usr/src/v4l-dvb-4214538d8a33/v4l/cx24110.mod.o
  LD [M]  /usr/src/v4l-dvb-4214538d8a33/v4l/cx24110.ko
  CC      /usr/src/v4l-dvb-4214538d8a33/v4l/cx878_budget.mod.o
  LD [M]  /usr/src/v4l-dvb-4214538d8a33/v4l/cx878_budget.ko
  CC      /usr/src/v4l-dvb-4214538d8a33/v4l/cx878_core.mod.o
  LD [M]  /usr/src/v4l-dvb-4214538d8a33/v4l/cx878_core.ko
  CC      /usr/src/v4l-dvb-4214538d8a33/v4l/dvb-core.mod.o
  LD [M]  /usr/src/v4l-dvb-4214538d8a33/v4l/dvb-core.ko
make[2]: Leaving directory `/usr/src/linux-2.6.21.1'
./scripts/rmmod.pl check
found 4 modules
make[1]: Leaving directory `/usr/src/v4l-dvb-4214538d8a33/v4l'

e. rebooted the machine

2. Results:

a. All drivers are being loaded fine without any unresolved symbols
b. Starting the application I can hear the Pinnacle SAT relay klick

I guess the five lines starting with "WARNING" are the key why nothing works as expected:
No video, no sound, as there are obviously functions missing that have not been defined yet.

Yours sincerely

Uwe

P. S.: If you need dmesg, lsmod or any other further info please ask me.
Looking hopefully forward for your response...

-- 
"Feel free" - 10 GB Mailbox, 100 FreeSMS/Monat ...
Jetzt GMX TopMail testen: http://www.gmx.net/de/go/topmail

_______________________________________________
linux-dvb mailing list
linux-dvb@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

[Index of Archives]     [Linux Media]     [Video 4 Linux]     [Asterisk]     [Samba]     [Xorg]     [Xfree86]     [Linux USB]

  Powered by Linux