LinuxQuestions.org
Visit Jeremy's Blog.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Software > Linux - Kernel
User Name
Password
Linux - Kernel This forum is for all discussion relating to the Linux kernel.

Notices


Reply
  Search this Thread
Old 02-09-2007, 01:59 AM   #1
105659
LQ Newbie
 
Registered: Nov 2005
Location: BC, Canada
Posts: 26

Rep: Reputation: 15
problems compiling v4l-dvb-kernel w/2.6.20


Hi all,
I've got a Hauppauge HVR-950 NTSC & ATSC usb tuner that I'd like to get working under linux (BTW, this little thing produces amazing HDTV off the air [under XP] - very cool!). I've downloaded the current v4l-dvb-kernel :

hg clone http://linuxtv.org/hg/~mrechberger/v4l-dvb-kernel
cd v4l-dvb-kernel

but when ii make it all I get is:

[root@localhost v4l-dvb-kernel]# make all
make -C /home/archive/v4l/v4l-dvb-kernel/v4l all
make[1]: Entering directory `/home/archive/v4l/v4l-dvb-kernel/v4l'
creating symbolic links...
make -C /lib/modules/2.6.20/build SUBDIRS=/home/archive/v4l/v4l-dvb-kernel/v4l modules
make[2]: Entering directory `/usr/src/linux-2.6.20'
CC [M] /home/archive/v4l/v4l-dvb-kernel/v4l/flexcop-pci.o
/home/archive/v4l/v4l-dvb-kernel/v4l/flexcop-pci.c: In function 'flexcop_pci_irq_check_work':
/home/archive/v4l/v4l-dvb-kernel/v4l/flexcop-pci.c:119: warning: passing argument 1 of 'schedule_delayed_work' from incompatible pointer type
/home/archive/v4l/v4l-dvb-kernel/v4l/flexcop-pci.c: In function 'flexcop_pci_stream_control':
/home/archive/v4l/v4l-dvb-kernel/v4l/flexcop-pci.c:226: warning: passing argument 1 of 'schedule_delayed_work' from incompatible pointer type
/home/archive/v4l/v4l-dvb-kernel/v4l/flexcop-pci.c:229: warning: passing argument 1 of 'cancel_delayed_work' from incompatible pointer type
/home/archive/v4l/v4l-dvb-kernel/v4l/flexcop-pci.c:378:71: error: macro "INIT_WORK" passed 3 arguments, but takes just 2
/home/archive/v4l/v4l-dvb-kernel/v4l/flexcop-pci.c: In function 'flexcop_pci_probe':
/home/archive/v4l/v4l-dvb-kernel/v4l/flexcop-pci.c:378: error: 'INIT_WORK' undeclared (first use in this function)
/home/archive/v4l/v4l-dvb-kernel/v4l/flexcop-pci.c:378: error: (Each undeclared identifier is reported only once
/home/archive/v4l/v4l-dvb-kernel/v4l/flexcop-pci.c:378: error: for each function it appears in.)
make[3]: *** [/home/archive/v4l/v4l-dvb-kernel/v4l/flexcop-pci.o] Error 1
make[2]: *** [_module_/home/archive/v4l/v4l-dvb-kernel/v4l] Error 2
make[2]: Leaving directory `/usr/src/linux-2.6.20'
make[1]: *** [default] Error 2
make[1]: Leaving directory `/home/archive/v4l/v4l-dvb-kernel/v4l'
make: *** [all] Error 2

This looks to me like something is seriously broken with the current v4l and/or current (2.6.20) kernel. Any ideas?

Thanks very much for any help.
 
Old 02-09-2007, 06:53 PM   #2
Quakeboy02
Senior Member
 
Registered: Nov 2006
Distribution: Debian Linux 11 (Bullseye)
Posts: 3,407

Rep: Reputation: 141Reputation: 141
Aha, another package that was broken by the changes to the workqueue in 2.6.20. I'm sure they had good reason to make the change, but that leaves you with either porting the package yourself, waiting for the package to be ported, or dropping back to 2.6.19. I have a nasty feeling that upgrading to 2.6.20 is going to be very traumatic.
 
Old 02-09-2007, 07:05 PM   #3
/bin/bash
Senior Member
 
Registered: Jul 2003
Location: Indiana
Distribution: Mandrake Slackware-current QNX4.25
Posts: 1,802

Rep: Reputation: 47
What has happened is that a macro has changed the number of required parameters.
error: macro "INIT_WORK" passed 3 arguments, but takes just 2
You have 3 options:
1. Wait till the folks at linuxtv.org fix their code to work with the 2.6.20 kernel.
2. Fall back to a 2.6.19.X kernel
3. Try to fix the code yourself.

<edit> Humm my post seems redundant...

Last edited by /bin/bash; 02-09-2007 at 07:08 PM.
 
Old 02-10-2007, 02:36 AM   #4
105659
LQ Newbie
 
Registered: Nov 2005
Location: BC, Canada
Posts: 26

Original Poster
Rep: Reputation: 15
Turns out there's a note about the problem here
http://linuxtv.org/v4lwiki/index.php..._kernel_2.6.20

