I'm trying to install ndiswrapper to get my wireless Netgear to work. I did the following:

apt-get install ndiswrapper-source

Which completes successfully.


apt-get install ndiswrapper-dkms

Which returns: Setting up dkms ( ... Setting up ndiswrapper-dkms (1.57-1ubuntu1) ... Loading new ndiswrapper-1.57 DKMS files... First Installation: checking all kernels... Building only for 3.11.0-19-generic Building initial module for 3.11.0-19-generic Error! Bad return status for module build on kernel: 3.11.0-19-generic (x86_64) Consult /var/lib/dkms/ndiswrapper/1.57/build/make.log for more information.

When I look at /var/lib/dkms/ndiswrapper/1.57/build/make.log I see:

Cannot find kernel build files in /usr/src/linux-headers-3.11.0-19-generic
Please give the path to kernel build directory with
the KBUILD=<path> argument to make

Upon closed examination the makefile expects to find:



What's going wrong? Looks like an incompatibility between the ndiswrapper and the kernel. But I'm using the latest version of both.

Update: I downloaded The driver compiled fine and I was able to install my driver:

ndiswrapper -l
bcmwlhigh6 : driver installed
device (0846:9011) present

However, I still have no wireless, iwconfig does not show anything. I noticed that:

modprobe ndiswrapper

Returns nothing.

Then I did: dmesg|grep ndis

And voila. Seems like even though the driver compiled and installed successfully it's all broken, possibly due to the kernel mismatch or something...

[  495.031481] ndiswrapper: module verification failed: signature and/or required key missing - tainting kernel
[  495.032287] ndiswrapper version 1.59 loaded (smp=yes, preempt=no)
[  495.295718] ndiswrapper (import:232): unknown symbol: NDIS.SYS:'NdisQueueIoWorkItem'
[  495.295725] ndiswrapper (import:232): unknown symbol: NDIS.SYS:'NdisFreeIoWorkItem'
[  495.295729] ndiswrapper (import:232): unknown symbol:     NDIS.SYS:'NdisMSetMiniportAttributes'
[  495.295734] ndiswrapper (import:232): unknown symbol: NDIS.SYS:'NdisMResetComplete'
[  495.295737] ndiswrapper (import:232): unknown symbol: NDIS.SYS:'NdisMAllocatePort'
[  495.295741] ndiswrapper (import:232): unknown symbol: NDIS.SYS:'NdisAllocateIoWorkItem'
[  495.295744] ndiswrapper (import:232): unknown symbol:    NDIS.SYS:'NdisMSendNetBufferListsComplete'
[  495.295748] ndiswrapper (import:232): unknown symbol: NDIS.SYS:'NdisMDeregisterMiniportDriver'
[  495.295751] ndiswrapper (import:232): unknown symbol:   NDIS.SYS:'NdisAllocateNetBufferListPool'
[  495.295756] ndiswrapper (import:232): unknown symbol: NDIS.SYS:'NdisMNetPnPEvent'
[  495.295761] ndiswrapper (import:232): unknown symbol: NDIS.SYS:'NdisMRegisterMiniportDriver'
[  495.295765] ndiswrapper (import:232): unknown symbol: NDIS.SYS:'NdisMFreePort'
[  495.295768] ndiswrapper (import:232): unknown symbol: NDIS.SYS:'NdisMIndicateReceiveNetBufferLists'
[  495.295772] ndiswrapper (import:232): unknown symbol: NDIS.SYS:'NdisMPauseComplete'
[  495.295776] ndiswrapper (import:232): unknown symbol: NDIS.SYS:'NdisFreeNetBufferListPool'
[  495.295779] ndiswrapper (import:232): unknown symbol: NDIS.SYS:'NdisCancelTimerObject'
[  495.295783] ndiswrapper (import:232): unknown symbol: NDIS.SYS:'NdisOpenConfigurationEx'
[  495.295786] ndiswrapper (import:232): unknown symbol: NDIS.SYS:'NdisSetTimerObject'
[  495.295790] ndiswrapper (import:232): unknown symbol: NDIS.SYS:'NdisFreeTimerObject'
[  495.295794] ndiswrapper (import:232): unknown symbol: NDIS.SYS:'NdisAllocateTimerObject'
[  495.295797] ndiswrapper (import:232): unknown symbol: NDIS.SYS:'NdisMIndicateStatusEx'
[  495.295801] ndiswrapper (import:232): unknown symbol: NDIS.SYS:'NdisFreeNetBufferList'
[  495.295808] ndiswrapper (import:232): unknown symbol: NDIS.SYS:'NdisMGetBusData'
[  495.295812] ndiswrapper (import:232): unknown symbol: NDIS.SYS:'NdisGetSystemUpTimeEx'
[  495.295815] ndiswrapper (import:232): unknown symbol: NDIS.SYS:'NdisAllocateNetBufferAndNetBufferList'
[  495.295819] ndiswrapper (import:232): unknown symbol: NDIS.SYS:'NdisAllocateMdl'
[  495.295822] ndiswrapper (import:232): unknown symbol: NDIS.SYS:'NdisFreeMdl'
[  495.295828] ndiswrapper (import:232): unknown symbol: NDIS.SYS:'NdisMOidRequestComplete'
[  495.295832] ndiswrapper (import:232): unknown symbol: NDIS.SYS:'NdisAllocateMemoryWithTagPriority'
[  495.295839] ndiswrapper (import:232): unknown symbol: WDFLDR.SYS:'WdfVersionBind'
[  495.295841] ndiswrapper (import:232): unknown symbol: WDFLDR.SYS:'WdfVersionBindClass'
[  495.295844] ndiswrapper (import:232): unknown symbol:  WDFLDR.SYS:'WdfVersionUnbindClass'
[  495.295847] ndiswrapper (import:232): unknown symbol: WDFLDR.SYS:'WdfVersionUnbind'
[  495.295849] ndiswrapper (load_sys_files:200): couldn't prepare driver 'bcmwlhigh6'
[  495.296262] ndiswrapper (load_wrap_driver:103): couldn't load driver bcmwlhigh6; check system log for messages from 'loadndisdriver'
[  495.296300] usbcore: registered new interface driver ndiswrapper

Ended up downloading https://launchpad.net/ubuntu/+source/ndiswrapper/1.59-1/ndiswrapper_1.59.orig.tar.gz

then make and make install. After downloading the correct driver bcmn43xx64 as described in Unable to get wireless netgear WNDA3100v2 to work I was able to connect to wlan.


I expect you are running Ubuntu 12.04.4 Precise. The ndiswrapper version in the repositories is 1.57. However, 12.04.4 uses the same kernel, build tools, etc. as Ubuntu 13.10. I expect you'd have better luck downloading and installing ndiswrapper 1.58 from Saucy here: http://packages.ubuntu.com/search?keywords=ndiswrapper&searchon=names&suite=saucy&section=all

In order to use ndiswrapper-source, it must first be extracted and compiled. From the README:

less /usr/share/doc/ndiswrapper-source/README.Debian

Building ndiswrapper kernel modules with module-assistant

Please install the module-assistant package and issue the following commands:-

$ m-a prepare
$ m-a a-i ndiswrapper

The above commands will prepare, compile, package and install a set of ndiswrapper modules for your kernel.

m-a is short for module-assistant, and a-i is short for auto-install. Please see the module-assistant documentation for further details.

In Ubuntu, those commands require sudo.

  • I actually tried that too. I get "Bad luck, the kernel headers for the target kernel version could be found and you did not specify other valid kernel headers to use." – Ya. Apr 12 '14 at 0:47
  • Also it seems like it's the same code version 1.57, just packaged differently. "Unpacking ndiswrapper-source (from .../ndiswrapper-source_1.57-1ubuntu1_all.deb) ... Setting up ndiswrapper-source (1.57-1ubuntu1) ..." – Ya. Apr 12 '14 at 0:52
  • Are you saying that if you download 1.58-2 from my link that it unpacks as 1.57?? Also, do you have linux-headers-generic installed? – chili555 Apr 12 '14 at 1:06
  • Yep. that's exactly what appears to be happening. – Ya. Apr 12 '14 at 1:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.