# uvcvideo unknown symbols, compiled against current kernel

## kuroshi

I have been trying to get my webcam in my xps m1530 working (I think it's an omnivision or something, I know it's a uvc camera, though), but I can't get uvcvideo to load. Google has turned up many people with a similar problem, but usually the solution lies in compiling uvcvideo against the current kernel or a different set of v4l sources, which I have already done. I set everything up according to this page: http://en.gentoo-wiki.com/wiki/Webcam, and still have no luck. I'm using kernel source 2.6.31-gentoo-r6. I have compiled v4l into the kernel and uvcvideo as a module. Here are the outputs I thought relevant, if you want/need any others, please let me know:

dmesg:

```
[   81.895742] uvcvideo: Unknown symbol v4l_compat_translate_ioctl

[   81.896089] uvcvideo: Unknown symbol video_devdata

[   81.896344] uvcvideo: Unknown symbol v4l_printk_ioctl

[   81.896606] uvcvideo: Unknown symbol video_unregister_device

[   81.896769] uvcvideo: Unknown symbol video_device_alloc

[   81.897041] uvcvideo: Unknown symbol video_register_device

[   81.897351] uvcvideo: Unknown symbol video_usercopy

[   81.897416] uvcvideo: Unknown symbol video_device_release
```

lsusb:

```
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Bus 001 Device 002: ID 05a9:2640 OmniVision Technologies, Inc. OV2640 Webcam

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 003 Device 002: ID 0483:2016 SGS Thomson Microelectronics Fingerprint Reader

Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Bus 007 Device 005: ID 0a5c:4503 Broadcom Corp. 

Bus 007 Device 004: ID 0a5c:4502 Broadcom Corp. 

Bus 007 Device 003: ID 413c:8126 Dell Computer Corp. Wireless 355 Bluetooth

Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Bus 007 Device 002: ID 0a5c:4500 Broadcom Corp. BCM2046B1 USB 2.0 Hub (part of BCM2046 Bluetooth)
```

Also, if this has been posted elsewhere and I have missed it, I apologize, and would be very grateful for a link  :Smile: 

----------

## Rexilion

The symbols are provided by interfaces that are going to be deprecated (read: your driver may become incompatible!). Therefore, the kernel crew moves them into a seperate entry to maintain compatibility.

You seem to be missing some kernel configs:

CONFIG_VIDEO_V4L1_COMPAT

CONFIG_VIDEO_DEV

You can find them by typing a / in make menuconfig and then type in VIDEO_V4L1_COMPAT (for example). Then the program will tell you where to find it.

----------

## kuroshi

Uh oh, I don't like hearing that my driver may become incompatible! Maybe I should upgrade, since I can't seem to get this working  :Razz: 

Anyway, I had no idea I could do that / trick in the menuconfig, unfortunately, both of those kernel configs seem to be built in already (Device Drivers->Multimedia Support->Video For Linux and Device Drivers->Multimedia Support, respectively).

Thanks for the help, though! I really appreciate it!

----------

## Rexilion

That's weird   :Confused:  Try the 2.6.32 kernel (which I used to find your missing symbols). Mine definitly exports them, I have seen the code   :Wink: 

----------

## kuroshi

heh...heh heh...I figured out the problem...heh...

It turns out that when I was copying the kernel to /boot, I kept forgetting to mount the actual boot partition, so it was just copying it to a random /boot folder. heh, whoops...

Ah, well, now I have a new kernel! I can't boot into it yet, though, because for some reason my nvidia driver won't compile against it. Ah, well, that's a problem for another post...

Thanks for all of the help! I kinda feel like an idiot now, but at least it's been resolved.

----------

## Rexilion

Trust me, you are not the only one   :Wink: 

----------

