modpost_error 3.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. If you see similar errors
  2. ERROR: modpost: "somefunc" [/path/to/the/module/module.ko] undefined!
  3. means some options are not enabled in the kernel configuration.
  4. By the name of the function, you can guess what needs to be included
  5. in the config. For example, the error log can be like this:
  6. ERROR: modpost: "vb2_ioctl_reqbufs" [/home/cpu/ktemp/r5u870v2/r5u870v2.ko] undefined!
  7. ERROR: modpost: "video_device_release_empty" [/home/cpu/ktemp/r5u870v2/r5u870v2.ko] undefined!
  8. ERROR: modpost: "v4l2_device_unregister" [/home/cpu/ktemp/r5u870v2/r5u870v2.ko] undefined!
  9. ERROR: modpost: "v4l2_ctrl_handler_free" [/home/cpu/ktemp/r5u870v2/r5u870v2.ko] undefined!
  10. ERROR: modpost: "vb2_fop_poll" [/home/cpu/ktemp/r5u870v2/r5u870v2.ko] undefined!
  11. ERROR: modpost: "vb2_ioctl_streamon" [/home/cpu/ktemp/r5u870v2/r5u870v2.ko] undefined!
  12. ERROR: modpost: "vb2_ops_wait_prepare" [/home/cpu/ktemp/r5u870v2/r5u870v2.ko] undefined!
  13. ERROR: modpost: "__video_register_device" [/home/cpu/ktemp/r5u870v2/r5u870v2.ko] undefined!
  14. ERROR: modpost: "v4l2_device_register" [/home/cpu/ktemp/r5u870v2/r5u870v2.ko] undefined!
  15. ERROR: modpost: "vb2_fop_read" [/home/cpu/ktemp/r5u870v2/r5u870v2.ko] undefined!
  16. ERROR: modpost: "vb2_vmalloc_memops" [/home/cpu/ktemp/r5u870v2/r5u870v2.ko] undefined!
  17. ERROR: modpost: "vb2_fop_mmap" [/home/cpu/ktemp/r5u870v2/r5u870v2.ko] undefined!
  18. ERROR: modpost: "vb2_ioctl_qbuf" [/home/cpu/ktemp/r5u870v2/r5u870v2.ko] undefined!
  19. ERROR: modpost: "video_unregister_device" [/home/cpu/ktemp/r5u870v2/r5u870v2.ko] undefined!
  20. ERROR: modpost: "vb2_plane_vaddr" [/home/cpu/ktemp/r5u870v2/r5u870v2.ko] undefined!
  21. ERROR: modpost: "vb2_buffer_done" [/home/cpu/ktemp/r5u870v2/r5u870v2.ko] undefined!
  22. ERROR: modpost: "v4l2_ctrl_new_custom" [/home/cpu/ktemp/r5u870v2/r5u870v2.ko] undefined!
  23. ERROR: modpost: "vb2_ioctl_create_bufs" [/home/cpu/ktemp/r5u870v2/r5u870v2.ko] undefined!
  24. ERROR: modpost: "vb2_ioctl_dqbuf" [/home/cpu/ktemp/r5u870v2/r5u870v2.ko] undefined!
  25. ERROR: modpost: "vb2_fop_release" [/home/cpu/ktemp/r5u870v2/r5u870v2.ko] undefined!
  26. ERROR: modpost: "video_devdata" [/home/cpu/ktemp/r5u870v2/r5u870v2.ko] undefined!
  27. ERROR: modpost: "v4l2_ctrl_handler_setup" [/home/cpu/ktemp/r5u870v2/r5u870v2.ko] undefined!
  28. ERROR: modpost: "v4l2_fh_open" [/home/cpu/ktemp/r5u870v2/r5u870v2.ko] undefined!
  29. ERROR: modpost: "vb2_ioctl_querybuf" [/home/cpu/ktemp/r5u870v2/r5u870v2.ko] undefined!
  30. ERROR: modpost: "v4l2_ctrl_handler_init_class" [/home/cpu/ktemp/r5u870v2/r5u870v2.ko] undefined!
  31. ERROR: modpost: "vb2_ops_wait_finish" [/home/cpu/ktemp/r5u870v2/r5u870v2.ko] undefined!
  32. ERROR: modpost: "vb2_ioctl_expbuf" [/home/cpu/ktemp/r5u870v2/r5u870v2.ko] undefined!
  33. ERROR: modpost: "vb2_ioctl_streamoff" [/home/cpu/ktemp/r5u870v2/r5u870v2.ko] undefined!
  34. ERROR: modpost: "video_ioctl2" [/home/cpu/ktemp/r5u870v2/r5u870v2.ko] undefined!
  35. ERROR: modpost: "vb2_queue_init" [/home/cpu/ktemp/r5u870v2/r5u870v2.ko] undefined!
  36. vb2 means videobuf2. Also, by the purpose of the module (in our case, this is a
  37. webcam driver), you can guess which options need to be enabled in the kernel.
  38. Thus, the following options must be enabled in the kernel (the list may be
  39. different for different kernel versions):
  40. CONFIG_MEDIA_SUPPORT
  41. CONFIG_MEDIA_CAMERA_SUPPORT
  42. Please note that you cannot directly enable some options such as:
  43. CONFIG_VIDEOBUF2_CORE
  44. CONFIG_VIDEOBUF2_VMALLOC
  45. CONFIG_VIDEOBUF2_V4L2
  46. These options are enabled depending on other options in the kernel.
  47. For example, you can enable the following option:
  48. CONFIG_TOUCHSCREEN_ATMEL_MXT_T37
  49. After enabling this option, the videobuf2 options will be enabled by their
  50. own dependencies. If this is not the case, then read the built-in help in
  51. menuconfig, see what depends on these options and enable them. I cannot
  52. foresee all situations in advance. The instructions described here are just
  53. an example of the logic that should be followed to resolve such errors.