Anyway, I got it to compile cleanly under 2.6.18.6 . I've almost got it working - modules seem to load ok and the hvr-950 is detected in mythtv, but I find no channels when I scan for ATSC or NTSC channels. (works well in XP, but that's sort of useless 'cause XP isn't any good for anything else.) Maybe there's a forum somewhere around here about that...

Thanks!
 
Old 03-18-2007, 06:12 AM   #5
jlo_sandog
Member
 
Registered: Jul 2005
Location: USA
Distribution: F10 (x86_64)
Posts: 549

Rep: Reputation: 32
I got the modules compiled (kernel-2.6.20-1.2925.fc6.x86_64), but it took a bit of minor work. There were four problems that repeated themselves several times.

1. The fix for the error noted above dealing with INIT_WORK is done by simply removing the last argument. For example on file flexcop-pci.c change line 378 from
INIT_WORK(&fc_pci->irq_check_work, flexcop_pci_irq_check_work, fc_pci);
to
INIT_WORK(&fc_pci->irq_check_work, flexcop_pci_irq_check_work);

2. With this error
v4l-dvb-kernel/v4l/pluto2.c:720: error: implicit declaration of function 'i2c_bit_del_bus'

change i2c_bit_del_bus to i2c_del_adapter

3. For the following type of errors
error: 'SLAB_KERNEL' undeclared (first use in this function) or
error: 'SLAB_ATOMIC' undeclared

Add to the top of the file
#include <linux/gfp.h>
Change SLAB_KERNEL to GFP_KERNEL
Change SLAB_ATOMIC to GFP_ATOMIC

4. Errors dealing with try_to_freeze() function
add #include <linux/freezer.h>

I followed the instructions given here
http://mcentral.de/wiki/index.php/Em2880
The little stick works great. Watching OTA digital now.

Last edited by jlo_sandog; 03-18-2007 at 11:44 PM.
 
Old 03-27-2007, 03:20 AM   #6
Bob Jones
Member
 
Registered: Mar 2007
Posts: 35

Rep: Reputation: 15
different compiling errors

Hi all - I am having similar problems compiling the the v4l-dvb files. I've been struggling with this issue for a couple weeks now . . . I'm also having the same problem with the 2.19 kernel.

I have the firmware from konstantin.filtschew.de (version 4 as I am using Pinnacle HDTV USB Pro Stick). I have Mercurial, gcc, build-essential, linux-source, and linux-headers all installed. I have all the development packages installed. I'm running kernel version: 2.6.20-1.2933.fc6 (on an AMD 64 system). Hope someone can help.

I used the following commands:

hg clone http://linuxtv.org/hg/v4l-dvb
cd v4l-dvb
make

And I get the following results:

