使用官方 rtl8192cu 无线驱动 无法在 linux kernel >=3.10 编译通过的解决方法

674 查看

现在的linux内核3.10及以上,较于以往的内制无线驱动来说已经好太多了,不过掉线问题还是让人痛恨不已呀

以往的内核的无线驱动掉线了半天连不上而且还是非常的频繁,现在的内核一直在更新,有时一上午可以掉线次数在5次以内,真是太感谢 Linus Torvalds 了。

不过要是能一直不掉线那才是咱们的理想状态。

本人的wifi网卡的芯片用的是 realtek rtl8188cus ,我选择了 rtl8192cu 驱动,这个驱动是可以运用于 rtl8188cus 芯片的。

lsusb

此命令可以查看本机使用的网卡型号

直接官网直载驱动,
http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=3&PFid=48&Level=5&Conn=4&ProdID=277&DownTypeID=3&GetDown=false&Downloads=true

注意,现在官网的驱动已经在 2013/10/29 更新了 现在的新版本是 4.0.2_9000,不过支持的内核 <=3.9

不过不要紧的,有解决办法的,下载下来先。

如果你的内核是 <=3.9 无需做什么更改变动直接 运行 解压后文件夹中的 install.sh 即可

如果你的内核是 >=3.10

直接 运行 install.sh 的话会提示错误,因为缺少 create_proc_entry,和create_proc_read_entry 这两个函数, Linus Torvalds 大神在 kernel 3.10 时删除了这两个函数.

wget https://raw.github.com/raspberrypi/linux/rpi-3.10.y/drivers/net/wireless/rtl8192cu/os_dep/linux/os_intfs.c

把这个文件下载下来。

好,现在解压下载的官方驱动压缩包。

用刚刚下载的 os_intfs.c 这个文件去替换

解压后的官方驱动文件夹/driver/这里也有一个压缩包跟你从官方下载的驱动压缩包同名/os_dep/linux/os_intfs.c

替换后

再运行 install.sh 就可以编译安装成功了.

编译通过并安装完成后会显示如下的字样

Compile make driver ok!!

The Setup Script is completed !

使用 gpedit 打开 /etc/modprobe.d/blacklist.conf

添加 blacklist rtl8192cu 屏蔽掉内核集成的无线驱动不让其加载

reboot your system

OK 不用再担心掉线了

细心的话应该能发现,在没有安装官方的驱动之前,无线的信号连接图标,是不稳定的,

一会满格,一会少一格或者二格,当你编译安装了官方驱动后,

会发现 无线的信号连接图标是一直处于满格状态的。

提供一个我已经合成好的可以直接编译安装的压缩包[rtl8192cu_driver] http://yunpan.cn/QNineINrF4HGx (提取码:0ca4)