Hi Lucas,
On Thu, Nov 24, 2005 at 12:53:16AM +0100, Lucas Meijer wrote:
> >Trying to get ivtv 0.4.0 working with a Debian 2.6.12-1-686 kernel here;
> >the
> >module built correctly right out of the box, kudos for that, but trying to
> >load ivtv-fb gives me a kernel oops. Google tells me that others are
> >getting a kernel oops on FC3 which may be the same error, but there's no
> >sign of anyone finding a resolution to the problem. Any hints?
> Hans wrote a while back that he has had problems with 2.6.12 kernel
> versions, and recommended someone with a similar problem running 2.6.12
> to change to a newer or older kernel.
Thanks for the reply. I've succeeded in tracking this down; it is unrelated
both to the kernel oopses reported on FC3, and to the kernel version I'm
running.
For reference, the backtrace was:
[<d0971000>] init_module+0x0/0x4f8 [ivtv_fb]
[<c0135886>] sys_init_module+0xd6/0x1c0
[<c01030c5>] syscall_call+0x7/0xb
This backtrace is being caused by a null pointer dereference in the ivtv-fb
*logging* code, while trying to report that no ivtv devices were found. The
oops happens because the "itv" struct has not yet been initialized.
The attached simple patch should take care of that oops.
The underlying reason for the ivtv driver failing to detect devices was that
I didn't have the firmware images in the right directory. The module still
loads under these circumstances, so I didn't suspect this was the problem
until I was able to get printk's without oopses from ivtv-fb. :)
FWIW, the reason the firmware wasn't in the right directory was because I
was mislead by the comments on <http://ivtvdriver.org/index.php/Firmware>:
Kernels with firmware hotplug
Kernels with firmware hotplug support look for the firmware in different
locations. This differs from version to version, but typically it is
something like /lib/firmware/ or /usr/lib/hotplug/firmware/. See the
documentation for your distribution for more information.
Well, my kernel certainly does support firmware hotplug, but that's
apparently not all that relevant when the 0.4.0 *driver* doesn't support
firmware hotplug (as mentioned elsewhere on the page).
So anyway, after a fair amount of random fiddling I now have the framebuffer
module loading, working right with X, displaying video fine to the TV, etc.
The only problem now (other than a niggling worry that the video won't
*stay* working the way it is, given how many random things I tried along the
way) is that I can't get console/vt output on the framebuffer. I've tried
moving vesafb out of the way (it's a module in the current Debian kernels,
which I think is a Debian-local patch) and putting ivtv-fb and dependencies
in the initrd in order to get ivtv to come up as /dev/fb0, but this doesn't
seem to be sufficient. Anyone know off-hand what a proper incantation might
be, or should I hit google again? :)
Cheers,
--
Steve Langasek Give me a lever long enough and a Free OS
Debian Developer to set it on, and I can move the world.
[EMAIL PROTECTED] http://www.debian.org/
diff -ur ivtv-0.4.0.orig/driver/ivtv-driver.h ivtv-0.4.0/driver/ivtv-driver.h
--- ivtv-0.4.0.orig/driver/ivtv-driver.h 2005-10-09 03:50:56.000000000
-0700
+++ ivtv-0.4.0/driver/ivtv-driver.h 2005-11-22 19:01:28.000000000 -0800
@@ -599,7 +599,7 @@
/* Standard kernel messages */
#define IVTV_ERR(fmt, args...) printk(KERN_ERR "ivtv%d: " fmt, itv->num
, ## args)
#define IVTV_INFO(fmt, args...) printk(KERN_INFO "ivtv%d: " fmt, itv->num
, ## args)
-#define IVTV_OSD_ERR(fmt, args...) printk(KERN_ERR "ivtv%d-osd: " fmt,
itv->num , ## args)
+#define IVTV_OSD_ERR(fmt, args...) printk(KERN_ERR "ivtv%d-osd: " fmt, (itv
? itv->num : -1) , ## args)
#define IVTV_OSD_INFO(fmt, args...) printk(KERN_INFO "ivtv%d-osd: " fmt,
itv->num , ## args)
/* Values for IVTV_API_DEC_PLAYBACK_SPEED mpeg_frame_type_mask parameter: */
_______________________________________________
ivtv-users mailing list
[email protected]
http://ivtvdriver.org/mailman/listinfo/ivtv-users
_______________________________________________
ivtv-devel mailing list
[email protected]
http://ivtvdriver.org/mailman/listinfo/ivtv-devel