[root@localhost v4l-dvb]# make
make -C /lib/firmware/v4l-dvb/v4l
make[1]: Entering directory `/lib/firmware/v4l-dvb/v4l'
scripts/make_makefile.pl
No version yet.
Updating/Creating .config
Preparing to compile for kernel version 2.6.20

***WARNING:*** You do not have the full kernel sources installed.
This does not prevent you from building the v4l-dvb tree if you have the
kernel headers, but the full kernel source may be required in order to use
make menuconfig / xconfig / qconfig.

If you are experiencing problems building the v4l-dvb tree, please try
building against a vanilla kernel before reporting a bug.

Vanilla kernels are available at http://kernel.org.
On most distros, this will compile a newly downloaded kernel:

cp /boot/config-`uname -r` <your kernel dir>/.config
cd <your kernel dir>
make all modules_install install

Please see your distro's web site for instructions to build a new kernel.

VIDEO_PLANB: Requires at least kernel 2.6.99
Created default (all yes) .config file
./scripts/make_myconfig.pl
make[1]: Leaving directory `/lib/firmware/v4l-dvb/v4l'
make[1]: Entering directory `/lib/firmware/v4l-dvb/v4l'
creating symbolic links...
ln -sf . oss
make -C /lib/modules/2.6.20-1.2933.fc6/build SUBDIRS=/lib/firmware/v4l-dvb/v4l modules
make[2]: Entering directory `/usr/src/kernels/2.6.20-1.2933.fc6-x86_64'
CC [M] /lib/firmware/v4l-dvb/v4l/flexcop-pci.o
CC [M] /lib/firmware/v4l-dvb/v4l/flexcop-usb.o
CC [M] /lib/firmware/v4l-dvb/v4l/flexcop.o
CC [M] /lib/firmware/v4l-dvb/v4l/flexcop-fe-tuner.o
CC [M] /lib/firmware/v4l-dvb/v4l/flexcop-i2c.o
CC [M] /lib/firmware/v4l-dvb/v4l/flexcop-sram.o
CC [M] /lib/firmware/v4l-dvb/v4l/flexcop-eeprom.o
CC [M] /lib/firmware/v4l-dvb/v4l/flexcop-misc.o
CC [M] /lib/firmware/v4l-dvb/v4l/flexcop-hw-filter.o
CC [M] /lib/firmware/v4l-dvb/v4l/flexcop-dma.o
CC [M] /lib/firmware/v4l-dvb/v4l/bttv-driver.o
CC [M] /lib/firmware/v4l-dvb/v4l/bttv-cards.o
CC [M] /lib/firmware/v4l-dvb/v4l/bttv-if.o
CC [M] /lib/firmware/v4l-dvb/v4l/bttv-risc.o
CC [M] /lib/firmware/v4l-dvb/v4l/bttv-vbi.o
CC [M] /lib/firmware/v4l-dvb/v4l/bttv-i2c.o
CC [M] /lib/firmware/v4l-dvb/v4l/bttv-gpio.o
CC [M] /lib/firmware/v4l-dvb/v4l/bttv-input.o
CC [M] /lib/firmware/v4l-dvb/v4l/cpia2_v4l.o
CC [M] /lib/firmware/v4l-dvb/v4l/cpia2_usb.o
CC [M] /lib/firmware/v4l-dvb/v4l/cpia2_core.o
CC [M] /lib/firmware/v4l-dvb/v4l/cx25840-core.o
CC [M] /lib/firmware/v4l-dvb/v4l/cx25840-audio.o
CC [M] /lib/firmware/v4l-dvb/v4l/cx25840-firmware.o
CC [M] /lib/firmware/v4l-dvb/v4l/cx25840-vbi.o
CC [M] /lib/firmware/v4l-dvb/v4l/cx88-video.o
CC [M] /lib/firmware/v4l-dvb/v4l/cx88-vbi.o
CC [M] /lib/firmware/v4l-dvb/v4l/cx88-mpeg.o
CC [M] /lib/firmware/v4l-dvb/v4l/cx88-cards.o
CC [M] /lib/firmware/v4l-dvb/v4l/cx88-core.o
CC [M] /lib/firmware/v4l-dvb/v4l/cx88-i2c.o
CC [M] /lib/firmware/v4l-dvb/v4l/cx88-tvaudio.o
CC [M] /lib/firmware/v4l-dvb/v4l/cx88-input.o
CC [M] /lib/firmware/v4l-dvb/v4l/dvbdev.o
CC [M] /lib/firmware/v4l-dvb/v4l/dmxdev.o
CC [M] /lib/firmware/v4l-dvb/v4l/dvb_demux.o
CC [M] /lib/firmware/v4l-dvb/v4l/dvb_filter.o
CC [M] /lib/firmware/v4l-dvb/v4l/dvb_ca_en50221.o
CC [M] /lib/firmware/v4l-dvb/v4l/dvb_frontend.o
CC [M] /lib/firmware/v4l-dvb/v4l/dvb_net.o
CC [M] /lib/firmware/v4l-dvb/v4l/dvb_ringbuffer.o
CC [M] /lib/firmware/v4l-dvb/v4l/dvb_math.o
CC [M] /lib/firmware/v4l-dvb/v4l/av7110_hw.o
CC [M] /lib/firmware/v4l-dvb/v4l/av7110_v4l.o
CC [M] /lib/firmware/v4l-dvb/v4l/av7110_av.o
CC [M] /lib/firmware/v4l-dvb/v4l/av7110_ca.o
CC [M] /lib/firmware/v4l-dvb/v4l/av7110.o
CC [M] /lib/firmware/v4l-dvb/v4l/av7110_ipack.o
CC [M] /lib/firmware/v4l-dvb/v4l/av7110_ir.o
CC [M] /lib/firmware/v4l-dvb/v4l/a800.o
CC [M] /lib/firmware/v4l-dvb/v4l/au6610.o
CC [M] /lib/firmware/v4l-dvb/v4l/cxusb.o
CC [M] /lib/firmware/v4l-dvb/v4l/dib0700_core.o
CC [M] /lib/firmware/v4l-dvb/v4l/dib0700_devices.o
CC [M] /lib/firmware/v4l-dvb/v4l/dibusb-common.o
CC [M] /lib/firmware/v4l-dvb/v4l/dibusb-mb.o
CC [M] /lib/firmware/v4l-dvb/v4l/dibusb-mc.o
CC [M] /lib/firmware/v4l-dvb/v4l/digitv.o
CC [M] /lib/firmware/v4l-dvb/v4l/dtt200u.o
CC [M] /lib/firmware/v4l-dvb/v4l/dtt200u-fe.o
CC [M] /lib/firmware/v4l-dvb/v4l/gl861.o
CC [M] /lib/firmware/v4l-dvb/v4l/gp8psk.o
CC [M] /lib/firmware/v4l-dvb/v4l/gp8psk-fe.o
CC [M] /lib/firmware/v4l-dvb/v4l/m920x.o
CC [M] /lib/firmware/v4l-dvb/v4l/nova-t-usb2.o
CC [M] /lib/firmware/v4l-dvb/v4l/ttusb2.o
CC [M] /lib/firmware/v4l-dvb/v4l/umt-010.o
CC [M] /lib/firmware/v4l-dvb/v4l/vp702x.o
CC [M] /lib/firmware/v4l-dvb/v4l/vp702x-fe.o
CC [M] /lib/firmware/v4l-dvb/v4l/vp7045.o
CC [M] /lib/firmware/v4l-dvb/v4l/vp7045-fe.o
CC [M] /lib/firmware/v4l-dvb/v4l/dvb-usb-firmware.o
CC [M] /lib/firmware/v4l-dvb/v4l/dvb-usb-init.o
CC [M] /lib/firmware/v4l-dvb/v4l/dvb-usb-urb.o
CC [M] /lib/firmware/v4l-dvb/v4l/dvb-usb-i2c.o
CC [M] /lib/firmware/v4l-dvb/v4l/dvb-usb-dvb.o
CC [M] /lib/firmware/v4l-dvb/v4l/dvb-usb-remote.o
CC [M] /lib/firmware/v4l-dvb/v4l/usb-urb.o
CC [M] /lib/firmware/v4l-dvb/v4l/em28xx-video.o
CC [M] /lib/firmware/v4l-dvb/v4l/em28xx-i2c.o
CC [M] /lib/firmware/v4l-dvb/v4l/em28xx-cards.o
CC [M] /lib/firmware/v4l-dvb/v4l/em28xx-core.o
CC [M] /lib/firmware/v4l-dvb/v4l/em28xx-input.o
CC [M] /lib/firmware/v4l-dvb/v4l/et61x251_core.o
CC [M] /lib/firmware/v4l-dvb/v4l/et61x251_tas5130d1b.o
CC [M] /lib/firmware/v4l-dvb/v4l/ir-functions.o
CC [M] /lib/firmware/v4l-dvb/v4l/ir-keymaps.o
CC [M] /lib/firmware/v4l-dvb/v4l/ivtv-audio.o
CC [M] /lib/firmware/v4l-dvb/v4l/ivtv-cards.o
CC [M] /lib/firmware/v4l-dvb/v4l/ivtv-controls.o
CC [M] /lib/firmware/v4l-dvb/v4l/ivtv-driver.o
CC [M] /lib/firmware/v4l-dvb/v4l/ivtv-fileops.o
CC [M] /lib/firmware/v4l-dvb/v4l/ivtv-firmware.o
CC [M] /lib/firmware/v4l-dvb/v4l/ivtv-gpio.o
CC [M] /lib/firmware/v4l-dvb/v4l/ivtv-i2c.o
CC [M] /lib/firmware/v4l-dvb/v4l/ivtv-ioctl.o
CC [M] /lib/firmware/v4l-dvb/v4l/ivtv-irq.o
CC [M] /lib/firmware/v4l-dvb/v4l/ivtv-mailbox.o
CC [M] /lib/firmware/v4l-dvb/v4l/ivtv-queue.o
CC [M] /lib/firmware/v4l-dvb/v4l/ivtv-streams.o
CC [M] /lib/firmware/v4l-dvb/v4l/ivtv-udma.o
CC [M] /lib/firmware/v4l-dvb/v4l/ivtv-vbi.o
CC [M] /lib/firmware/v4l-dvb/v4l/ivtv-video.o
CC [M] /lib/firmware/v4l-dvb/v4l/ivtv-yuv.o
CC [M] /lib/firmware/v4l-dvb/v4l/msp3400-driver.o
CC [M] /lib/firmware/v4l-dvb/v4l/msp3400-kthreads.o
CC [M] /lib/firmware/v4l-dvb/v4l/ovcamchip_core.o
CC [M] /lib/firmware/v4l-dvb/v4l/ov6x20.o
CC [M] /lib/firmware/v4l-dvb/v4l/ov6x30.o
CC [M] /lib/firmware/v4l-dvb/v4l/ov7x10.o
CC [M] /lib/firmware/v4l-dvb/v4l/ov7x20.o
CC [M] /lib/firmware/v4l-dvb/v4l/ov76be.o
CC [M] /lib/firmware/v4l-dvb/v4l/pvrusb2-i2c-core.o
CC [M] /lib/firmware/v4l-dvb/v4l/pvrusb2-i2c-cmd-v4l2.o
CC [M] /lib/firmware/v4l-dvb/v4l/pvrusb2-audio.o
CC [M] /lib/firmware/v4l-dvb/v4l/pvrusb2-i2c-chips-v4l2.o
CC [M] /lib/firmware/v4l-dvb/v4l/pvrusb2-encoder.o
CC [M] /lib/firmware/v4l-dvb/v4l/pvrusb2-video-v4l.o
CC [M] /lib/firmware/v4l-dvb/v4l/pvrusb2-eeprom.o
CC [M] /lib/firmware/v4l-dvb/v4l/pvrusb2-tuner.o
CC [M] /lib/firmware/v4l-dvb/v4l/pvrusb2-main.o
CC [M] /lib/firmware/v4l-dvb/v4l/pvrusb2-hdw.o
CC [M] /lib/firmware/v4l-dvb/v4l/pvrusb2-v4l2.o
CC [M] /lib/firmware/v4l-dvb/v4l/pvrusb2-ctrl.o
CC [M] /lib/firmware/v4l-dvb/v4l/pvrusb2-std.o
CC [M] /lib/firmware/v4l-dvb/v4l/pvrusb2-context.o
CC [M] /lib/firmware/v4l-dvb/v4l/pvrusb2-io.o
CC [M] /lib/firmware/v4l-dvb/v4l/pvrusb2-ioread.o
CC [M] /lib/firmware/v4l-dvb/v4l/pvrusb2-cx2584x-v4l.o
CC [M] /lib/firmware/v4l-dvb/v4l/pvrusb2-wm8775.o
CC [M] /lib/firmware/v4l-dvb/v4l/pvrusb2-sysfs.o
CC [M] /lib/firmware/v4l-dvb/v4l/pvrusb2-debugifc.o
CC [M] /lib/firmware/v4l-dvb/v4l/pwc-if.o
CC [M] /lib/firmware/v4l-dvb/v4l/pwc-misc.o
CC [M] /lib/firmware/v4l-dvb/v4l/pwc-ctrl.o
CC [M] /lib/firmware/v4l-dvb/v4l/pwc-v4l.o
CC [M] /lib/firmware/v4l-dvb/v4l/pwc-uncompress.o
CC [M] /lib/firmware/v4l-dvb/v4l/pwc-dec1.o
CC [M] /lib/firmware/v4l-dvb/v4l/pwc-dec23.o
CC [M] /lib/firmware/v4l-dvb/v4l/pwc-kiara.o
CC [M] /lib/firmware/v4l-dvb/v4l/pwc-timon.o
CC [M] /lib/firmware/v4l-dvb/v4l/saa7134-cards.o
CC [M] /lib/firmware/v4l-dvb/v4l/saa7134-core.o
CC [M] /lib/firmware/v4l-dvb/v4l/saa7134-i2c.o
CC [M] /lib/firmware/v4l-dvb/v4l/saa7134-ts.o
CC [M] /lib/firmware/v4l-dvb/v4l/saa7134-tvaudio.o
CC [M] /lib/firmware/v4l-dvb/v4l/saa7134-vbi.o
CC [M] /lib/firmware/v4l-dvb/v4l/saa7134-video.o
CC [M] /lib/firmware/v4l-dvb/v4l/saa7134-input.o
CC [M] /lib/firmware/v4l-dvb/v4l/saa7146_i2c.o
CC [M] /lib/firmware/v4l-dvb/v4l/saa7146_core.o
CC [M] /lib/firmware/v4l-dvb/v4l/saa7146_fops.o
CC [M] /lib/firmware/v4l-dvb/v4l/saa7146_video.o
CC [M] /lib/firmware/v4l-dvb/v4l/saa7146_hlp.o
CC [M] /lib/firmware/v4l-dvb/v4l/saa7146_vbi.o
CC [M] /lib/firmware/v4l-dvb/v4l/sn9c102_core.o
/lib/firmware/v4l-dvb/v4l/sn9c102_core.c:649: warning: 'sn9c102_write_eoimarker' defined but not used
CC [M] /lib/firmware/v4l-dvb/v4l/sn9c102_hv7131d.o
make[3]: *** No rule to make target `/lib/firmware/v4l-dvb/v4l/sn9c102_hv7131r.o', needed by `/lib/firmware/v4l-dvb/v4l/saa7146.o'. Stop.
make[2]: *** [_module_/lib/firmware/v4l-dvb/v4l] Error 2
make[2]: Leaving directory `/usr/src/kernels/2.6.20-1.2933.fc6-x86_64'
make[1]: *** [default] Error 2
make[1]: Leaving directory `/lib/firmware/v4l-dvb/v4l'
make: *** [all] Error 2
[root@localhost v4l-dvb]#
 
