Hi all, I just got a kfir mpeg2 encoder board, and I am trying the linux driver. I am using RedHat 8.0, with the redhat 2.4.18-14 kernel.
I downloaded the driver from http://linuxtv.org/download/mpeg2/ (BTW... Mar 01: it seems to be very old... Is this the latest available driver?), and I've seen that it does not compile on my system :( Errors while compiling i2c-core.o... I assumed that I can use the i2c-core i2c-algo-bit and videodev modules coming with my kernel and I commented out the MX_OBJS = i2c-core.o i2c-algo-bit.o videodev.o in driver/Makefile. Is this the correct way to go? After that, I had to comment out #include <linux/malloc.h> in saa7113.c (malloc.h is deprecated, and slab.h is the correct thing to include), and the modules compiled ok. However, I suspect that the code I downloaded is too old (it does not compile on modern kernels): where can I find the latest version of the driver? I tried the cvs, but I had the same problems... Now, when I try to insert the modules, I do the following: insmod videodev insmod i2c-core insmod i2c-algo-bit insmod ./saa7113.o insmod ./kfir.o debug=1 and I get: Linux video capture interface: v1.00 i2c-core.o: i2c core module i2c-algo-bit.o: i2c bit algorithm module i2c-core.o: driver SAA7113 registered. saa7113: init_module kfir: Kfir board revision 5e loaded microcode with length 32385 kfir: Reset Altera kfir: done kfir: Reset Kfir and PLL ... done Unable to handle kernel paging request at virtual address f8c0f000 printing eip: f89864c0 *pde = 36f7e067 *pte = 00000000 Oops: 0000 kfir saa7113 i2c-algo-bit i2c-core videodev binfmt_misc autofs eepro100 e1000 CPU: 0 EIP: 0010:[<f89864c0>] Tainted: P EFLAGS: 00010283 EIP is at ADSP_CodeLoad [kfir] 0xb0 (2.4.18-14smp) eax: 00001d1e ebx: f8c0f000 ecx: f89bc000 edx: 00003010 esi: 00001d1d edi: f89b3b40 ebp: f8c15790 esp: f6f83e74 ds: 0018 es: 0018 ss: 0018 Process insmod (pid: 973, stackpage=f6f83000) Stack: f898ac31 f6f83e7c f8c00000 00200003 f89b3b40 00000000 f89b37bc f89866b8 f89b3b40 00000001 00000001 f898ac9f f89b3b40 c369a800 c369a800 00000000 f8989b5c f89b3b40 f89b3b40 f898a5ff f89b3b40 00000000 ffffffff 0480005e Call Trace: [<f898ac31>] .rodata.str1.1 [kfir] 0x4e (0xf6f83e74)) [<f89b3b40>] kfirs [kfir] 0x0 (0xf6f83e84)) [<f89b37bc>] ADSP_StereoRates [kfir] 0x0 (0xf6f83e8c)) [<f89866b8>] ADSP_KfInit [kfir] 0x88 (0xf6f83e90)) [<f89b3b40>] kfirs [kfir] 0x0 (0xf6f83e94)) [<f898ac9f>] .rodata.str1.1 [kfir] 0xbc (0xf6f83ea0)) [<f89b3b40>] kfirs [kfir] 0x0 (0xf6f83ea4)) [<f8989b5c>] InitBoard [kfir] 0x3c (0xf6f83eb4)) [<f89b3b40>] kfirs [kfir] 0x0 (0xf6f83eb8)) [<f89b3b40>] kfirs [kfir] 0x0 (0xf6f83ebc)) [<f898a5ff>] kfir_init_device [kfir] 0x28f (0xf6f83ec0)) [<f89b3b40>] kfirs [kfir] 0x0 (0xf6f83ec4)) [<f89b3aa0>] kfir_pci_tbl [kfir] 0x0 (0xf6f83ed4)) [<f89b3ae0>] kfir_driver [kfir] 0x0 (0xf6f83ed8)) [<c01e1605>] pci_announce_device [kernel] 0x35 (0xf6f83edc)) [<f89b3aa0>] kfir_pci_tbl [kfir] 0x0 (0xf6f83ee4)) [<f89b3ae0>] kfir_driver [kfir] 0x0 (0xf6f83eec)) [<c01e16ac>] pci_register_driver [kernel] 0x5c (0xf6f83ef8)) [<f89b3ae0>] kfir_driver [kfir] 0x0 (0xf6f83efc)) [<f898a7d3>] kfir_init_module [kfir] 0x13 (0xf6f83f10)) [<f89b3ae0>] kfir_driver [kfir] 0x0 (0xf6f83f14)) [<c01225ba>] sys_init_module [kernel] 0x4fa (0xf6f83f1c)) [<f8986060>] do_firmread [kfir] 0x0 (0xf6f83f20)) [<f898b360>] .kmodtab [kfir] 0x0 (0xf6f83f2c)) [<f8986060>] do_firmread [kfir] 0x0 (0xf6f83f58)) [<c0109437>] system_call [kernel] 0x33 (0xf6f83fc0)) Code: 0f b7 03 83 c3 02 8b 8f bc 00 00 00 8b 97 d4 00 00 00 89 04 (The kernel is tainted because of the saa7113.o module) This is on an SMP box (dual xeon): I tried both with the smp kernel and the up kernel, but the I obtained the same oops. I tried both the CVS head and kfir.20010307.15-48-40.tar.gz, obtaining the same results. Is anyone having similar problems? Does anyone have any suggestion? Thanks, Luca