光盘中自带的linux驱动是基于内核2.6的,ubuntu14的内核是3.13,根据光盘中默认的驱动,得知nw336 model是RTL8188CUS,官方下载地址:http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=3&PNid=21&PFid=48&Level=5&Conn=4&DownTypeID=3&GetDown=false,当前unix最新版为4.0.2,支持2.6.18以后的版本。
下载后解压,进入文件目录,给install.sh可执行权限。执行install.sh,os_intfs.c应该会报两个编译的错误,需要更改driver/rtl8188C_8192C_usb_linux_v4.0.2_9000.20130911/os_dep/linux/os_intfs.c这个文件源码,可以直接使用这份代码覆盖。当前再执行install.sh,还是报同样的错误,查看install.sh得知,每次编译的时候,程序使用的是rtl8188C_8192C_usb_linux_v4.0.2_9000.20130911.tar.gz解压后的驱动代码,所以更改os_intfs.c之后,需要在driver目录下重新打包rtl8188C_8192C_usb_linux_v4.0.2_9000.20130911。
按如上步骤操作后,再次执行install.sh,发现编译成功,但是提示无法加载8192cu模块。这是因为系统已经加载了内核集成的无线驱动,通过lsmod | grep rtl8192查看,使用rmmod删除掉rtl8192cu与rtl8192c_common这两个模块。此时,重新执行install.sh,发现8192cu加载成功,并且发现网卡也能用了。
电脑重新启动后,加载的依然是rtl8192cu与rtl8192c_common这两模块,可以编辑/etc/modprobe.d/blacklist.conf,在末尾加入blacklist rtl8192cu,blacklist rtl8192c_common,从而禁止这两个模块的加载。
最后把8192cu写入modules,echo 8192cu >> /etc/modules