Old 03-27-2007, 01:15 PM   #7
jlo_sandog
Member
 
Registered: Jul 2005
Location: USA
Distribution: F10 (x86_64)
Posts: 549

Rep: Reputation: 32
try to download and compile from
hg clone http://mcentral.de/hg/~mrec/v4l-dvb-experimental

This one compiled with kernel 2.6.20.
http://mcentral.de/wiki/index.php/Em2880/Status
 
Old 03-31-2007, 06:50 PM   #8
Bob Jones
Member
 
Registered: Mar 2007
Posts: 35

Rep: Reputation: 15
That seemed to work. Thx. Now I get to figure out the sound bugs. ugh.
 
Old 03-29-2008, 10:17 AM   #9
guzowskip
LQ Newbie
 
Registered: Mar 2008
Location: Florida Panhandle, USA
Distribution: Ubuntu 12.04
Posts: 6

Rep: Reputation: 0
Problem compiling with 2.6.24-generic

Greetings. New member here. Running Ubuntu with 2.6.24 kernel.

Attempting to get my Pinnacle HDTV Pro Stick working with Linux. I explicitly followed the instructions (including installing all packages cited) at the 2nrds.com website. When I try to "make" it fails with the output shown below. Can anyone give me some help?

Polo in NW Florida
**********************************

