On Mon, Mar 13, 2017 at 10:42 AM, Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> wrote: > On Mon, Mar 13, 2017 at 6:18 AM, SIMRAN SINGHAL > <singhalsimran0@xxxxxxxxx> wrote: >> On Mon, Mar 13, 2017 at 12:05 AM, Alexander Kapshuk >> <alexander.kapshuk@xxxxxxxxx> wrote: >>> On Sun, Mar 12, 2017 at 8:20 PM, SIMRAN SINGHAL >>> <singhalsimran0@xxxxxxxxx> wrote: >>>> On Sun, Mar 12, 2017 at 10:15 PM, Alexander Kapshuk >>>> <alexander.kapshuk@xxxxxxxxx> wrote: >>>>> On Sun, Mar 12, 2017 at 5:34 PM, <valdis.kletnieks@xxxxxx> wrote: >>>>>> On Sun, 12 Mar 2017 15:49:31 +0200, Alexander Kapshuk said: >>>>>> >>>>>>> Are these drivers, drivers/iio/dummy/{iio_dummy_evgen,iio_dummy}.ko, >>>>>>> something of your own making, as I'm not seeing them in the kernel >>>>>>> source tree? >>>>>>> >>>>>>> The 'modules_install' make target installs drivers that have been >>>>>>> compiled as modules as opposed to those compiled into the kernel, into >>>>>>> /lib/modules/`uname -r`. For your own modules added to the kernel >>>>>>> source tree, or built out-of-tree, that would involve putting >>>>>>> appropriate entries into Kconfig and/or Makefiles. >>>>>>> >>>>>>> Modeprobe expects your module to be found in /lib/modules/`uname -r`. >>>>>>> Otherwise, your module won't get loaded. >>>>>> >>>>>> One other thing to remember is that although 'make modules_install' will >>>>>> take all the .ko files from in-tree modules and put them in their proper >>>>>> place in /lib/modules/`uname-r` and then run 'depmod', many out-of-tree >>>>>> Makefiles manage to forget to do that last step. >>>>>> >>>>>> modprobe is a wrapper around insmod - and the file produced by 'depmod' >>>>>> are what the wrapper uses to find the module. >>>>> >>>>> Thanks for elaborating on that. >>>> >>>> Still not working >>>> >>>> First I executed following commands:- >>>> >>>> $ make drivers/iio/dummy/iio_dummy_evgen.ko >>>> $ make drivers/iio/dummy/iio_dummy.ko >>>> >>>> Above commands executed successfully >>>> >>>> Then I run following command: >>>> $ insmod iio_dummy_evgen.ko >>>> >>>> Getting following error: >>>> insmod: ERROR: could not load module iio_dummy_evgen.ko: No such file >>>> or directory >>>> >>>> And, then I try executing them from driver/staging/dummy and then I >>>> got this error: >>>> insmod: ERROR: could not insert module iio_dummy_evgen.ko: Operation >>>> not permitted >>> >>> You have to run insmod as user root. Either specify the full path to >>> your module, or cd into the directory where the module is and run >>> insmod from there. >> >> I tried this before also but as you said I tried it again: >> # insmod iio_dummy_evgen.ko >> insmod: ERROR: could not insert module iio_dummy_evgen.ko: Invalid module format >> >> Now, I am getting this error. > > Sounds like your kernel module has been compiled for kernel sources > whose version is different to the version of the kernel you are trying > to load your module into. > > See http://www.tldp.org/LDP/lkmpg/2.6/html/x380.html for details. > > In other words, the version output by 'uname -r' must match the > version output by 'modinfo iio_dummy_evgen.ko | grep vermagic'. Hi, The problem is same you got, I have different versions of uname-r and the version output I got through vermagic. # modinfo iio_dummy_evgen.ko filename: /home/simran/git/kernels/staging/drivers/iio/dummy/iio_dummy_evgen.ko license: GPL v2 description: IIO dummy driver author: Jonathan Cameron <jic23@xxxxxxxxxx> srcversion: A8AC238EC07833E018CAF7B depends: industrialio intree: Y vermagic: 4.11.0-rc1+ SMP mod_unload modversions $ uname -r 4.10.0-rc3+ How to deal with this? _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies