I'm trying to install drivers for Asus pce-N10 wireless adapter onto ubuntu mate 16.04 It is provided with source files of drivers and a readme that basically says:

Installation: type 'sudo su make make install'

Of course it doesn't work this way. Instead I get the error:

gcc: error: /lib/modules/4.4.0-22-generic/build/include/linux/autoconf.h: No such file or directory

apparently the file is absent from there. How do I make one?


apt-get install linux-headers-generic returns

linux-headers-generic is already newest version (4.4.0.22.23)

I've found a bunch of advice to compile my own kernel on internets but fail to do so. For example, #4 in this one is rather old and naming schemes of the folders seem to differ from what I'm getting. I've tried navigating to the makefile in the unzipped sources and running the command listed in the link:

make menuconfig

But that one returns errors about even more missing files not even seeming related ones.

Another mention of the problem here suggests the following commands in the sources folder:

 make oldconfig
 make prepare

Those are executed without error, but autoconf.h doesn't seem to appear in any related folder. When run in the /lib/modules/4.4.0-22-generic/ folder make prepare causes following error:

make1: *** No rule to make target 'arch/x86/entry/syscalls/syscall_32.tbl' needed by 'arch/x86/entry/syscalls/../../include/generated/asm/syscalls_32.h'. Stop


linux/autoconf.h has moved to generated/autoconf.h it seems in newer kernels. I don't know when this happened, but I had the same problem with a 3.2 kernel. I just renamed and this seemed to fix that specific problem. However there will probably be other changes so I suspect you will still need to port the driver to your required kernel.

See also https://serverfault.com/a/568397