Maybe try to use gdb to get an error of relevance. Or maybe one was posted to the logs? I don't know if you are an expert but I am sure not. Using gdb is uncomfortable at best for someone who doesn't really get it. I tried to run modprobe under gdb on my machine as an example. I am of course assuming you are able to boot the system, or can chroot to it.
I did something like this: (I don't know if this is the correct procedure check the man page for more info)
Code:
# gdb modprobe
GNU gdb (GDB) 7.5
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-slackware-linux".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /sbin/modprobe...(no debugging symbols found)...done.
(gdb) run /sbin/modprobe
I'm not sure if this will give you any useful output as I am not quite sure if you can stick the 'ndiswrapper' on there. Also try checking 'dmesg | tail' sometimes there are clues here. Or you can go and read days worth of logs from dmesg by checking /var/log/dmesg. Hope some of this helps.