-
Notifications
You must be signed in to change notification settings - Fork 38
Description
Hi @teknotus
I had problems applying the patch to any kernel in Ubuntu 14.04 LTS. Perhaps you can see the mistake I'm making and can point me in the right direction:
-
Patch fails to automatically apply with git apply -- the patch failed to apply to 3.13, 3.16, and 4.0 kernel sources, both from Ubuntu sources as well as vanilla kernels from github.com/torvalds. The patch isn't that large so I was able to apply all the diffs by hand.
-
When I went to compile as it was looking at headers in /usr/source/
uname-rversus the headers in the downloaded source where modified videodev2.h and uvc_camera.h reside. This results in compile errors because all the new macros in videodev2.h are not found.
Now based on the step:
sudo cp include/uapi/linux/videodev2.h /usr/include/linux/videodev2.h
I'm guessing that that step was intended so that the code would build against /usr/include/linux/videodev2.h. So I tried taking the modified videodev2.h and copying it to /usr/source/uname-r/include/linux/videodev2.h as well. Once I did this I was able to compile the module
- Once I installed the module, then I attempt to load it and I got tons of missing symbol errors. Here's the output of dmesg:
[ 3790.016461] uvcvideo: Unknown symbol vb2_queue_init (err 0)
[ 3790.016498] uvcvideo: Unknown symbol v4l2_fh_exit (err 0)
[ 3790.016535] uvcvideo: Unknown symbol vb2_streamoff (err 0)
[ 3790.016561] uvcvideo: Unknown symbol vb2_queue_release (err 0)
[ 3790.016585] uvcvideo: Unknown symbol vb2_poll (err 0)
[ 3790.016607] uvcvideo: Unknown symbol v4l2_prio_max (err 0)
[ 3790.016625] uvcvideo: Unknown symbol v4l2_fh_del (err 0)
[ 3790.016642] uvcvideo: Unknown symbol v4l2_fh_add (err 0)
[ 3790.016665] uvcvideo: Unknown symbol v4l2_prio_change (err 0)
[ 3790.016693] uvcvideo: Unknown symbol vb2_dqbuf (err 0)
[ 3790.016720] uvcvideo: Unknown symbol vb2_reqbufs (err 0)
[ 3790.016749] uvcvideo: Unknown symbol video_devdata (err 0)
[ 3790.016766] uvcvideo: Unknown symbol vb2_streamon (err 0)
[ 3790.016786] uvcvideo: Unknown symbol v4l2_ctrl_replace (err 0)
[ 3790.016817] uvcvideo: Unknown symbol v4l2_prio_check (err 0)
[ 3790.016844] uvcvideo: Unknown symbol v4l_printk_ioctl (err 0)
[ 3790.016868] uvcvideo: Unknown symbol vb2_querybuf (err 0)
[ 3790.016885] uvcvideo: Unknown symbol vb2_qbuf (err 0)
[ 3790.016910] uvcvideo: Unknown symbol vb2_buffer_done (err 0)
[ 3790.016924] uvcvideo: Unknown symbol vb2_plane_vaddr (err 0)
[ 3790.016938] uvcvideo: Unknown symbol v4l2_fh_init (err 0)
[ 3790.016956] uvcvideo: Unknown symbol video_unregister_device (err 0)
[ 3790.016972] uvcvideo: Unknown symbol v4l2_prio_init (err 0)
[ 3790.016990] uvcvideo: Unknown symbol v4l2_event_subscribe (err 0)
[ 3790.017008] uvcvideo: Unknown symbol video_device_alloc (err 0)
[ 3790.017024] uvcvideo: Unknown symbol vb2_vmalloc_memops (err 0)
[ 3790.017044] uvcvideo: Unknown symbol v4l2_device_register (err 0)
[ 3790.017063] uvcvideo: Unknown symbol v4l2_ctrl_merge (err 0)
[ 3790.017090] uvcvideo: Unknown symbol __video_register_device (err 0)
[ 3790.017109] uvcvideo: Unknown symbol v4l2_event_dequeue (err 0)
[ 3790.017124] uvcvideo: Unknown symbol v4l2_device_unregister (err 0)
[ 3790.017140] uvcvideo: Unknown symbol video_usercopy (err 0)
[ 3790.017153] uvcvideo: Unknown symbol video_device_release (err 0)
[ 3790.017168] uvcvideo: Unknown symbol vb2_mmap (err 0)
[ 3790.017183] uvcvideo: Unknown symbol v4l2_event_queue_fh (err 0)
[ 3790.017206] uvcvideo: Unknown symbol v4l2_event_unsubscribe (err 0)
Looks like a lot of v4l2 calls weren't linked into the module. If you have any insights into what I"m doing wrong, please let me know. Thanks!