?

Log in

No account? Create an account
Previous Entry Share
Netgear WNA3100 on Ubuntu 10.10
reminiscenza
Here is how to install the drivers for WNA3100 under Ubuntu.

1. Get ndiswrapper source code here:
http://sourceforge.net/apps/mediawiki/ndiswrapper/index.php?title=Main_Page

2. Untar the archive.
3. Append the following to driver/ntoskernel_io.c

------------
wstdcall NTSTATUS WIN_FUNC(IoUnregisterPlugPlayNotification,1)
(void *tag)
{
TRACE2("%p", tag);
TODO(); /* Probably Not, legacy function abandoned in Windows 7 */
IOEXIT(return STATUS_SUCCESS); /* Linux doesn't use it either */
}
------------

NOTE: be sure to remove the trailing spaces, otherwise mkexports.sh will not recognize new function and you will get errors during make process. 

4. Get a patch from here:
http://sourceforge.net/tracker/download.php?group_id=93482&atid=604452&file_id=382833&aid=3042172
Put it in the driver folder, then run
patch -p1 < ndis*.patch

5. Uninstall all ndiswrapper packages, if installed (sudo apt-get remove ndiswrapper- to see installed packages and then hit ENTER to remove).

6. You may need to do (if the following step fails)
sudo apt-get build-dep ndiswrapper-dkms

7. Compile:
make

8. Install:
sudo make install

9. In my case, it installed to a wrong folder (/lib/modules/misc). If this is the case, in sudo mode, copy the file ndiswrapped.ko from that dir to
/lib/modules//kernel/drivers/misc

then do
sudo /sbin/depmod -a -b /

10. Check the installation:
ndiswrapper -i

should print something like this:
utils version: '1.9', utils version needed by module: '1.9'
module details:
filename: /lib/modules/2.6.35-24-generic-pae/kernel/drivers/misc/ndiswrapper.ko
version: 1.56
vermagic: 2.6.35-24-generic-pae SMP mod_unload modversions 686

11. Then you need to get Windows driver files: bcmwlhigh5.inf, bcmwlhigh5.sys. Either run the installation CD on a Windows machine, or do an installation under Wine.
In my case, it put the files in ~/.wine/drive_c/Program Files/NETGEAR/WNA3100/Driver/WinXP2000

12. Install the Windows driver:
sudo ndiswrapper -i bcmwlhigh5.inf

13. Check the installation (don't forget to plug in the device as I did :) ):
ndiswrapper -l
should print
bcmwlhigh5 : driver installed
device (0846:9020) present

14. Enjoy (use network manager to connect to your wireless network).