Skip to content

Problem with instructions for applying kernel patch #6

@mirzashah

Description

@mirzashah

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:

  1. 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.

  2. When I went to compile as it was looking at headers in /usr/source/uname-r versus 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

  1. 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!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions