[PATCH 10/10] media/dvb: add __init/__exit macros to drivers/media/dvb/bt8xx/bt878.c
From: Peter Huewe peterhu...@gmx.de Trivial patch which adds the __init/__exit macros to the module_init/ module_exit functions of drivers/media/dvb/bt8xx/bt878.c Please have a look at the small patch and either pull it through your tree, or please ack' it so Jiri can pull it through the trivial tree. Patch against linux-next-tree, 22. Dez 08:38:18 CET 2009 but also present in linus tree. Signed-off-by: Peter Huewe peterhu...@gmx.de --- drivers/media/dvb/bt8xx/bt878.c |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/media/dvb/bt8xx/bt878.c b/drivers/media/dvb/bt8xx/bt878.c index a24c125..2a0886a 100644 --- a/drivers/media/dvb/bt8xx/bt878.c +++ b/drivers/media/dvb/bt8xx/bt878.c @@ -582,7 +582,7 @@ static int bt878_pci_driver_registered; /* Module management functions */ /***/ -static int bt878_init_module(void) +static int __init bt878_init_module(void) { bt878_num = 0; bt878_pci_driver_registered = 0; @@ -600,7 +600,7 @@ static int bt878_init_module(void) return pci_register_driver(bt878_pci_driver); } -static void bt878_cleanup_module(void) +static void __exit bt878_cleanup_module(void) { if (bt878_pci_driver_registered) { bt878_pci_driver_registered = 0; -- 1.6.4.4 -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PULL] http://www.kernellabs.com/hg/~dheitmueller/hvr-1600-alsa-2
Em 22-12-2009 01:50, Devin Heitmueller escreveu: On Mon, Dec 21, 2009 at 10:24 PM, Mauro Carvalho Chehab mche...@infradead.org wrote: In the case of this patch series, the complains are not related to 80 cols: snip In this case, there was a mix of 80-column issues, as well as some other issues. Yes, there are a few 80-column warnings but those are minor issues. On several cases, fixing such warnings is bad. I did fix the issues other than the 80-column issues through patches added to the tree last night (and in fact I did fix all the 80 column issues in my actual changes - but did not fix 80 column issues that happened to appear in the diff but were pre-existing). Please let me know if you have any other issues. Provided that you've fixed the points that Takashi rised about the alsa part, I'm fine. Please send a separate pull request c/c him , in order to allow him to send his ack. Cheers, Mauro. -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PULL] http://www.kernellabs.com/hg/~dheitmueller/hvr-1600-alsa-2
At Mon, 21 Dec 2009 12:30:48 -0500, Devin Heitmueller wrote: On Mon, Dec 21, 2009 at 12:21 PM, Takashi Iwai ti...@suse.de wrote: Just a very quick look through the files, here are some comments: - snd_card_free() can't be called with NULL, but the error path in snd_cx18_init() may reach that (when snd_card_create() returns an error). - Specifying both SNDRV_PCM_RATE_CONTINOUS and _KNOT to snd_pcm_hw_info.rates doesn't make sense. In your case, if it's only 48kHz, SNDRV_PCM_RATE_48000 there instead. - vfree() should be called in hw_free callback rather than close callback. And, there are already global vmalloc-buffer helper functions in the latest ALSA tree for 2.6.34... - It'd be nice if you give TLV information for the mixer dB mapping. Hello Takashi, Thanks for taking the time to provide feedback. I will make these changes and add them to the tree. Out of curiosity, is there any sort of tool/code which exercises the driver to verify the advertised capabilities. Part of the problem here is that it is not really easy to find example applications which use all the features, which I suspect is one of the big headaches that the PulseAudio people are suffering from in that they are finding bugs in ALSA drivers because they are the first ones to actually attempt to use some of these capabilities. For me the card works, but then some user complains that their PulseAudio is broken because I didn't setup the config structures properly or only half-implemented some capability used by PulseAudio but not arecord/aplay. Yeah, the test suite is one of the biggest missing pieces. Due to its nature, the automatic test is a bit hard to achieve with the real hardwares. Some tools are found, however, in alsa-lib/test directory. For example, pcm.c can test different PCM access methods. Takashi -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
em28xx driver - xc3028 tuner - readreg error
Hi all, today, after I have just installed an update for v4l-lib and v4l-lib-devel opensuse 11.2 packages, my v4l-dvb driver (compiled from sources) does not work anymore Just looking to dmesg output I find [ 806.721162] em28xx: New device TerraTec Electronic GmbH Cinergy T USB XS @ 480 Mbps (0ccd:0043, interface 0, class 0) [ 806.721353] em28xx #0: chip ID is em2870 [ 806.833068] em28xx #0: i2c eeprom 00: 1a eb 67 95 cd 0c 43 00 c0 12 5c 00 9e 24 6a 34 [ 806.833096] em28xx #0: i2c eeprom 10: 00 00 06 57 02 0c 00 00 00 00 00 00 00 00 00 00 [ 806.833117] em28xx #0: i2c eeprom 20: 44 00 00 00 f0 10 01 00 00 00 00 00 5b 00 00 00 [ 806.833138] em28xx #0: i2c eeprom 30: 00 00 20 40 20 80 02 20 01 01 00 00 00 00 00 00 [ 806.833158] em28xx #0: i2c eeprom 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [ 806.833178] em28xx #0: i2c eeprom 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [ 806.833198] em28xx #0: i2c eeprom 60: 00 00 00 00 00 00 00 00 00 00 34 03 54 00 65 00 [ 806.833218] em28xx #0: i2c eeprom 70: 72 00 72 00 61 00 54 00 65 00 63 00 20 00 45 00 [ 806.833238] em28xx #0: i2c eeprom 80: 6c 00 65 00 63 00 74 00 72 00 6f 00 6e 00 69 00 [ 806.833258] em28xx #0: i2c eeprom 90: 63 00 20 00 47 00 6d 00 62 00 48 00 00 00 24 03 [ 806.833279] em28xx #0: i2c eeprom a0: 43 00 69 00 6e 00 65 00 72 00 67 00 79 00 20 00 [ 806.833299] em28xx #0: i2c eeprom b0: 54 00 20 00 55 00 53 00 42 00 20 00 58 00 53 00 [ 806.833319] em28xx #0: i2c eeprom c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [ 806.89] em28xx #0: i2c eeprom d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [ 806.833359] em28xx #0: i2c eeprom e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [ 806.833379] em28xx #0: i2c eeprom f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [ 806.833401] em28xx #0: EEPROM ID= 0x9567eb1a, EEPROM hash = 0xbfdf1b96 [ 806.833409] em28xx #0: EEPROM info: [ 806.833414] em28xx #0: No audio on board. [ 806.833419] em28xx #0: 500mA max power [ 806.833425] em28xx #0: Table at 0x06, strings=0x249e, 0x346a, 0x [ 806.834138] em28xx #0: Identified as Terratec Cinergy T XS (card=43) [ 806.834289] em28xx #0: [ 806.834290] [ 806.834297] em28xx #0: The support for this board weren't valid yet. [ 806.834305] em28xx #0: Please send a report of having this working [ 806.834312] em28xx #0: not to V4L mailing list (and/or to other addresses) [ 806.834314] [ 806.842097] tuner 2-0061: chip found @ 0xc2 (em28xx #0) [ 806.842263] xc2028 2-0061: creating new instance [ 806.842271] xc2028 2-0061: type set to XCeive xc2028/xc3028 tuner [ 806.842288] usb 1-4: firmware: requesting xc3028-v27.fw [ 806.853287] xc2028 2-0061: Loading 80 firmware images from xc3028-v27.fw, type: xc2028 firmware, ver 2.7 [ 806.886020] xc2028 2-0061: Loading firmware for type=BASE (1), id . [ 808.284017] xc2028 2-0061: Loading firmware for type=(0), id b700. [ 808.310009] SCODE (2000), id b700: [ 808.310020] xc2028 2-0061: Loading SCODE for type=MONO SCODE HAS_IF_4320 (60008000), id 8000. [ 808.433021] em28xx #0: v4l2 driver version 0.1.2 [ 808.437908] em28xx #0: V4L2 video device registered as /dev/video1 [ 808.441137] usbcore: registered new interface driver em28xx [ 808.441154] em28xx driver loaded [ 808.562319] zl10353_read_register: readreg error (reg=127, ret==-19) [ 808.562937] mt352_read_register: readreg error (reg=127, ret==-19) [ 808.563050] em28xx #0: /2: dvb frontend not attached. Can't attach xc3028 [ 808.563061] Em28xx: Initialized (Em28xx dvb Extension) extension Before the update, v4l-dvb driver worked fine, and now it doesn't work even if I remove the updated packages. Checking for kernel modules conflict, I found only the modules installed by v4l-dvb sources. #find /lib/modules/`uname -r` -name 'em28xx*' | xargs -i ls -l {} totale 236 -rw-r--r-- 1 root root 21464 22 dic 16:03 /lib/modules/2.6.31.5-0.1-desktop/kernel/drivers/media/video/em28xx/em28xx-alsa.ko -rw-r--r-- 1 root root 26176 22 dic 16:03 /lib/modules/2.6.31.5-0.1-desktop/kernel/drivers/media/video/em28xx/em28xx-dvb.ko -rw-r--r-- 1 root root 184936 22 dic 16:03 /lib/modules/2.6.31.5-0.1-desktop/kernel/drivers/media/video/em28xx/em28xx.ko Which could be the reason of readreg error? Thanks and regars Valerio -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
RE: [PATCH - v2 1/6] V4L - vpfe capture - header files for ISIF driver
Hi Hans, If there are no more comments on this patch set, could you please merge this to your hg tree? Murali Karicheri Software Design Engineer Texas Instruments Inc. Germantown, MD 20874 phone: 301-407-9583 email: m-kariche...@ti.com -Original Message- From: Karicheri, Muralidharan Sent: Friday, December 18, 2009 6:58 PM To: linux-media@vger.kernel.org; hverk...@xs4all.nl; khil...@deeprootsystems.com; Hiremath, Vaibhav; Nori, Sekhar Cc: davinci-linux-open-sou...@linux.davincidsp.com; Karicheri, Muralidharan Subject: [PATCH - v2 1/6] V4L - vpfe capture - header files for ISIF driver From: Muralidharan Karicheri m-kariche...@ti.com Updated based on comments against v1 of the patch This is the header file for ISIF driver on DM365. ISIF driver is equivalent to CCDC driver on DM355 and DM644x. This driver is tested for YUV capture from TVP514x driver. This patch contains the header files required for this driver. The name of the file is changed to reflect the name of IP. Reviewed-by: Nori, Sekhar nsek...@ti.com Reviewed-by: Hans Verkuil hverk...@xs4all.nl Signed-off-by: Muralidharan Karicheri m-kariche...@ti.com --- Applies to linux-next tree of v4l-dvb drivers/media/video/davinci/isif_regs.h | 269 include/media/davinci/isif.h| 531 +++ 2 files changed, 800 insertions(+), 0 deletions(-) create mode 100644 drivers/media/video/davinci/isif_regs.h create mode 100644 include/media/davinci/isif.h diff --git a/drivers/media/video/davinci/isif_regs.h b/drivers/media/video/davinci/isif_regs.h new file mode 100644 index 000..f7b8893 --- /dev/null +++ b/drivers/media/video/davinci/isif_regs.h @@ -0,0 +1,269 @@ +/* + * Copyright (C) 2008-2009 Texas Instruments Inc + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef _ISIF_REGS_H +#define _ISIF_REGS_H + +/* ISIF registers relative offsets */ +#define SYNCEN0x00 +#define MODESET 0x04 +#define HDW 0x08 +#define VDW 0x0c +#define PPLN 0x10 +#define LPFR 0x14 +#define SPH 0x18 +#define LNH 0x1c +#define SLV0 0x20 +#define SLV1 0x24 +#define LNV 0x28 +#define CULH 0x2c +#define CULV 0x30 +#define HSIZE 0x34 +#define SDOFST0x38 +#define CADU 0x3c +#define CADL 0x40 +#define LINCFG0 0x44 +#define LINCFG1 0x48 +#define CCOLP 0x4c +#define CRGAIN0x50 +#define CGRGAIN 0x54 +#define CGBGAIN 0x58 +#define CBGAIN0x5c +#define COFSTA0x60 +#define FLSHCFG0 0x64 +#define FLSHCFG1 0x68 +#define FLSHCFG2 0x6c +#define VDINT00x70 +#define VDINT10x74 +#define VDINT20x78 +#define MISC 0x7c +#define CGAMMAWD 0x80 +#define REC656IF 0x84 +#define CCDCFG0x88 +/* +* Defect Correction registers +*/ +#define DFCCTL0x8c +#define VDFSATLV 0x90 +#define DFCMEMCTL 0x94 +#define DFCMEM0 0x98 +#define DFCMEM1 0x9c +#define DFCMEM2
Re: [PULL] http://www.kernellabs.com/hg/~dheitmueller/hvr-1600-alsa-2
On Tue, Dec 22, 2009 at 5:34 AM, Mauro Carvalho Chehab Provided that you've fixed the points that Takashi rised about the alsa part, I'm fine. Please send a separate pull request c/c him , in order to allow him to send his ack. Ok. With the holidays upon us and my being out of town, I will try to do this Sunday night. Thanks, Devin -- Devin J. Heitmueller - Kernel Labs http://www.kernellabs.com -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: em28xx driver - xc3028 tuner - readreg error
On Tue, Dec 22, 2009 at 10:11 AM, Valerio Bontempi valerio.bonte...@gmail.com wrote: Before the update, v4l-dvb driver worked fine, and now it doesn't work even if I remove the updated packages. Checking for kernel modules conflict, I found only the modules installed by v4l-dvb sources. #find /lib/modules/`uname -r` -name 'em28xx*' | xargs -i ls -l {} totale 236 -rw-r--r-- 1 root root 21464 22 dic 16:03 /lib/modules/2.6.31.5-0.1-desktop/kernel/drivers/media/video/em28xx/em28xx-alsa.ko -rw-r--r-- 1 root root 26176 22 dic 16:03 /lib/modules/2.6.31.5-0.1-desktop/kernel/drivers/media/video/em28xx/em28xx-dvb.ko -rw-r--r-- 1 root root 184936 22 dic 16:03 /lib/modules/2.6.31.5-0.1-desktop/kernel/drivers/media/video/em28xx/em28xx.ko My guess is that these files were provided by your distro through a kernel update (and in 2.6.31 this board is known to have problems which have been fixed in the latest v4l-dvb tree). I would suggest the following going into your v4l-dvb tree and doing the following: make distclean make make install reboot And see if the problem clears up. Devin -- Devin J. Heitmueller - Kernel Labs http://www.kernellabs.com -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
AW: [linux-dvb] Kernel oops with Technotrend S2-3200
Hi, it seems problem has been fixed. kind regards Newsy --- Oliver Holler ohol...@live.com schrieb am So, 20.12.2009: Von: Oliver Holler ohol...@live.com Betreff: [linux-dvb] Kernel oops with Technotrend S2-3200 An: linux-...@linuxtv.org Datum: Sonntag, 20. Dezember 2009, 19:26 Hello, I am trying to get a new Technotrend S2-3200 to run. I am using changeset 13992:77a5248e92b5 of s2-liplianin and kernel 2.6.31.8 and 2.6.32.1. When I try to load the module with modprobe budget_ci I am getting a kernel: Oops: [#1] PREEMPT. I appreciate any help. Here is the syslog: Dec 20 15:27:37 fs1 kernel: saa7146: register extension 'budget_ci dvb'. Dec 20 15:27:37 fs1 kernel: budget_ci dvb :01:01.0: PCI INT A - GSI 20 (level, low) - IRQ 20 Dec 20 15:27:37 fs1 kernel: IRQ 20/: IRQF_DISABLED is not guaranteed on shared IRQs Dec 20 15:27:37 fs1 kernel: saa7146: found saa7146 @ mem f8210c00 (revision 1, irq 20) (0x13c2,0x1019). Dec 20 15:27:37 fs1 kernel: saa7146 (0): dma buffer size 192512 Dec 20 15:27:37 fs1 kernel: DVB: registering new adapter (TT-Budget S2-3200 PCI) Dec 20 15:27:37 fs1 kernel: adapter has MAC addr = 00:d0:5c:64:99:e6 Dec 20 15:27:37 fs1 kernel: input: Budget-CI dvb ir receiver saa7146 (0) as /class/input/input2 Dec 20 15:27:37 fs1 kernel: Creating IR device irrcv0 Dec 20 15:27:37 fs1 kernel: BUG: unable to handle kernel paging request at 72727563 Dec 20 15:27:37 fs1 kernel: IP: [cf36] strcmp+0x7/0x19 Dec 20 15:27:37 fs1 kernel: *pde = Dec 20 15:27:37 fs1 kernel: Oops: [#1] PREEMPT Dec 20 15:27:37 fs1 kernel: last sysfs file: /sys/class/net/lo/operstate Dec 20 15:27:37 fs1 kernel: Modules linked in: budget_ci(+) ir_common budget_core dvb_core saa7146 ttpci_eeprom ir_core fuse evdev atl1 iTCO_wdt iTCO_vendor_support i2c_i801 ehci_hcd uhci_hcd thermal processor button thermal_sys usbcore Dec 20 15:27:37 fs1 kernel: Dec 20 15:27:37 fs1 kernel: Pid: 10958, comm: modprobe Not tainted (2.6.31.8 #1) System Product Name Dec 20 15:27:37 fs1 kernel: EIP: 0060:[cf36] EFLAGS: 00010282 CPU: 0 Dec 20 15:27:37 fs1 kernel: EIP is at strcmp+0x7/0x19 Dec 20 15:27:37 fs1 kernel: EAX: c12b2475 EBX: f662e534 ECX: 0001 EDX: 72727563 Dec 20 15:27:37 fs1 kernel: ESI: c12b24bb EDI: 72727563 EBP: f662e560 ESP: f6bffdcc Dec 20 15:27:37 fs1 kernel: DS: 007b ES: 007b FS: GS: 0033 SS: 0068 Dec 20 15:27:37 fs1 kernel: Process modprobe (pid: 10958, ti=f6bfe000 task=f70eb1b0 task.ti=f6bfe000) Dec 20 15:27:37 fs1 kernel: Stack: Dec 20 15:27:37 fs1 kernel: 72727563 f6bffe08 c1092f33 f814fcb0 f662e458 c1093018 f814fcb0 f662e458 Dec 20 15:27:37 fs1 kernel: 0 f6bffe08 c10930c2 f814fcb0 f662e458 fff4 f662e560 c1092c0a f662e560 Dec 20 15:27:37 fs1 kernel: 0 0001 f81507f4 f684d488 c109460e Dec 20 15:27:37 fs1 kernel: Call Trace: Dec 20 15:27:37 fs1 kernel: [c1092f33] ? sysfs_find_dirent+0x13/0x23 Dec 20 15:27:37 fs1 kernel: [c1093018] ? __sysfs_add_one+0x11/0x81 Dec 20 15:27:37 fs1 kernel: [c10930c2] ? sysfs_add_one+0xd/0x70 Dec 20 15:27:37 fs1 kernel: [c1092c0a] ? sysfs_add_file_mode+0x3f/0x66 Dec 20 15:27:37 fs1 kernel: [c109460e] ? internal_create_group+0xd0/0x140 Dec 20 15:27:37 fs1 kernel: [f814f7b4] ? ir_register_class+0x64/0x92 [ir_core] Dec 20 15:27:37 fs1 kernel: [f814f32b] ? ir_input_register+0x133/0x176 [ir_core] Dec 20 15:27:37 fs1 kernel: [f8206d08] ? budget_ci_attach+0x1fa/0xb0c [budget_ci] Dec 20 15:27:37 fs1 kernel: [f81642ea] ? saa7146_init_one+0x4ea/0x6cb [saa7146] Dec 20 15:27:37 fs1 kernel: [c10930c2] ? sysfs_add_one+0xd/0x70 Dec 20 15:27:37 fs1 kernel: [c111a55d] ? local_pci_probe+0xb/0xc Dec 20 15:27:37 fs1 kernel: [c111aba1] ? pci_device_probe+0x41/0x63 Dec 20 15:27:37 fs1 kernel: [c115f5d2] ? driver_probe_device+0x75/0xfc Dec 20 15:27:37 fs1 kernel: [c115f699] ? __driver_attach+0x40/0x5b Dec 20 15:27:37 fs1 kernel: [c115f055] ? bus_for_each_dev+0x37/0x5f Dec 20 15:27:37 fs1 kernel: [c115f4ba] ? driver_attach+0x11/0x13 Dec 20 15:27:37 fs1 kernel: [c115f659] ? __driver_attach+0x0/0x5b Dec 20 15:27:37 fs1 kernel: [c115eaea] ? bus_add_driver+0x99/0x1bc Dec 20 15:27:37 fs1 kernel: [c115f8b3] ? driver_register+0x87/0xe0 Dec 20 15:27:37 fs1 kernel: [c111aeea] ? __pci_register_driver+0x2c/0x82 Dec 20 15:27:37 fs1 kernel: [f820d000] ? budget_ci_init+0x0/0xa [budget_ci] Dec 20 15:27:37 fs1 kernel: [c100112b] ? do_one_initcall+0x43/0x11f Dec 20 15:27:37 fs1 kernel: [c1036773] ? sys_init_module+0xa7/0x1b4 Dec 20 15:27:37 fs1 kernel: [c10028f4] ? sysenter_do_call+0x12/0x26 Dec 20 15:27:37 fs1 kernel: Code: 04 31 db 89 0c 24 89 d8 89 d1 f2 ae 4f 8b 0c 24 49 78 06 ac aa 84 c0 75 f7 31 c0 aa 5b 89 e8 5b 5e 5f 5d c3 57 89 d7 56 89 c6 ac ae 75 08 84 c0 75 f8 31 c0 eb 04 19 c0 0c 01 5e 5f c3 57 89 d7 Dec 20 15:27:37 fs1 kernel: EIP: [cf36] strcmp+0x7/0x19 SS:ESP 0068:f6bffdcc Dec 20
tt s2-3200: dvb-s2 problem transponders fixed :) concerns SR 30000 3/4 8psk mode
thanks to Andreas Regel + Manu Abraham for their work. I just tested those problem transponders. If I set SR to 29998 instead of 3 they finally work with recent s2-liplian changeset. Thank you for your great work and thanks to all the others involved in v4l driver development. kind regards Newsy __ Do You Yahoo!? Sie sind Spam leid? Yahoo! Mail verfügt über einen herausragenden Schutz gegen Massenmails. http://mail.yahoo.com -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: How to make a Zaapa LR301AP DVB-T card work
Antonio, the report for tda10046 firmware loading is missing. Was that OK? Yes: tda1004x: setting up plls for 48MHz sampling clock tda1004x: found firmware revision 29 -- ok LR301 is a LifeView design. It is very common to see multiple other subvendors for their cards, but they keep the original subdevice ID. In this case 0x0301. The subvendor 0x4e42 is usually Typhoon/Anubis and they are distributing clones of almost all LifeView cards. Gpio init is the same like on the other known LR301 cards and eeprom differs only for a few bytes, but not for tuner type, tuner and demod address. http://ubuntuforums.org/archive/index.php/t-328140.html Since this design with a saa7134 chip and tda8274 DVB-T only tuner is very old, I don't expect an additional Low Noise Amplifier on it. We can't detect such LNAs and on newer cards they can cause problems, if not configured correctly and might cause scan to fail. If you mean above other card types did previously work for your card, use them and report. No, I meant other physical cards. Just to ensure it is not likely to be an aerial problem. Sorry, I don't have better ideas for your card so far. I have not included the tuner parameter in the options line which I think it could be the problem. Is this parameter mandatory? If so, which is the proper one? Cheers, Antonio -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: em28xx driver - xc3028 tuner - readreg error
2009/12/22 Devin Heitmueller dheitmuel...@kernellabs.com: On Tue, Dec 22, 2009 at 10:11 AM, Valerio Bontempi valerio.bonte...@gmail.com wrote: Before the update, v4l-dvb driver worked fine, and now it doesn't work even if I remove the updated packages. Checking for kernel modules conflict, I found only the modules installed by v4l-dvb sources. #find /lib/modules/`uname -r` -name 'em28xx*' | xargs -i ls -l {} totale 236 -rw-r--r-- 1 root root 21464 22 dic 16:03 /lib/modules/2.6.31.5-0.1-desktop/kernel/drivers/media/video/em28xx/em28xx-alsa.ko -rw-r--r-- 1 root root 26176 22 dic 16:03 /lib/modules/2.6.31.5-0.1-desktop/kernel/drivers/media/video/em28xx/em28xx-dvb.ko -rw-r--r-- 1 root root 184936 22 dic 16:03 /lib/modules/2.6.31.5-0.1-desktop/kernel/drivers/media/video/em28xx/em28xx.ko My guess is that these files were provided by your distro through a kernel update (and in 2.6.31 this board is known to have problems which have been fixed in the latest v4l-dvb tree). I would suggest the following going into your v4l-dvb tree and doing the following: make distclean make make install reboot And see if the problem clears up. Devin -- Devin J. Heitmueller - Kernel Labs http://www.kernellabs.com This is just I have done after removing the update packages (all related to v4l libs and tools, none related to opensuse kernel), but with no luck However I have just tried what you suggested, but the problem hasn't been cleared up [7.276755] em28xx: New device TerraTec Electronic GmbH Cinergy T USB XS @ 480 Mbps (0ccd:0043, interface 0, class 0) [7.276993] em28xx #0: chip ID is em2870 [7.310070] vc032x: Sensor ID 7673 (16) [7.310075] vc032x: Find Sensor OV7670 [7.310187] gspca: /dev/video0 created [7.310224] usbcore: registered new interface driver vc032x [7.310228] vc032x: registered [7.394941] em28xx #0: i2c eeprom 00: 1a eb 67 95 cd 0c 43 00 c0 12 5c 00 9e 24 6a 34 [7.394956] em28xx #0: i2c eeprom 10: 00 00 06 57 02 0c 00 00 00 00 00 00 00 00 00 00 [7.394967] em28xx #0: i2c eeprom 20: 44 00 00 00 f0 10 01 00 00 00 00 00 5b 00 00 00 [7.394977] em28xx #0: i2c eeprom 30: 00 00 20 40 20 80 02 20 01 01 00 00 00 00 00 00 [7.394988] em28xx #0: i2c eeprom 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [7.394998] em28xx #0: i2c eeprom 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [7.395008] em28xx #0: i2c eeprom 60: 00 00 00 00 00 00 00 00 00 00 34 03 54 00 65 00 [7.395021] em28xx #0: i2c eeprom 70: 72 00 72 00 61 00 54 00 65 00 63 00 20 00 45 00 [7.395032] em28xx #0: i2c eeprom 80: 6c 00 65 00 63 00 74 00 72 00 6f 00 6e 00 69 00 [7.395042] em28xx #0: i2c eeprom 90: 63 00 20 00 47 00 6d 00 62 00 48 00 00 00 24 03 [7.395052] em28xx #0: i2c eeprom a0: 43 00 69 00 6e 00 65 00 72 00 67 00 79 00 20 00 [7.395063] em28xx #0: i2c eeprom b0: 54 00 20 00 55 00 53 00 42 00 20 00 58 00 53 00 [7.395074] em28xx #0: i2c eeprom c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [7.395084] em28xx #0: i2c eeprom d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [7.395094] em28xx #0: i2c eeprom e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [7.395104] em28xx #0: i2c eeprom f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [7.395116] em28xx #0: EEPROM ID= 0x9567eb1a, EEPROM hash = 0xbfdf1b96 [7.395119] em28xx #0: EEPROM info: [7.395120] em28xx #0: No audio on board. [7.395122] em28xx #0: 500mA max power [7.395125] em28xx #0: Table at 0x06, strings=0x249e, 0x346a, 0x [7.395813] em28xx #0: Identified as Terratec Cinergy T XS (card=43) [7.395816] em28xx #0: [7.395816] [7.395830] em28xx #0: The support for this board weren't valid yet. [7.395838] em28xx #0: Please send a report of having this working [7.395845] em28xx #0: not to V4L mailing list (and/or to other addresses) [7.395846] [7.412090] forcedeth :00:0a.0: ifname eth0, PHY OUI 0x1374 @ 0, addr 00:1a:92:34:d4:d7 [7.412096] forcedeth :00:0a.0: highdma csum gbit lnktim desc-v3 [7.412275] k8temp :00:18.3: Temperature readouts might be wrong - check erratum #141 [7.414043] EDAC amd64: This node reports that Memory ECC is currently disabled. [7.414048] EDAC amd64: bit 0x40 in register F3x44 of the MISC_CONTROL device (:00:18.3) should be enabled [7.414051] EDAC amd64: WARNING: ECC is NOT currently enabled by the BIOS. Module will NOT be loaded. [7.414053] Either Enable ECC in the BIOS, or use the 'ecc_enable_override' parameter. [7.414055] Might be a BIOS bug, if BIOS says ECC is enabled [7.414056] Use of the override can cause unknown side effects. [7.414073] amd64_edac: probe of :00:18.2 failed with error -22 [7.501404] usbcore: registered new interface driver snd-usb-audio [7.843367] tuner 2-0061: chip found @ 0xc2 (em28xx #0) [8.123514] xc2028 2-0061: creating new instance [8.123519]
[RFC v2 0/7] V4L2 file handles and event interface
Hi, Here's the second version of the V4L2 file handle and event interface patchset. Still RFC since I'd like to get more feedback on it. The first patch adds the V4L2 file handle support and the rest are for V4L2 events. The patchset works with the OMAP 3 ISP driver. Patches for OMAP 3 ISP are not part of this patchset but are available in Gitorious (branch is called events): git://gitorious.org/omap3camera/mainline.git event The major change since the last one v4l2_fh structure is now part of driver's own file handle. It's used as file-private_data as well. I did this based on Hans Verkuil's suggestion. Sequence numbers and event queue length limitation is there as well. There are countless of smaller changes, too. A few notes on the patches: - I don't like the locking too much. Perhaps the file handle specific lock (events-lock) could be dropped in favour of the lock for v4l2_file_handle in video_device? - Poll. The V4L2 specifiction says: When the application did not call VIDIOC_QBUF or VIDIOC_STREAMON yet the poll() function succeeds, but sets the POLLERR flag in the revents field. The current events for OMAP 3 ISP are related to streaming but not all might be in future. For example there might be some radio or DVB related events. - Sequence numbers are local to file handles. - Subscribing V4L2_EVENT_ALL causes any other events to be unsubscribed. - If V4L2_EVENT_ALL has been subscribed, unsubscribing any one of the events leads to V4L2_EVENT_ALL to be unsubscribed. This problem would be difficult to work around since this would require the event system to be aware of the driver private events as well. - If events are missed, the sequence number is incremented in any case. This way the user space knows events have been missed. Comments would be very, very welcome. Cheers, -- Sakari Ailus sakari.ai...@maxwell.research.nokia.com -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[RFC v2 7/7] V4L: Events: Support all events
Add support for subscribing V4L2_EVENT_ALL. After V4L2_EVENT_ALL is subscribed, unsubscribing any event leads to unsubscription of all events. Signed-off-by: Sakari Ailus sakari.ai...@maxwell.research.nokia.com --- drivers/media/video/v4l2-event.c | 34 -- 1 files changed, 24 insertions(+), 10 deletions(-) diff --git a/drivers/media/video/v4l2-event.c b/drivers/media/video/v4l2-event.c index cc2bf57..95b3917 100644 --- a/drivers/media/video/v4l2-event.c +++ b/drivers/media/video/v4l2-event.c @@ -62,6 +62,22 @@ void v4l2_event_init_fh(struct v4l2_fh *fh) } EXPORT_SYMBOL_GPL(v4l2_event_init_fh); +static void __v4l2_event_unsubscribe_all(struct v4l2_fh *fh) +{ + struct v4l2_events *events = fh-events; + + while (!list_empty(events-subscribed)) { + struct v4l2_subscribed_event *sub; + + sub = list_entry(events-subscribed.next, + struct v4l2_subscribed_event, list); + + list_del(sub-list); + + kfree(sub); + } +} + void v4l2_event_exit_fh(struct v4l2_fh *fh) { struct v4l2_events *events = fh-events; @@ -77,16 +93,7 @@ void v4l2_event_exit_fh(struct v4l2_fh *fh) kmem_cache_free(event_kmem, ev); } - while (!list_empty(events-subscribed)) { - struct v4l2_subscribed_event *sub; - - sub = list_entry(events-subscribed.next, - struct v4l2_subscribed_event, list); - - list_del(sub-list); - - kfree(sub); - } + __v4l2_event_unsubscribe_all(fh); } EXPORT_SYMBOL_GPL(v4l2_event_exit_fh); @@ -125,6 +132,11 @@ static struct v4l2_subscribed_event *__v4l2_event_subscribed( struct v4l2_events *events = fh-events; struct v4l2_subscribed_event *ev; + ev = container_of(events-subscribed.next, + struct v4l2_subscribed_event, list); + if (ev-type == V4L2_EVENT_ALL) + return ev; + list_for_each_entry(ev, events-subscribed, list) { if (ev-type == type) return ev; @@ -237,6 +249,8 @@ int v4l2_event_subscribe(struct v4l2_fh *fh, INIT_LIST_HEAD(ev-list); ev-type = sub-type; + if (ev-type == V4L2_EVENT_ALL) + __v4l2_event_unsubscribe_all(fh); list_add(ev-list, events-subscribed); out: -- 1.5.6.5 -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[RFC v2 3/7] V4L: Events: Support event handling in do_ioctl
Add support for event handling to do_ioctl. Signed-off-by: Sakari Ailus sakari.ai...@maxwell.research.nokia.com --- drivers/media/video/v4l2-ioctl.c | 48 ++ include/media/v4l2-ioctl.h |9 +++ 2 files changed, 57 insertions(+), 0 deletions(-) diff --git a/drivers/media/video/v4l2-ioctl.c b/drivers/media/video/v4l2-ioctl.c index bfc4696..6964bcc 100644 --- a/drivers/media/video/v4l2-ioctl.c +++ b/drivers/media/video/v4l2-ioctl.c @@ -1797,7 +1797,55 @@ static long __video_do_ioctl(struct file *file, } break; } + case VIDIOC_DQEVENT: + { + struct v4l2_event *ev = arg; + + if (!ops-vidioc_dqevent) + break; + + ret = ops-vidioc_dqevent(file-private_data, ev); + if (ret 0) { + dbgarg(cmd, no pending events?); + break; + } + dbgarg(cmd, + count=%d, type=0x%8.8x, sequence=%d, + timestamp=%lu.%9.9lu , + ev-count, ev-type, ev-sequence, + ev-timestamp.tv_sec, ev-timestamp.tv_nsec); + break; + } + case VIDIOC_SUBSCRIBE_EVENT: + { + struct v4l2_event_subscription *sub = arg; + if (!ops-vidioc_subscribe_event) + break; + + ret = ops-vidioc_subscribe_event(file-private_data, sub); + if (ret 0) { + dbgarg(cmd, failed, ret=%ld, ret); + break; + } + dbgarg(cmd, type=0x%8.8x, sub-type); + break; + } + case VIDIOC_UNSUBSCRIBE_EVENT: + { + struct v4l2_event_subscription *sub = arg; + + if (!ops-vidioc_unsubscribe_event) + break; + + ret = ops-vidioc_unsubscribe_event(file-private_data, sub); + if (ret 0) { + dbgarg(cmd, failed, ret=%ld, ret); + break; + } + dbgarg(cmd, type=0x%8.8x, sub-type); + break; + } default: { if (!ops-vidioc_default) diff --git a/include/media/v4l2-ioctl.h b/include/media/v4l2-ioctl.h index 7a4529d..29dd64b 100644 --- a/include/media/v4l2-ioctl.h +++ b/include/media/v4l2-ioctl.h @@ -21,6 +21,8 @@ #include linux/videodev2.h #endif +struct v4l2_fh; + struct v4l2_ioctl_ops { /* ioctl callbacks */ @@ -239,6 +241,13 @@ struct v4l2_ioctl_ops { int (*vidioc_enum_frameintervals) (struct file *file, void *fh, struct v4l2_frmivalenum *fival); + int (*vidioc_dqevent) (struct v4l2_fh *fh, + struct v4l2_event *ev); + int (*vidioc_subscribe_event) (struct v4l2_fh *fh, + struct v4l2_event_subscription *sub); + int (*vidioc_unsubscribe_event) (struct v4l2_fh *fh, +struct v4l2_event_subscription *sub); + /* For other private ioctls */ long (*vidioc_default) (struct file *file, void *fh, int cmd, void *arg); -- 1.5.6.5 -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[RFC v2 2/7] V4L: Events: Add new ioctls for events
This patch adds a set of new ioctls to the V4L2 API. The ioctls conform to V4L2 Events RFC version 2.3: URL:http://www.spinics.net/lists/linux-media/msg12033.html Signed-off-by: Sakari Ailus sakari.ai...@maxwell.research.nokia.com --- drivers/media/video/v4l2-compat-ioctl32.c |3 +++ drivers/media/video/v4l2-ioctl.c |3 +++ include/linux/videodev2.h | 24 3 files changed, 30 insertions(+), 0 deletions(-) diff --git a/drivers/media/video/v4l2-compat-ioctl32.c b/drivers/media/video/v4l2-compat-ioctl32.c index 997975d..cba704c 100644 --- a/drivers/media/video/v4l2-compat-ioctl32.c +++ b/drivers/media/video/v4l2-compat-ioctl32.c @@ -1077,6 +1077,9 @@ long v4l2_compat_ioctl32(struct file *file, unsigned int cmd, unsigned long arg) case VIDIOC_DBG_G_REGISTER: case VIDIOC_DBG_G_CHIP_IDENT: case VIDIOC_S_HW_FREQ_SEEK: + case VIDIOC_DQEVENT: + case VIDIOC_SUBSCRIBE_EVENT: + case VIDIOC_UNSUBSCRIBE_EVENT: ret = do_video_ioctl(file, cmd, arg); break; diff --git a/drivers/media/video/v4l2-ioctl.c b/drivers/media/video/v4l2-ioctl.c index 30cc334..bfc4696 100644 --- a/drivers/media/video/v4l2-ioctl.c +++ b/drivers/media/video/v4l2-ioctl.c @@ -283,6 +283,9 @@ static const char *v4l2_ioctls[] = { [_IOC_NR(VIDIOC_DBG_G_CHIP_IDENT)] = VIDIOC_DBG_G_CHIP_IDENT, [_IOC_NR(VIDIOC_S_HW_FREQ_SEEK)] = VIDIOC_S_HW_FREQ_SEEK, + [_IOC_NR(VIDIOC_DQEVENT)] = VIDIOC_DQEVENT, + [_IOC_NR(VIDIOC_SUBSCRIBE_EVENT)] = VIDIOC_SUBSCRIBE_EVENT, + [_IOC_NR(VIDIOC_UNSUBSCRIBE_EVENT)] = VIDIOC_UNSUBSCRIBE_EVENT, #endif }; #define V4L2_IOCTLS ARRAY_SIZE(v4l2_ioctls) diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h index 54af357..9ae9a1c 100644 --- a/include/linux/videodev2.h +++ b/include/linux/videodev2.h @@ -1536,6 +1536,27 @@ struct v4l2_streamparm { }; /* + * E V E N T S + */ + +struct v4l2_event { + __u32 count; + __u32 type; + __u32 sequence; + struct timespec timestamp; + __u32 reserved[9]; + __u8data[64]; +}; + +struct v4l2_event_subscription { + __u32 type; + __u32 reserved[7]; +}; + +#define V4L2_EVENT_ALL 0 +#define V4L2_EVENT_PRIVATE_START 0x0800 + +/* * A D V A N C E D D E B U G G I N G * * NOTE: EXPERIMENTAL API, NEVER RELY ON THIS IN APPLICATIONS! @@ -1651,6 +1672,9 @@ struct v4l2_dbg_chip_ident { #endif #define VIDIOC_S_HW_FREQ_SEEK _IOW('V', 82, struct v4l2_hw_freq_seek) +#define VIDIOC_DQEVENT _IOR('V', 83, struct v4l2_event) +#define VIDIOC_SUBSCRIBE_EVENT _IOW('V', 84, struct v4l2_event_subscription) +#define VIDIOC_UNSUBSCRIBE_EVENT _IOW('V', 85, struct v4l2_event_subscription) /* Reminder: when adding new ioctls please add support for them to drivers/media/video/v4l2-compat-ioctl32.c as well! */ -- 1.5.6.5 -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[RFC v2 5/7] V4L: Events: Limit event queue length
Limit event queue length to V4L2_MAX_EVENTS. If the queue is full any further events will be dropped. This patch also updates the count field properly, setting it to exactly to number of further available events. Signed-off-by: Sakari Ailus sakari.ai...@maxwell.research.nokia.com --- drivers/media/video/v4l2-event.c | 10 +- include/media/v4l2-event.h |5 + 2 files changed, 14 insertions(+), 1 deletions(-) diff --git a/drivers/media/video/v4l2-event.c b/drivers/media/video/v4l2-event.c index 9fc0c81..72fdf7f 100644 --- a/drivers/media/video/v4l2-event.c +++ b/drivers/media/video/v4l2-event.c @@ -56,6 +56,8 @@ void v4l2_event_init_fh(struct v4l2_fh *fh) INIT_LIST_HEAD(events-available); INIT_LIST_HEAD(events-subscribed); + + atomic_set(events-navailable, 0); } EXPORT_SYMBOL_GPL(v4l2_event_init_fh); @@ -103,7 +105,8 @@ int v4l2_event_dequeue(struct v4l2_fh *fh, struct v4l2_event *event) ev = list_first_entry(events-available, struct _v4l2_event, list); list_del(ev-list); - ev-event.count = !list_empty(events-available); + atomic_dec(events-navailable); + ev-event.count = atomic_read(events-navailable); spin_unlock_irqrestore(events-lock, flags); @@ -159,6 +162,9 @@ void v4l2_event_queue(struct video_device *vdev, struct v4l2_event *ev) if (!v4l2_event_subscribed(fh, ev-type)) continue; + if (atomic_read(fh-events.navailable) = V4L2_MAX_EVENTS) + continue; + _ev = kmem_cache_alloc(event_kmem, GFP_ATOMIC); if (!_ev) continue; @@ -169,6 +175,8 @@ void v4l2_event_queue(struct video_device *vdev, struct v4l2_event *ev) list_add_tail(_ev-list, fh-events.available); spin_unlock(fh-events.lock); + atomic_inc(fh-events.navailable); + wake_up_all(fh-events.wait); } diff --git a/include/media/v4l2-event.h b/include/media/v4l2-event.h index b11de92..69305c6 100644 --- a/include/media/v4l2-event.h +++ b/include/media/v4l2-event.h @@ -28,6 +28,10 @@ #include linux/types.h #include linux/videodev2.h +#include asm/atomic.h + +#define V4L2_MAX_EVENTS1024 /* Ought to be enough for everyone. */ + struct v4l2_fh; struct video_device; @@ -39,6 +43,7 @@ struct _v4l2_event { struct v4l2_events { spinlock_t lock; /* Protect everything here. */ struct list_headavailable; + atomic_tnavailable; wait_queue_head_t wait; struct list_headsubscribed; /* Subscribed events. */ }; -- 1.5.6.5 -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[RFC v2 4/7] V4L: Events: Add backend
Add event handling backend to V4L2. The backend handles event subscription and delivery to file handles. Event subscriptions are based on file handle. Events may be delivered to all subscribed file handles on a device independent of where they originate from. Signed-off-by: Sakari Ailus sakari.ai...@maxwell.research.nokia.com --- drivers/media/video/Makefile |3 +- drivers/media/video/v4l2-dev.c | 21 +++- drivers/media/video/v4l2-event.c | 254 ++ drivers/media/video/v4l2-fh.c|4 + include/media/v4l2-event.h | 65 ++ include/media/v4l2-fh.h |3 + 6 files changed, 346 insertions(+), 4 deletions(-) create mode 100644 drivers/media/video/v4l2-event.c create mode 100644 include/media/v4l2-event.h diff --git a/drivers/media/video/Makefile b/drivers/media/video/Makefile index 1947146..dd6a853 100644 --- a/drivers/media/video/Makefile +++ b/drivers/media/video/Makefile @@ -10,7 +10,8 @@ stkwebcam-objs:= stk-webcam.o stk-sensor.o omap2cam-objs := omap24xxcam.o omap24xxcam-dma.o -videodev-objs := v4l2-dev.o v4l2-ioctl.o v4l2-device.o v4l2-fh.o +videodev-objs := v4l2-dev.o v4l2-ioctl.o v4l2-device.o v4l2-fh.o \ + v4l2-event.o # V4L2 core modules diff --git a/drivers/media/video/v4l2-dev.c b/drivers/media/video/v4l2-dev.c index 15b2ac8..6d25297 100644 --- a/drivers/media/video/v4l2-dev.c +++ b/drivers/media/video/v4l2-dev.c @@ -613,22 +613,36 @@ static int __init videodev_init(void) dev_t dev = MKDEV(VIDEO_MAJOR, 0); int ret; + ret = v4l2_event_init(); + if (ret 0) { + printk(KERN_WARNING videodev: unable to initialise events\n); + return ret; + } + printk(KERN_INFO Linux video capture interface: v2.00\n); ret = register_chrdev_region(dev, VIDEO_NUM_DEVICES, VIDEO_NAME); if (ret 0) { printk(KERN_WARNING videodev: unable to get major %d\n, VIDEO_MAJOR); - return ret; + goto out_register_chrdev_region; } ret = class_register(video_class); if (ret 0) { - unregister_chrdev_region(dev, VIDEO_NUM_DEVICES); printk(KERN_WARNING video_dev: class_register failed\n); - return -EIO; + ret = -EIO; + goto out_class_register; } return 0; + +out_class_register: + unregister_chrdev_region(dev, VIDEO_NUM_DEVICES); + +out_register_chrdev_region: + v4l2_event_exit(); + + return ret; } static void __exit videodev_exit(void) @@ -637,6 +651,7 @@ static void __exit videodev_exit(void) class_unregister(video_class); unregister_chrdev_region(dev, VIDEO_NUM_DEVICES); + v4l2_event_exit(); } module_init(videodev_init) diff --git a/drivers/media/video/v4l2-event.c b/drivers/media/video/v4l2-event.c new file mode 100644 index 000..9fc0c81 --- /dev/null +++ b/drivers/media/video/v4l2-event.c @@ -0,0 +1,254 @@ +/* + * drivers/media/video/v4l2-event.c + * + * V4L2 events. + * + * Copyright (C) 2009 Nokia Corporation. + * + * Contact: Sakari Ailus sakari.ai...@maxwell.research.nokia.com + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * version 2 as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + * 02110-1301 USA + */ + +#include media/v4l2-dev.h +#include media/v4l2-event.h + +#include linux/sched.h + +static struct kmem_cache *event_kmem; + +int v4l2_event_init(void) +{ + event_kmem = kmem_cache_create(event_kmem, + sizeof(struct _v4l2_event), 0, + SLAB_HWCACHE_ALIGN, + NULL); + + if (!event_kmem) + return -ENOMEM; + + return 0; +} + +void v4l2_event_exit(void) +{ + kmem_cache_destroy(event_kmem); +} + +void v4l2_event_init_fh(struct v4l2_fh *fh) +{ + struct v4l2_events *events = fh-events; + + init_waitqueue_head(events-wait); + spin_lock_init(events-lock); + + INIT_LIST_HEAD(events-available); + INIT_LIST_HEAD(events-subscribed); +} +EXPORT_SYMBOL_GPL(v4l2_event_init_fh); + +void v4l2_event_exit_fh(struct v4l2_fh *fh) +{ + struct v4l2_events *events = fh-events; + + while (!list_empty(events-available)) { + struct _v4l2_event *ev; + +
[RFC v2 6/7] V4L: Events: Sequence numbers
Add sequence numbers to events. Signed-off-by: Sakari Ailus sakari.ai...@maxwell.research.nokia.com --- drivers/media/video/v4l2-event.c |8 include/media/v4l2-event.h |1 + 2 files changed, 9 insertions(+), 0 deletions(-) diff --git a/drivers/media/video/v4l2-event.c b/drivers/media/video/v4l2-event.c index 72fdf7f..cc2bf57 100644 --- a/drivers/media/video/v4l2-event.c +++ b/drivers/media/video/v4l2-event.c @@ -58,6 +58,7 @@ void v4l2_event_init_fh(struct v4l2_fh *fh) INIT_LIST_HEAD(events-subscribed); atomic_set(events-navailable, 0); + events-sequence = 0; } EXPORT_SYMBOL_GPL(v4l2_event_init_fh); @@ -158,10 +159,16 @@ void v4l2_event_queue(struct video_device *vdev, struct v4l2_event *ev) list_for_each_entry(fh, vdev-fh, list) { struct _v4l2_event *_ev; + u32 sequence; if (!v4l2_event_subscribed(fh, ev-type)) continue; + spin_lock(fh-events.lock); + sequence = fh-events.sequence; + fh-events.sequence++; + spin_unlock(fh-events.lock); + if (atomic_read(fh-events.navailable) = V4L2_MAX_EVENTS) continue; @@ -172,6 +179,7 @@ void v4l2_event_queue(struct video_device *vdev, struct v4l2_event *ev) _ev-event = *ev; spin_lock(fh-events.lock); + _ev-event.sequence = sequence; list_add_tail(_ev-list, fh-events.available); spin_unlock(fh-events.lock); diff --git a/include/media/v4l2-event.h b/include/media/v4l2-event.h index 69305c6..5a778d4 100644 --- a/include/media/v4l2-event.h +++ b/include/media/v4l2-event.h @@ -44,6 +44,7 @@ struct v4l2_events { spinlock_t lock; /* Protect everything here. */ struct list_headavailable; atomic_tnavailable; + u32 sequence; wait_queue_head_t wait; struct list_headsubscribed; /* Subscribed events. */ }; -- 1.5.6.5 -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[RFC v2 1/7] V4L: File handles
This patch adds a list of v4l2_fh structures to every video_device. It allows using file handle related information in V4L2. The event interface is one example of such use. Video device drivers should use the v4l2_fh pointer as their file-private_data. Signed-off-by: Sakari Ailus sakari.ai...@maxwell.research.nokia.com --- drivers/media/video/Makefile |2 +- drivers/media/video/v4l2-dev.c |2 + drivers/media/video/v4l2-fh.c | 57 include/media/v4l2-dev.h |4 +++ include/media/v4l2-fh.h| 41 5 files changed, 105 insertions(+), 1 deletions(-) create mode 100644 drivers/media/video/v4l2-fh.c create mode 100644 include/media/v4l2-fh.h diff --git a/drivers/media/video/Makefile b/drivers/media/video/Makefile index a61e3f3..1947146 100644 --- a/drivers/media/video/Makefile +++ b/drivers/media/video/Makefile @@ -10,7 +10,7 @@ stkwebcam-objs:= stk-webcam.o stk-sensor.o omap2cam-objs := omap24xxcam.o omap24xxcam-dma.o -videodev-objs := v4l2-dev.o v4l2-ioctl.o v4l2-device.o +videodev-objs := v4l2-dev.o v4l2-ioctl.o v4l2-device.o v4l2-fh.o # V4L2 core modules diff --git a/drivers/media/video/v4l2-dev.c b/drivers/media/video/v4l2-dev.c index 7090699..15b2ac8 100644 --- a/drivers/media/video/v4l2-dev.c +++ b/drivers/media/video/v4l2-dev.c @@ -421,6 +421,8 @@ static int __video_register_device(struct video_device *vdev, int type, int nr, if (!vdev-release) return -EINVAL; + v4l2_fh_init(vdev); + /* Part 1: check device type */ switch (type) { case VFL_TYPE_GRABBER: diff --git a/drivers/media/video/v4l2-fh.c b/drivers/media/video/v4l2-fh.c new file mode 100644 index 000..406e4ac --- /dev/null +++ b/drivers/media/video/v4l2-fh.c @@ -0,0 +1,57 @@ +/* + * drivers/media/video/v4l2-fh.c + * + * V4L2 file handles. + * + * Copyright (C) 2009 Nokia Corporation. + * + * Contact: Sakari Ailus sakari.ai...@maxwell.research.nokia.com + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * version 2 as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + * 02110-1301 USA + */ + +#include media/v4l2-dev.h +#include media/v4l2-fh.h + +#include linux/sched.h +#include linux/vmalloc.h + +int v4l2_fh_add(struct video_device *vdev, struct v4l2_fh *fh) +{ + unsigned long flags; + + spin_lock_irqsave(vdev-fh_lock, flags); + list_add(fh-list, vdev-fh); + spin_unlock_irqrestore(vdev-fh_lock, flags); + + return 0; +} +EXPORT_SYMBOL_GPL(v4l2_fh_add); + +void v4l2_fh_del(struct video_device *vdev, struct v4l2_fh *fh) +{ + unsigned long flags; + + spin_lock_irqsave(vdev-fh_lock, flags); + list_del(fh-list); + spin_unlock_irqrestore(vdev-fh_lock, flags); +} +EXPORT_SYMBOL_GPL(v4l2_fh_del); + +void v4l2_fh_init(struct video_device *vdev) +{ + spin_lock_init(vdev-fh_lock); + INIT_LIST_HEAD(vdev-fh); +} diff --git a/include/media/v4l2-dev.h b/include/media/v4l2-dev.h index 2dee938..8eac93d 100644 --- a/include/media/v4l2-dev.h +++ b/include/media/v4l2-dev.h @@ -16,6 +16,8 @@ #include linux/mutex.h #include linux/videodev2.h +#include media/v4l2-fh.h + #define VIDEO_MAJOR81 #define VFL_TYPE_GRABBER 0 @@ -77,6 +79,8 @@ struct video_device /* attribute to differentiate multiple indices on one physical device */ int index; + spinlock_t fh_lock; /* Lock for file handle list */ + struct list_head fh;/* File handle list */ int debug; /* Activates debug level*/ /* Video standard vars */ diff --git a/include/media/v4l2-fh.h b/include/media/v4l2-fh.h new file mode 100644 index 000..1efa916 --- /dev/null +++ b/include/media/v4l2-fh.h @@ -0,0 +1,41 @@ +/* + * include/media/v4l2-fh.h + * + * V4L2 file handle. + * + * Copyright (C) 2009 Nokia Corporation. + * + * Contact: Sakari Ailus sakari.ai...@maxwell.research.nokia.com + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * version 2 as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details.
Re: tt s2-3200: dvb-s2 problem transponders fixed :) concerns SR 30000 3/4 8psk mode
Newsy Paper a écrit : thanks to Andreas Regel + Manu Abraham for their work. I just tested those problem transponders. If I set SR to 29998 instead of 3 they finally work with recent s2-liplian changeset. Thank you for your great work and thanks to all the others involved in v4l driver development. Then I guess this is related to a computation being abit off (3 is probably a threshold also). I any case I still have to add 4MHz to the frequencies (with DVB-S) to get a reliable lock with tt s2-3200 (kernel is ubuntu 2.6.31.4) Bye Manu -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: flicker/jumpy at the bottom of the video
On Mon, 23 Nov 2009 15:00:09 +0530 (IST) Purushottam R S purushottam_...@yahoo.com wrote: I am using latest gspca driver from dvb for camera driver. But I see bottom of the video has flickering/jumping effect. I have Zippys web camera, which is from Z-Star. I have loaded the following drivers. 1. gspca_zc3xx 44832 0 - Live 0xbf01f000 2. gspca_main 23840 1 gspca_zc3xx, Live 0xbf014000 3. videodev 36672 1 gspca_main, Live 0xbf006000 4. v4l1_compat 14788 1 videodev, Live 0xbf00 But otherwise there is no issue with video. Hello Purush, Sorry for the delay. We know that some webcams with Z-Star chips have such a problem, but it is a hardware problem and we did not find yet a way to fix it correctly... Best regards. -- Ken ar c'hentañ | ** Breizh ha Linux atav! ** Jef | http://moinejf.free.fr/ -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[cron job] v4l-dvb daily build 2.6.22 and up: ERRORS, 2.6.16-2.6.21: ERRORS
This message is generated daily by a cron job that builds v4l-dvb for the kernels and architectures in the list below. Results of the daily build of v4l-dvb: date:Tue Dec 22 19:00:02 CET 2009 path:http://www.linuxtv.org/hg/v4l-dvb changeset: 13836:9defbd461e5f gcc version: gcc (GCC) 4.3.1 hardware:x86_64 host os: 2.6.26 linux-2.6.30-armv5: OK linux-2.6.31-armv5: OK linux-2.6.32-armv5: OK linux-2.6.32-armv5-davinci: OK linux-2.6.30-armv5-ixp: OK linux-2.6.31-armv5-ixp: OK linux-2.6.32-armv5-ixp: OK linux-2.6.30-armv5-omap2: OK linux-2.6.31-armv5-omap2: OK linux-2.6.32-armv5-omap2: OK linux-2.6.22.19-i686: ERRORS linux-2.6.23.12-i686: ERRORS linux-2.6.24.7-i686: ERRORS linux-2.6.25.11-i686: ERRORS linux-2.6.26-i686: WARNINGS linux-2.6.27-i686: ERRORS linux-2.6.28-i686: ERRORS linux-2.6.29.1-i686: ERRORS linux-2.6.30-i686: ERRORS linux-2.6.31-i686: ERRORS linux-2.6.32-i686: ERRORS linux-2.6.30-m32r: OK linux-2.6.31-m32r: OK linux-2.6.32-m32r: OK linux-2.6.30-mips: WARNINGS linux-2.6.31-mips: OK linux-2.6.32-mips: OK linux-2.6.30-powerpc64: WARNINGS linux-2.6.31-powerpc64: OK linux-2.6.32-powerpc64: WARNINGS linux-2.6.22.19-x86_64: ERRORS linux-2.6.23.12-x86_64: ERRORS linux-2.6.24.7-x86_64: ERRORS linux-2.6.25.11-x86_64: ERRORS linux-2.6.26-x86_64: WARNINGS linux-2.6.27-x86_64: OK linux-2.6.28-x86_64: OK linux-2.6.29.1-x86_64: WARNINGS linux-2.6.30-x86_64: OK linux-2.6.31-x86_64: WARNINGS linux-2.6.32-x86_64: WARNINGS spec: OK sparse (linux-2.6.32): ERRORS linux-2.6.16.61-i686: ERRORS linux-2.6.17.14-i686: ERRORS linux-2.6.18.8-i686: ERRORS linux-2.6.19.5-i686: ERRORS linux-2.6.20.21-i686: ERRORS linux-2.6.21.7-i686: ERRORS linux-2.6.16.61-x86_64: ERRORS linux-2.6.17.14-x86_64: ERRORS linux-2.6.18.8-x86_64: ERRORS linux-2.6.19.5-x86_64: ERRORS linux-2.6.20.21-x86_64: ERRORS linux-2.6.21.7-x86_64: ERRORS Detailed results are available here: http://www.xs4all.nl/~hverkuil/logs/Tuesday.log Full logs are available here: http://www.xs4all.nl/~hverkuil/logs/Tuesday.tar.bz2 The V4L-DVB specification from this daily build is here: http://www.xs4all.nl/~hverkuil/spec/media.html -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] drivers/media/dvb: Move a dereference below a NULL test
From: Julia Lawall ju...@diku.dk If the NULL test is necessary, then the dereference should be moved below the NULL test. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // smpl @@ type T; expression E; identifier i,fld; statement S; @@ - T i = E-fld; + T i; ... when != E when != i if (E == NULL) S + i = E-fld; // /smpl Signed-off-by: Julia Lawall ju...@diku.dk --- drivers/media/dvb/dvb-usb/dw2102.c |3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff -u -p a/drivers/media/dvb/dvb-usb/dw2102.c b/drivers/media/dvb/dvb-usb/dw2102.c --- a/drivers/media/dvb/dvb-usb/dw2102.c +++ b/drivers/media/dvb/dvb-usb/dw2102.c @@ -470,12 +470,13 @@ static int s6x0_i2c_transfer(struct i2c_ int num) { struct dvb_usb_device *d = i2c_get_adapdata(adap); - struct usb_device *udev = d-udev; + struct usb_device *udev; int ret = 0; int len, i, j; if (!d) return -ENODEV; + udev = d-udev; if (mutex_lock_interruptible(d-i2c_mutex) 0) return -EAGAIN; -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [RFC v2 4/7] V4L: Events: Add backend
On Tue, 2009-12-22 at 18:43 +0200, Sakari Ailus wrote: Add event handling backend to V4L2. The backend handles event subscription and delivery to file handles. Event subscriptions are based on file handle. Events may be delivered to all subscribed file handles on a device independent of where they originate from. Signed-off-by: Sakari Ailus sakari.ai...@maxwell.research.nokia.com --- drivers/media/video/Makefile |3 +- drivers/media/video/v4l2-dev.c | 21 +++- drivers/media/video/v4l2-event.c | 254 ++ drivers/media/video/v4l2-fh.c|4 + include/media/v4l2-event.h | 65 ++ include/media/v4l2-fh.h |3 + 6 files changed, 346 insertions(+), 4 deletions(-) create mode 100644 drivers/media/video/v4l2-event.c create mode 100644 include/media/v4l2-event.h diff --git a/drivers/media/video/Makefile b/drivers/media/video/Makefile index 1947146..dd6a853 100644 --- a/drivers/media/video/Makefile +++ b/drivers/media/video/Makefile @@ -10,7 +10,8 @@ stkwebcam-objs := stk-webcam.o stk-sensor.o omap2cam-objs:= omap24xxcam.o omap24xxcam-dma.o -videodev-objs:= v4l2-dev.o v4l2-ioctl.o v4l2-device.o v4l2-fh.o +videodev-objs:= v4l2-dev.o v4l2-ioctl.o v4l2-device.o v4l2-fh.o \ + v4l2-event.o # V4L2 core modules diff --git a/drivers/media/video/v4l2-dev.c b/drivers/media/video/v4l2-dev.c index 15b2ac8..6d25297 100644 --- a/drivers/media/video/v4l2-dev.c +++ b/drivers/media/video/v4l2-dev.c @@ -613,22 +613,36 @@ static int __init videodev_init(void) dev_t dev = MKDEV(VIDEO_MAJOR, 0); int ret; + ret = v4l2_event_init(); + if (ret 0) { + printk(KERN_WARNING videodev: unable to initialise events\n); + return ret; + } + printk(KERN_INFO Linux video capture interface: v2.00\n); ret = register_chrdev_region(dev, VIDEO_NUM_DEVICES, VIDEO_NAME); if (ret 0) { printk(KERN_WARNING videodev: unable to get major %d\n, VIDEO_MAJOR); - return ret; + goto out_register_chrdev_region; } ret = class_register(video_class); if (ret 0) { - unregister_chrdev_region(dev, VIDEO_NUM_DEVICES); printk(KERN_WARNING video_dev: class_register failed\n); - return -EIO; + ret = -EIO; + goto out_class_register; } return 0; + +out_class_register: + unregister_chrdev_region(dev, VIDEO_NUM_DEVICES); + +out_register_chrdev_region: + v4l2_event_exit(); + + return ret; } static void __exit videodev_exit(void) @@ -637,6 +651,7 @@ static void __exit videodev_exit(void) class_unregister(video_class); unregister_chrdev_region(dev, VIDEO_NUM_DEVICES); + v4l2_event_exit(); } module_init(videodev_init) diff --git a/drivers/media/video/v4l2-event.c b/drivers/media/video/v4l2-event.c new file mode 100644 index 000..9fc0c81 --- /dev/null +++ b/drivers/media/video/v4l2-event.c @@ -0,0 +1,254 @@ +/* + * drivers/media/video/v4l2-event.c + * + * V4L2 events. + * + * Copyright (C) 2009 Nokia Corporation. + * + * Contact: Sakari Ailus sakari.ai...@maxwell.research.nokia.com + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * version 2 as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + * 02110-1301 USA + */ + +#include media/v4l2-dev.h +#include media/v4l2-event.h + +#include linux/sched.h + +static struct kmem_cache *event_kmem; + +int v4l2_event_init(void) +{ + event_kmem = kmem_cache_create(event_kmem, +sizeof(struct _v4l2_event), 0, +SLAB_HWCACHE_ALIGN, +NULL); + + if (!event_kmem) + return -ENOMEM; + + return 0; +} + +void v4l2_event_exit(void) +{ + kmem_cache_destroy(event_kmem); +} + +void v4l2_event_init_fh(struct v4l2_fh *fh) +{ + struct v4l2_events *events = fh-events; + + init_waitqueue_head(events-wait); + spin_lock_init(events-lock); + + INIT_LIST_HEAD(events-available); + INIT_LIST_HEAD(events-subscribed); +} +EXPORT_SYMBOL_GPL(v4l2_event_init_fh); + +void v4l2_event_exit_fh(struct v4l2_fh *fh) +{
[PULL] http://linuxtv.org/hg/~dougsland/miro
Hello Mauro, Please pull from http://linuxtv.org/hg/~dougsland/miro for the following: - Add header to make radio-miro compatible with kernel 2.6.33 Cheers Douglas -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: How to make a Zaapa LR301AP DVB-T card work
Am Dienstag, den 22.12.2009, 16:41 + schrieb Antonio Marcos López Alonso: Antonio, the report for tda10046 firmware loading is missing. Was that OK? Yes: tda1004x: setting up plls for 48MHz sampling clock tda1004x: found firmware revision 29 -- ok LR301 is a LifeView design. It is very common to see multiple other subvendors for their cards, but they keep the original subdevice ID. In this case 0x0301. The subvendor 0x4e42 is usually Typhoon/Anubis and they are distributing clones of almost all LifeView cards. Gpio init is the same like on the other known LR301 cards and eeprom differs only for a few bytes, but not for tuner type, tuner and demod address. http://ubuntuforums.org/archive/index.php/t-328140.html Since this design with a saa7134 chip and tda8274 DVB-T only tuner is very old, I don't expect an additional Low Noise Amplifier on it. We can't detect such LNAs and on newer cards they can cause problems, if not configured correctly and might cause scan to fail. If you mean above other card types did previously work for your card, use them and report. No, I meant other physical cards. Just to ensure it is not likely to be an aerial problem. Good to know. However, the first revisions of silicon tuners like the tda8274 can't compete with can tuners. Only the tda8275a hybrid can come _close_ to a good can tuner like the FMD1216ME/I H-3 (MK3) on a well designed PCB. Signal quality might be still not sufficient for your card. You also had parity errors on your first report, which likely indicate problems on your mobo at least with this PCI slot and/or sharing interrupts with other devices there. Sorry, I don't have better ideas for your card so far. I have not included the tuner parameter in the options line which I think it could be the problem. Is this parameter mandatory? If so, which is the proper one? No. You can force tuner types only for analog TV. The tda8274 is not a hybrid tuner, it is only used for DVB-T. An early tda8275 hybrid with a saa7134 chip would have a separate tda8290 chip for analog IF demodulation. Without that no analog TV and no tuner type to set. For DVB-T the tda8274 is treated like a tda8275. Cheers, Hermann -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Nova-T 500 Dual DVB-T
Douglas Schilling Landgraf a écrit : Hello Yves, On 12/20/2009 03:21 AM, Yves wrote: Hi, I have a Nova-T 500 Dual DVB-T card that used to work very well under Mandriva 2008.1 (kernel 2.6.24.7). I moved to Mandriva 2009.1, then 2010.0 (kernel 2.6.31.6) and it doesn't work well any more. Scan can't find channels. I tried hading options dvb-usb-dib0700 force_lna_activation=1 in /etc/modprobe.conf. It improve just a bit. Scan find only a few channels. If I revert to Mandriva 2008.1 (in another partition), all things are good (without adding anything in modprobe.conf). Is there a new version of the driver (dvb_usb_dib0700) that correct this behavior. If not, how to install the driver from kernel 2.6.24.7 in kernel 2.6.31.6 ? Please try the current driver available at v4l/dvb develpment tree and share your results here. hg clone http://linuxtv.org/hg/v4l-dvb make make rmmod make install Finally, just restart your machine and test your favourite application. For additional info: http://www.linuxtv.org/wiki/index.php/How_to_Obtain,_Build_and_Install_V4L-DVB_Device_Drivers Cheers, Douglas -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Hello Douglas, Unfortunately, the compilation did not succeed: $ make make -C /home/mythtv/v4l-dvb/v4l make[1]: entrant dans le répertoire « /home/mythtv/v4l-dvb/v4l » perl scripts/make_config_compat.pl /lib/modules/2.6.31.6-desktop-1mnb/source ./.myconfig ./config-compat.h creating symbolic links... make -C firmware prep make[2]: Entering directory `/home/mythtv/v4l-dvb/v4l/firmware' make[2]: Leaving directory `/home/mythtv/v4l-dvb/v4l/firmware' make -C firmware make[2]: Entering directory `/home/mythtv/v4l-dvb/v4l/firmware' CC ihex2fw Generating vicam/firmware.fw Generating dabusb/firmware.fw Generating dabusb/bitstream.bin Generating ttusb-budget/dspbootcode.bin Generating cpia2/stv0672_vp4.bin Generating av7110/bootcode.bin make[2]: Leaving directory `/home/mythtv/v4l-dvb/v4l/firmware' Kernel build directory is /lib/modules/2.6.31.6-desktop-1mnb/build make -C /lib/modules/2.6.31.6-desktop-1mnb/build SUBDIRS=/home/mythtv/v4l-dvb/v4l modules make[2]: Entering directory `/usr/src/linux-2.6.31.6-desktop-1mnb' CC [M] /home/mythtv/v4l-dvb/v4l/tuner-xc2028.o CC [M] /home/mythtv/v4l-dvb/v4l/tuner-simple.o CC [M] /home/mythtv/v4l-dvb/v4l/tuner-types.o CC [M] /home/mythtv/v4l-dvb/v4l/mt20xx.o CC [M] /home/mythtv/v4l-dvb/v4l/cx88-cards.o CC [M] /home/mythtv/v4l-dvb/v4l/cx88-core.o CC [M] /home/mythtv/v4l-dvb/v4l/cx88-i2c.o CC [M] /home/mythtv/v4l-dvb/v4l/cx88-tvaudio.o CC [M]