paul@paul-desktop:/usr/src/v4l-dvb-kernel$ sudo make all
[sudo] password for paul:
make -C /usr/src/v4l-dvb-kernel/v4l all
make[1]: Entering directory `/usr/src/v4l-dvb-kernel/v4l'
creating symbolic links...
make -C /lib/modules/2.6.24-12-generic/build SUBDIRS=/usr/src/v4l-dvb-kernel/v4l modules
make[2]: Entering directory `/usr/src/linux-headers-2.6.24-12-generic'
CC [M] /usr/src/v4l-dvb-kernel/v4l/flexcop-pci.o
In file included from /usr/src/v4l-dvb-kernel/v4l/flexcop-common.h:23,
from /usr/src/v4l-dvb-kernel/v4l/flexcop-pci.c:10:
/usr/src/v4l-dvb-kernel/v4l/dvb_frontend.h:42:33: error: media/v4l_dvb_tuner.h: No such file or directory
In file included from /usr/src/v4l-dvb-kernel/v4l/flexcop-common.h:23,
from /usr/src/v4l-dvb-kernel/v4l/flexcop-pci.c:10:
/usr/src/v4l-dvb-kernel/v4l/dvb_frontend.h:165: error: field 'tuner_ops' has incomplete type
make[3]: *** [/usr/src/v4l-dvb-kernel/v4l/flexcop-pci.o] Error 1
make[2]: *** [_module_/usr/src/v4l-dvb-kernel/v4l] Error 2
make[2]: Leaving directory `/usr/src/linux-headers-2.6.24-12-generic'
make[1]: *** [default] Error 2
make[1]: Leaving directory `/usr/src/v4l-dvb-kernel/v4l'
make: *** [all] Error 2
paul@paul-desktop:/usr/src/v4l-dvb-kernel$
 
