比尔盖子 博客

在 Linux 下使用 RTL8188CUS (磊科NW336)无线网卡

磊科 NW336 这款使用 RTL8188CUS 芯片的无线网卡大受欢迎,是有原因的。其一,价格便宜无比,在京东商城上仅售25元;其二,这款无线网卡可以在 Mac OS X 下工作,对于安装了黑苹果的人是一大福音,尽管驱动程序没有使用系统的原生管理接口,但还是有胜于无。

比尔盖子也正是因为这些原因而入手了这款网卡。在 Linux 下,这网卡可有得折腾了。一开始以为只要在 Linux 内核中勾选上差不多的驱动即可,没想到的是内核驱动存在 bug,能搜索到无线信号,却无法连接任何网络。好在,Realtek 发布了这款无线网卡的驱动源代码,所以这个问题应该是有解的。

准备工具

比尔盖子使用的是 Gentoo,因此不需要额外准备任何的开发工具或编译工具;如果你使用 Ubuntu/Fedora 等二进制发行版,应该先安装相应的开发包。

Fedora (如果你不使用 PAE 内核,请去掉 PAE 字样):

yum install gcc kernel-PAE kernel-PAE-devel kernel-headers dkms

Ubuntu:

apt-get install make gcc linux-kernel-devel linux-headers-`uname -r`

安装原生驱动

注意:由于在 Linux 3.7 内核中已经去除了过时的 kernel_thread 函数,因此导致此驱动无法运行。到目前为止,此驱动没有任何更新的计划,所以……如果你的内核版本小于 Linux 3.7 才能安装,否则,看下一章吧。

在 Linux 3.8 中,内核自带的驱动工作比较完美,可以不用折腾了。

下载驱动

猛击这里直达驱动下载页面,要下载 RTL8188CUS 部分的 Unix (Linux) 驱动,但这个网页的可读性实在太差,因此给出超科学的朝内镜像下载链接

把默认驱动屏蔽

由于内核默认的(有问题的)驱动会与我们之后安装的驱动冲突,因此,我们需要在这里禁止内核默认驱动自动加载:

echo "blacklist rtl8192cu" >> /etc/modprobe.d/blacklist.conf
echo "blacklist rtl8192c_common" >> /etc/modprobe.d/blacklist.conf

然后重启,如果你发现无线网络已经不能被系统识别了,那么就大功告成。

编译安装

接下来我们将下载好的源代码解压缩到任意目录,假设是~/source/RTL8188C_8192C_USB_linux_v3.4.4_4749.20120806

执行:

cd ~/source/RTL8188C_8192C_USB_linux_v3.4.4_4749.20120806
chmod +x ./install.sh
sudo ./install.sh

编译结束后,你的网络管理器就应该能正常检测并连接到无线网络了。

通过 NdisWrapper 直接使用 Windows 驱动

如果你不得不使用最新版本内核,那么你只能通过 NdisWrapper 来直接运行 Windows 的二进制驱动。
在 Linux 3.8 中,内核自带的驱动工作比较完美,可以不用折腾了。

安装 NdisWrapper

Fedora:

yum install ndiswrapper

Ubuntu:

apt-get install ndiswrapper-source ndiswrapper-utils

Gentoo:

emerge ndiswrapper

下载 Windows 网卡驱动

依然猛击这里直达驱动下载页面,不过这次要下载 RTL8188CUS 部分的 Windows 驱动,但并不是所有这些文件都有用。因此这里还提供超不科学的精简版天朝镜像

默认驱动屏蔽

由于内核默认的(有问题的)驱动会与 NdisWrapper 冲突,因此,我们需要在这里禁止内核默认驱动自动加载:

echo "blacklist rtl8192cu" >> /etc/modprobe.d/blacklist.conf
echo "blacklist rtl8192c_common" >> /etc/modprobe.d/blacklist.conf

然后重启,如果你发现无线网络已经不能被系统识别了,那么就大功告成。

配置 NdisWrapper

首先,解压缩下载的驱动程序,提取 WinXP/ 文件夹内的驱动(我们能看到三个文件:etrtwlanu.cat, netrtwlanu.inf, RTLBt.inf 和 rtwlanu.sys),假设提取到 ~/source/ndiswrapper/WinXP/,然后执行:

cd ~/source/ndiswrapper/WinXP/
ndiswrapper -i netrtwlanu.inf
ndiswrapper -m
ndiswrapper -mi

这时你应当看到你的无线网卡正常工作。

Categories: IT生活, Linux

迁移到 ZFS » « 新版mdadm导致Gentoo mdadm变成只读

6 Comments

  1. 同linux3.8 有点忐忑了。。。

  2. 这个卡在linux 3.8下还是不能工作,还是要自已编译。

  3. 好神奇的样子~

    我的笔记本基本不需要修改东西就能跑黑apple~那还是高一的时候折腾,就差一个创新的声卡驱动,最后自己写的搞定了。

  4. 三无屌丝路过,博客不错呵

发表评论

Your email address will not be published.

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax

Copyright © 2023 比尔盖子 博客

Theme by Anders NorenUp ↑