[elrepo-devel] video4linux

Phil Perry phil at elrepo.org
Sat Aug 28 15:11:23 EDT 2010


On 28/08/10 16:13, povilas balciunas wrote:
>
>
> Hello,
>
> I'm having problems installing kmod-video4linux from source. If i install it with yum it's working properly, but if i install it from source with make, make install after loading the driver i get this:
>
> usb 2-3: new high speed USB device using ehci_hcd and address 2
> usb 2-3: configuration #1 chosen from 1 choice
> em28xx: disagrees about version of symbol video_ioctl2
> em28xx: Unknown symbol video_ioctl2
> em28xx: Unknown symbol v4l2_i2c_new_subdev_cfg
> em28xx: Unknown symbol v4l2_i2c_subdev_addr
> em28xx: disagrees about version of symbol video_devdata
> em28xx: Unknown symbol video_devdata
> em28xx: Unknown symbol v4l_bound_align_image
> em28xx: disagrees about version of symbol v4l2_type_names
> em28xx: Unknown symbol v4l2_type_names
> em28xx: disagrees about version of symbol video_unregister_device
> em28xx: Unknown symbol video_unregister_device
> em28xx: disagrees about version of symbol video_device_alloc
> em28xx: Unknown symbol video_device_alloc
> em28xx: Unknown symbol v4l2_device_disconnect
> em28xx: disagrees about version of symbol video_register_device
> em28xx: Unknown symbol video_register_device
> em28xx: Unknown symbol v4l2_device_register
> em28xx: Unknown symbol v4l2_i2c_tuner_addrs
> em28xx: Unknown symbol v4l2_device_unregister
> em28xx: Unknown symbol v4l2_chip_match_host
> em28xx: disagrees about version of symbol video_device_release
> em28xx: Unknown symbol video_device_release
> em28xx: Unknown symbol v4l2_video_std_frame_period
>
> uname -r
> 2.6.18-194.11.1.el5.centos.plus
>
> Any suggestions how to fix this, because i want to modify that driver?

I'm not completely clear on what you're doing, but you mentioned 
previously about trying to recompile just the em28xx driver. You can't 
do that as modules have dependencies on other modules and you end up 
with missing symbols as you see above. Hence the solution, and I know 
it's not ideal, is to build the *whole* video4linux tree as we do in our 
kmod-video4linux package.

For example, if I look at the deps for em28xx, I see:

# modinfo em28xx | grep depends
depends: 
video-buf,ir-common,i2c-core,ir-core,videobuf-core,ir-common,videodev,videodev,tveeprom,v4l2-common,videobuf-vmalloc,v4l2-common

So you would also need to build each of those modules and any other 
modules on which they depend. Even then you can still end up breaking 
stuff, as if you have some other device whose module also depends on 
videodev, then that will now break unless you update that too. Hence why 
it's easier to just build the whole video4linux tree and be done with it 
even if you only want one module.

> And also i noticed that if i first install kmod-video4linux package with yum then after i install it from source it isn't replaced, because i make some simple modifications in the source code (just to ouput different strings) they seem not to appear. The old driver is still running and i cant install my new driver on top.
>
> Any ideas?
>

Yes - this bit is easy - look in /etc/depmod.d and you'll see a file 
video4linux.conf that overrides any modules provided by the kernel in 
favour of those provided by kmod-video4linux. This will include your 
custom module. See man depmod.conf for more info.

You can easily see which module is currently being loaded:

# modinfo em28xx | grep filename
filename: 
/lib/modules/2.6.18-194.11.1.el5/weak-updates/video4linux/em28xx.ko

Hope that helps.





More information about the elrepo-devel mailing list