Old 05-07-2008, 03:12 AM   #10
105659
LQ Newbie
 
Registered: Nov 2005
Location: BC, Canada
Posts: 26

Original Poster
Rep: Reputation: 15
It's been a while since I posted here - time for an update. I have been using my Hauppauge WinTV HVR 950 ATSC USB tuner for a few months now as my HDTV. This is plugged into a 1.86GHz Core Duo laptop with 2GB memory. Maybe the following will help others get v4l working with similar usb tuners.

I'm running this on openSUSE 10.3, running kernel 2.6.22.17-0.1-default. After a kernel update, to fix re-building of the v4l modules for HDTV, I found I have to do :

cd /usr/src/linux-2.6.22.17-0.1-obj/i386/default/include/linux/
cp -a /usr/src/linux-2.6.22.17-0.1/include/linux/netdevice.h .

then make v4l

When I plug in the usb tuner the following is written to /var/log/messages :

May 7 00:31:30 localhost kernel: usb 5-4: new high speed USB device using ehci_hcd and address 5
May 7 00:31:30 localhost kernel: usb 5-4: new device found, idVendor=2040, idProduct=6513
May 7 00:31:30 localhost kernel: usb 5-4: new device strings: Mfr=0, Product=1, SerialNumber=2
May 7 00:31:30 localhost kernel: usb 5-4: Product: WinTV HVR-980 <<<<< Note, it's an HVR-950
May 7 00:31:30 localhost kernel: usb 5-4: SerialNumber: 4027621802
May 7 00:31:30 localhost kernel: usb 5-4: configuration #1 chosen from 1 choice
May 7 00:31:30 localhost kernel: Linux video capture interface: v2.00
May 7 00:31:30 localhost kernel: em28xx v4l2 driver version 0.0.1 loaded
May 7 00:31:30 localhost kernel: em28xx new video device (2040:6513): interface 0, class 255
May 7 00:31:30 localhost kernel: em28xx: device is attached to a USB 2.0 bus
May 7 00:31:30 localhost kernel: em28xx: you're using the experimental/unstable tree from mcentral.de
May 7 00:31:30 localhost kernel: em28xx: there's also a stable tree available but which is limited to
May 7 00:31:30 localhost kernel: em28xx: linux <=2.6.19.2
May 7 00:31:30 localhost kernel: em28xx: it's fine to use this driver but keep in mind that it will move
May 7 00:31:30 localhost kernel: em28xx: to http://mcentral.de/hg/~mrec/v4l-dvb-kernel as soon as it's
May 7 00:31:30 localhost kernel: em28xx: proved to be stable
May 7 00:31:30 localhost kernel: em28xx #0: Alternate settings: 8
May 7 00:31:30 localhost kernel: em28xx #0: Alternate setting 0, max size= 0
May 7 00:31:30 localhost kernel: em28xx #0: Alternate setting 1, max size= 0
May 7 00:31:30 localhost kernel: em28xx #0: Alternate setting 2, max size= 1448
May 7 00:31:30 localhost kernel: em28xx #0: Alternate setting 3, max size= 2048
May 7 00:31:30 localhost kernel: em28xx #0: Alternate setting 4, max size= 2304
May 7 00:31:30 localhost kernel: em28xx #0: Alternate setting 5, max size= 2580
May 7 00:31:30 localhost kernel: em28xx #0: Alternate setting 6, max size= 2892
May 7 00:31:30 localhost kernel: em28xx #0: Alternate setting 7, max size= 3072
May 7 00:31:31 localhost kernel: attach_inform: eeprom detected.
May 7 00:31:31 localhost kernel: em28xx #0: i2c eeprom 00: 1a eb 67 95 40 20 13 65 d0 12 5c 03 82 1e 6a 18
May 7 00:31:31 localhost kernel: em28xx #0: i2c eeprom 10: 00 00 24 57 66 07 01 00 00 00 00 00 00 00 00 00
May 7 00:31:31 localhost kernel: em28xx #0: i2c eeprom 20: 46 00 01 00 f0 10 02 00 b8 00 00 00 5b 1c 00 00
May 7 00:31:31 localhost kernel: em28xx #0: i2c eeprom 30: 00 00 20 40 20 80 02 20 01 01 01 01 00 00 00 00
May 7 00:31:31 localhost kernel: em28xx #0: i2c eeprom 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
May 7 00:31:31 localhost kernel: em28xx #0: i2c eeprom 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
May 7 00:31:31 localhost kernel: em28xx #0: i2c eeprom 60: 00 00 00 00 00 00 00 00 00 00 18 03 34 00 30 00
May 7 00:31:31 localhost kernel: em28xx #0: i2c eeprom 70: 32 00 37 00 36 00 32 00 31 00 38 00 30 00 32 00
May 7 00:31:31 localhost kernel: em28xx #0: i2c eeprom 80: 00 00 1e 03 57 00 69 00 6e 00 54 00 56 00 20 00
May 7 00:31:31 localhost kernel: em28xx #0: i2c eeprom 90: 48 00 56 00 52 00 2d 00 39 00 38 00 30 00 00 00
May 7 00:31:31 localhost kernel: em28xx #0: i2c eeprom a0: 84 12 00 00 05 50 1a 7f d4 78 23 b1 fe d0 18 85
May 7 00:31:31 localhost kernel: em28xx #0: i2c eeprom b0: ff 00 00 00 04 84 0a 00 01 01 20 77 00 40 aa a1
May 7 00:31:31 localhost kernel: em28xx #0: i2c eeprom c0: 10 f0 74 02 01 00 01 79 4b 00 00 00 00 00 00 00
May 7 00:31:31 localhost kernel: em28xx #0: i2c eeprom d0: 84 12 00 00 05 50 1a 7f d4 78 23 b1 fe d0 18 85
May 7 00:31:31 localhost kernel: em28xx #0: i2c eeprom e0: ff 00 00 00 04 84 0a 00 01 01 20 77 00 40 aa a1
May 7 00:31:31 localhost kernel: em28xx #0: i2c eeprom f0: 10 f0 74 02 01 00 01 79 4b 00 00 00 00 00 00 00
May 7 00:31:31 localhost kernel: EEPROM ID= 0x9567eb1a
May 7 00:31:31 localhost kernel: Vendor/Product ID= 2040:6513
May 7 00:31:31 localhost kernel: AC97 audio (5 sample rates)
May 7 00:31:31 localhost kernel: 500mA max power
May 7 00:31:31 localhost kernel: Table at 0x24, strings=0x1e82, 0x186a, 0x0000
May 7 00:31:31 localhost kernel: tveeprom 0-0050: Hauppauge model 65201, rev A1C0, serial# 1089962
May 7 00:31:31 localhost kernel: tveeprom 0-0050: tuner model is Xceive XC3028 (idx 120, type 71)
May 7 00:31:31 localhost kernel: tveeprom 0-0050: TV standards PAL(B/G) PAL(I) PAL(D/D1/K) ATSC/DVB Digital (eeprom 0xd4)
May 7 00:31:31 localhost kernel: tveeprom 0-0050: audio processor is None (idx 0)
May 7 00:31:31 localhost kernel: tveeprom 0-0050: has radio
May 7 00:31:31 localhost kernel: tuner 0-0061: chip found @ 0xc2 (em28xx #0)
May 7 00:31:31 localhost kernel: attach inform (default): detected I2C address c2
May 7 00:31:31 localhost kernel: /home/archive/v4l/v4l-dvb-kernel-OLD/v4l-dvb-kernel/v4l/tuner-core.c: setting tuner callback
May 7 00:31:31 localhost kernel: tuner 0x61: Configuration acknowledged
May 7 00:31:31 localhost kernel: /home/archive/v4l/v4l-dvb-kernel-OLD/v4l-dvb-kernel/v4l/tuner-core.c: setting tuner callback
May 7 00:31:31 localhost kernel: /home/archive/v4l/v4l-dvb-kernel-OLD/v4l-dvb-kernel/v4l/xc3028-tuner.c: attach request!
May 7 00:31:31 localhost kernel: /home/archive/v4l/v4l-dvb-kernel-OLD/v4l-dvb-kernel/v4l/tuner-core.c: xc3028 tuner successfully loaded
May 7 00:31:31 localhost kernel: attach_inform: tvp5150 detected.
May 7 00:31:31 localhost kernel: tvp5150 0-005c: tvp5150am1 detected.
May 7 00:31:31 localhost kernel: Loading base firmware: xc3028_init0.i2c.fw
May 7 00:31:32 localhost kernel: Loading default analogue TV settings: xc3028_BG_PAL_A2_A.i2c.fw
May 7 00:31:32 localhost kernel: xc3028-tuner.c: firmware 2.7
May 7 00:31:32 localhost kernel: ANALOG TV REQUEST
May 7 00:31:32 localhost kernel: em28xx #0: V4L2 device registered as /dev/video0
May 7 00:31:32 localhost kernel: em28xx #0: Found Hauppauge WinTV HVR 950
May 7 00:31:32 localhost kernel: usbcore: registered new interface driver em28xx
May 7 00:31:32 localhost kernel: em28xx-audio.c: probing for em28x1 non standard usbaudio
May 7 00:31:32 localhost kernel: em28xx-audio.c: Copyright (C) 2006 Markus Rechberger
May 7 00:31:32 localhost kernel: Em28xx: Initialized (Em28xx Audio Extension) extension
May 7 00:31:33 localhost kernel: em2880-dvb.c: DVB Init
May 7 00:31:33 localhost kernel: Loading base firmware: xc3028_8MHz_init0.i2c.fw
May 7 00:31:34 localhost kernel: Loading default dtv settings: xc3028_DTV8_2633.i2c.fw
May 7 00:31:34 localhost kernel: xc3028-tuner.c: firmware 2.7
May 7 00:31:34 localhost kernel: Sending extra call for Digital TV!
May 7 00:31:34 localhost kernel: /home/archive/v4l/v4l-dvb-kernel-OLD/v4l-dvb-kernel/v4l/xc3028-tuner.c: attach request!
May 7 00:31:34 localhost kernel: DVB: registering new adapter (em2880 DVB-T)
May 7 00:31:34 localhost kernel: DVB: registering frontend 0 (LG Electronics LGDT3303 VSB/QAM Frontend)...
May 7 00:31:34 localhost kernel: Em28xx: Initialized (Em2880 DVB Extension) extension

Under mythtv 0.20 I am able to tune three local HDTV broadcasters. Usually it works well for hours on end; occasionally it hangs and I have to exit mythfrontend and restart it. Whatever I'm viewing is written to disk (it uses about 7GB/hour or so) to permit PVR functionality. I cannot tune analog stations (I live in Canada which uses NTSC for analog) I suspect different firmware has to be loaded to do that - maybe someone knows for sure how to switch modes?

Start up mythbackend as root :

# mythbackend
2008-05-07 01:08:41.904 Using runtime prefix = /usr
2008-05-07 01:08:41.910 New DB connection, total: 1
2008-05-07 01:08:41.915 Connected to database 'mythconverg' at host: localhost
2008-05-07 01:08:41.916 Current Schema Version: 1160
Starting up as the master server.
2008-05-07 01:08:41.920 New DB connection, total: 2
2008-05-07 01:08:41.921 Connected to database 'mythconverg' at host: localhost
2008-05-07 01:08:41.922 EITHelper: localtime offset -7:00:00
2008-05-07 01:08:41.925 New DB connection, total: 3
2008-05-07 01:08:41.925 Connected to database 'mythconverg' at host: localhost
2008-05-07 01:08:41.928 DVBChan(0) Warning: Symbol Rate setting (0) is out of range (min/max:5056941/10762000)
2008-05-07 01:08:41.938 New DB scheduler connection
2008-05-07 01:08:41.938 Connected to database 'mythconverg' at host: localhost
2008-05-07 01:08:43.298 Main::Registering HttpStatus Extension
2008-05-07 01:08:43.298 mythbackend version: 0.20.20070821-1 www.mythtv.org
2008-05-07 01:08:43.298 Enabled verbose msgs: important general
2008-05-07 01:08:43.298 AutoExpire: Found 1 recorders w/max rate of 138 MiB/min
2008-05-07 01:08:43.299 AutoExpire: Required Free Space: 3.0 GB w/freq: 10 min
2008-05-07 01:08:43.965 Reschedule requested for id -1.
2008-05-07 01:08:44.164 Scheduled 0 items in 0.2 = 0.18 match + 0.02 place
2008-05-07 01:08:44.165 Seem to be woken up by USER


Anyway, highly successful as far as HDTV goes. All for now, hope it helps someone.
 
Old 08-05-2008, 08:12 PM   #11
Sarge
LQ Newbie
 
Registered: Aug 2008
Posts: 1

Rep: Reputation: 0
I'm running SuSE 11
I was getting compile error on flexcop-pci.o] Error 1
So I went to my kernel source /usr/src/linux and ran make prepare scripts
it got past that problem with that fix.

