Loading...

ivtv-users@ivtvdriver.org

[Prev] Thread [Next]  |  [Prev] Date [Next]

Re: [ivtv-users] Just getting started, need pointers HVR-1600 Richard Ayotte Fri Oct 10 05:01:15 2008

I had a similar problem loading the new driver on my Ubuntu Intrepid system.
The old modules kept loading instead of the new ones. I'm not sure where
modprobe was finding the old modules but they were not in the standard
location. I ended up rebooting which fixed the problem. I'm not sure if this
was the cause of a weird cache problem or perhaps interaction with the new
DKMS (Dynamic Kernel Module Support) http://linux.dell.com/dkms/manpage.html.
Either way, setting up dkms to automatically rebuild the modules when a new
kernel is installed is probbaly what I'm going to do to avoid this kind of
problem.

--
Richard


On Thu, Oct 9, 2008 at 9:33 PM, Andy Walls <[EMAIL PROTECTED]> wrote:

> On Thu, 2008-10-09 at 16:37 -0400, Carl L. Gilbert wrote:
> > On Wed, 2008-10-08 at 22:02 -0400, Andy Walls wrote:
> > > On Wed, 2008-10-08 at 20:18 -0400, Richard Ayotte wrote:
>
> > > > On Wed, Oct 8, 2008 at 2:51 PM, Carl L. Gilbert
> > > > <[EMAIL PROTECTED]> wrote:
> > > >         Im just getting started here and trying to get the driver
> > > >         loaded so I can use MythTV.  I was told the ivtv driver is
> the
> > > >         one to use for my card which is the Hauppauge HVR-1600.  I
> > > >         tried to simply download and build and install the driver.  I
> > > >         have Mandriva 2008.  I managed to get it to make and
> > > >         appearantly install, but when I go to
> > > >
> > > >         modprobe cx18
> > > >
> > > >         I get some error messages and it does not seem to load.
> > > >
> > > >
> > > >         videodev: exports duplicate symbol v4l_printk_ioctl (owned by
> > > >         v4l2_common)
> > >
> > > You have an old version of v4l2-common.ko lying around.  Obviously
> > > something went wrong with the build & install of the latest v4l-dvb
> > > repository.
> > >
> >
> > When you say 'old' what do you mean?  and old build, or old as in an
> > old version from a different download?
>
> When you build the latest v4l-dvb repository, you are building the
> cx18.ko driver module plus v4l-dvb infrastructure modules that it also
> needs to use: videodev.ko, v4l2-common.ko, dvb_core.ko,
> compat_ioctl32.ko, etc.
>
> What I mean by 'old' are these same infrastructure modules that came
> installed with your distribution.
>
> The cx18.ko module built from the latest v4l-dvb repository needs to use
> the latest version of these infrastructure modules.  They should
> automatically get built and installed along with the cx18.ko driver
> module.
>
> For the steps you are taking on your system, the build and install of
> the latest v4l-dvb repository isn't working as it should.  This is
> usually caused by distribution (i.e. Mandriva) specific changes to the
> vanilla kernel module build process or module installations.
>
>
>
> > Do you think this could have come from some other install and not the
> > one I just did?  Because I just downloaded the driver and just
> > installed it.  So I should not have an old version unless somehow its
> > part of a mandriva package I installed for some reason.
>
> The 'old' modules I speak of likely came from a standard Mandriva kenrle
> or kernel module package.  Normally, the install of process of the
> latest v4l-dvb repository overwrites them, and they're gone.  This may
> not be the case on Mandriva if they've tweaked something.
>
>
> >
> > Looks like I have MythTV Installed, but no ivtv driver.  Should I
> > uninstall mythTV till I get this part working?
>
> No.  Leave MythTV alone - it's having no effect at this point.
>
> BTW the HVR-1600 is supported by the cx18 driver, not the ivtv driver.
> But you'll still be able to work with MythTV just fine.
>
>
> > > On my system:
> > >
> > > $ find /lib/modules/ -name 'videodev.ko'
> > >
> /lib/modules/2.6.25.10-86.fc9.x86_64/kernel/drivers/media/video/videodev.ko
> > >
> /lib/modules/2.6.26.5-45.fc9.x86_64/kernel/drivers/media/video/videodev.ko
> >
> > [EMAIL PROTECTED] carl]# find /lib/modules/ -name 'videodev.ko'
> > /lib/modules/2.6.24.5-desktop-2mnb/kernel/drivers/media/video/videodev.ko
> >
> > >
> > > $ nm
> /lib/modules/2.6.26.5-45.fc9.x86_64/kernel/drivers/media/video/videodev.ko |
> grep ioctl
> > > 00000000000000b7 r __kstrtab_v4l_printk_ioctl
> > > 000000000000009b r __kstrtab_video_ioctl2
> > > 0000000000000090 r __ksymtab_v4l_printk_ioctl
> > > 0000000000000070 r __ksymtab_video_ioctl2
> > > 0000000000000a7c t __video_do_ioctl
> > > 0000000000000850 r v4l1_ioctls
> > > 0000000000000240 r v4l2_int_ioctls
> > > 0000000000000940 r v4l2_ioctls
> > >                  U v4l_compat_translate_ioctl
> > > 00000000000007de T v4l_printk_ioctl       <------ T == machine code
> (Text) exists here
> > > 0000000000003f4d T video_ioctl2
> > >
> > >
> >
> > [EMAIL PROTECTED] carl]#
> > nm
> /lib/modules/2.6.24.5-desktop-2mnb/kernel/drivers/media/video/videodev.ko |
> grep ioctl
> > 000000b7 r __kstrtab_v4l_printk_ioctl
> > 0000009b r __kstrtab_video_ioctl2
> > 00000048 r __ksymtab_v4l_printk_ioctl
> > 00000038 r __ksymtab_video_ioctl2
> > 00000ac0 t __video_do_ioctl
> > 00000500 r v4l1_ioctls
> > 000001e0 r v4l2_int_ioctls
> > 00000580 r v4l2_ioctls
> >          U v4l_compat_translate_ioctl
> > 000006d0 T v4l_printk_ioctl
> > 000048e0 T video_ioctl2
>
>
> > Looks similar.  I am not sure what you are showing me with this dump
> > though?  What does it mean?  Should it match something?
>
> It shows you the 'v4l_printk_ioctl' is defined in this file just like on
> my system.  This is the duplicate symbol modprobe griped about.  This
> means to me like you have a copy of the latest videodev.ko module
> installed.  Good.
>
>
> > > $ find /lib/modules/ -name 'v4l2-common.ko'
> > >
> /lib/modules/2.6.25.10-86.fc9.x86_64/kernel/drivers/media/video/v4l2-common.ko
> > >
> /lib/modules/2.6.26.5-45.fc9.x86_64/kernel/drivers/media/video/v4l2-common.ko
> > >
> > > $ nm
> /lib/modules/2.6.26.5-45.fc9.x86_64/kernel/drivers/media/video/v4l2-common.ko
> | less
> > > (no output)
> > >
> > >
> > [EMAIL PROTECTED] carl]#
> > nm
> /lib/modules/2.6.24.5-desktop-2mnb/kernel/drivers/media/video/v4l2-common.ko
> > [snip]
> > 000006d0 T v4l2_chip_ident_i2c_client
> > 00000660 T v4l2_chip_match_host
> > 00000680 T v4l2_chip_match_i2c_client
> > 000000f0 T v4l2_ctrl_check
> > 00000170 T v4l2_ctrl_get_menu
> > 00000240 T v4l2_ctrl_get_name
> > 00000580 T v4l2_ctrl_next
> > 000008d0 T v4l2_ctrl_query_fill
> > 00000af0 T v4l2_ctrl_query_fill_std
> > 00000820 T v4l2_ctrl_query_menu
> > 000007b0 T v4l2_ctrl_query_menu_valid_items
> > 00000720 T v4l2_i2c_attach
> > 00000020 T v4l2_prio_change
> > 000000d0 T v4l2_prio_check
> > 00000080 T v4l2_prio_close
> > 00000000 T v4l2_prio_init
> > 000000a0 T v4l2_prio_max
> > 00000070 T v4l2_prio_open
> >
>
> > what does this mean?  It does nto match what you have shown.
>
> (You forgot the grep).  What this shows is that the 'v4l_printk_ioctl'
> symbol is *not* defined here.  That means this looks like the latest
> version of v4l2-common.ko was installed on your system.  Good.
>
> The question now becomes, why does your system gripe that v4l2-common.ko
> has the 'v4l_printk_ioctl' symbol defined.  There's obviously another,
> older copy of this module around that the kernel is finding first.
> That's bad.  You need to find where it is and move it out of the way or
> delete it.
>
>
> > > The symbol should be defined in videodev.ko and not exists in
> v4l2-common.ko
> > >
> > >
> > > >         cx18: Unknown symbol video_ioctl2
> > > >         cx18: Unknown symbol video_devdata
> > > >         cx18: Unknown symbol video_unregister_device
> > > >         cx18: Unknown symbol video_device_alloc
> > > >         cx18: Unknown symbol video_register_device
> > > >         cx18: Unknown symbol video_device_release
> > >
> > > All these missing symbols exist in the videodev.ko module (I think), so
> > > that module didn't load due to the symbol collision with the
> > > (apparently) old v4l2-common.ko module.
> > >
> > >
> >
> >
> > OK, what I did was
> > lsmod | grep v4l
> >
> > and I did see the v4l mod still loaded.  I think it was not unloading
> > because I was not building it and make unload wasnt working.  I dont
> > know.  ANyway, I just did a full build, then a make install, then a
> > make unload, then another
> >
> > lsmod | grep v4l
> >
> > and it showed nothing.  So I figured I got it unloaded.  But then when
> > I do modprobe
> >
> > [EMAIL PROTECTED] carl]# modprobe cx18
> > WARNING: Error inserting videodev
> >
> (/lib/modules/2.6.24.5-desktop-2mnb/kernel/drivers/media/video/videodev.ko):
> Invalid module format
>
> Weird, this implies the videodev.ko file may be corrupted.
>
> > FATAL: Error inserting cx18
> >
> (/lib/modules/2.6.24.5-desktop-2mnb/kernel/drivers/media/video/cx18/cx18.ko):
> Unknown symbol in module, or unknown parameter (see dmesg)
> >
> >
> > At least its a different error now!  This is what I get
> > from /var/log/messages
> >
> > Oct  9 16:26:48 erasmus kernel: cx18: Unknown symbol video_ioctl2
> > Oct  9 16:26:48 erasmus kernel: cx18: Unknown symbol video_devdata
> > Oct  9 16:26:48 erasmus kernel: cx18: Unknown symbol
> > video_unregister_device
> > Oct  9 16:26:48 erasmus kernel: cx18: Unknown symbol
> > video_device_alloc
> > Oct  9 16:26:48 erasmus kernel: cx18: Unknown symbol
> > video_register_device
> > Oct  9 16:26:48 erasmus kernel: cx18: Unknown symbol
> > video_device_release
> >
> >
> > dmesg is same error
> >
> > videodev: exports duplicate symbol v4l_printk_ioctl (owned by
> > v4l2_common)
> > cx18: Unknown symbol video_ioctl2
> > cx18: Unknown symbol video_devdata
> > cx18: Unknown symbol video_unregister_device
> > cx18: Unknown symbol video_device_alloc
> > cx18: Unknown symbol video_register_device
> > cx18: Unknown symbol video_device_release
> >
> >
> > what is this v4l2_common and how do I get rid of it?
>
> You don't want to do that per se.  You want to get rid of all the
> old/original v4l-dvb related modules from your system, and replace them
> with the latest ones.
>
> That may mean looking at all the timestamps of things under
>
> /lib/modules/(kernel-version-whatever)/kernel/driver/media
>
> and moving modules which have older date stamps out of the way (back 'em
> up!) or deleting them, and then running 'depmod -a' again.
>
> > # ls
> > -l /lib/modules/2.6.24.5-desktop-2mnb/kernel/drivers/media/video/v4l*
> > -rw-r--r-- 1 root root 17580 2008-10-09
> > 16:21
> /lib/modules/2.6.24.5-desktop-2mnb/kernel/drivers/media/video/v4l1-compat.ko
> > -rw-r--r-- 1 root root  6479 2008-06-12
> > 14:38
> /lib/modules/2.6.24.5-desktop-2mnb/kernel/drivers/media/video/v4l1-compat.ko.gz
> > -rw-r--r-- 1 root root 14852 2008-10-09
> > 16:21
> /lib/modules/2.6.24.5-desktop-2mnb/kernel/drivers/media/video/v4l2-common.ko
> > -rw-r--r-- 1 root root  7619 2008-06-12
> > 14:38
> /lib/modules/2.6.24.5-desktop-2mnb/kernel/drivers/media/video/v4l2-common.ko.gz
> > -rw-r--r-- 1 root root  4904 2008-10-09
> > 16:21
> /lib/modules/2.6.24.5-desktop-2mnb/kernel/drivers/media/video/v4l2-int-device.ko
> > -rw-r--r-- 1 root root  1622 2008-06-12
> > 14:38
> /lib/modules/2.6.24.5-desktop-2mnb/kernel/drivers/media/video/v4l2-int-device.ko.gz
> >
> >
> > If you look at the date of these files, some are from June, and some
> > are from today's build.  What does this mean?
>
> It means you have gzipped copies of the old/original ones and
> uncompressed copies of the newly built ones. (I *speculate*).
>
> I suspect that this may also mean that Mandriva can load compressed
> module files (a Mandriva distribution specific thing I guess) and
> prefers to use those over the uncompressed ones.
>
> This may be causing the mismatch of symbols.  I suspect you will find
> that you do not have a cx18.ko.gz module file as the driver is
> relatively new and may not have been packaged by Mandriva.  When you
> load the new, uncompressed cx18.ko module, because that's the only one
> you have, the dependencies pick up the older compressed modules (as the
> system may prefer those first), causing a mismatch.  (More *speculation*
> by me).
>
> Move the compressed module files out of the way, do depmod -a again, and
> either unload all the video modules or reboot.
>
> Then try loading the cx18 module again.
>
>
> >
> >
> > Thanks for the help.
>
> You're welcome.  I hope this helps.
>
> Regards,
> Andy
>
>
> _______________________________________________
> ivtv-users mailing list
> [EMAIL PROTECTED]
> http://ivtvdriver.org/mailman/listinfo/ivtv-users
>
_______________________________________________
ivtv-users mailing list
[EMAIL PROTECTED]
http://ivtvdriver.org/mailman/listinfo/ivtv-users