Now I get these errors.
/home/joe/v4l-dvb-kernel/v4l/bt866.c:304: error: unknown field 'usage_count' specified in initializer
/home/joe/v4l-dvb-kernel/v4l/bt866.c:305: warning: missing braces around initializer
/home/joe/v4l-dvb-kernel/v4l/bt866.c:305: warning: (near initialization for 'bt866_client_tmpl.dev')
make[3]: *** [/home/joe/v4l-dvb-kernel/v4l/bt866.o] Error 1
make[2]: *** [_module_/home/joe/v4l-dvb-kernel/v4l] Error 2
make[2]: Leaving directory `/usr/src/linux-2.6.25.11-0.1'
make[1]: *** [default] Error 2
make[1]: Leaving directory `/home/joe/v4l-dvb-kernel/v4l'
make: *** [all] Error 2

Oh well I'm getting closer.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
problems compiling v4l-dvb in kernel 2.6.16.27.tex1 cncman Linux - Software 0 09-16-2006 08:37 PM
Firmware question about AverTV DVB-T USB 2.0 dvb receiver phildacey Linux - Hardware 0 02-19-2006 03:57 PM
Kaffeine recognizes DVB cards, scans channels, but DVB icon remains dim. Ekkume Ubuntu 5 01-24-2006 10:45 AM
need help compiling v4l cvs gaah Linux - Newbie 3 10-01-2005 04:43 PM
kernel compile error and v4l cs-cam Linux - Hardware 4 05-30-2005 07:10 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Software > Linux - Kernel

All times are GMT -5. The time now is 04:07 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration