8

在 debian-7.7.0 编译 Realtek RTL8188CUS USB 无线网卡驱动

 2 years ago
source link: https://www.liurongxing.com/in-debian-7-7-0-compiler-realtek-rtl8188cus-usb-wireless-lan-driver.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

在 debian-7.7.0 编译 Realtek RTL8188CUS USB 无线网卡驱动

作者: JavasBoy 分类: Linux, Network 发布时间: 2014-12-21 19:03 ė 111,118 views 6 没有评论

前几天因FreeBSD10.0在我的笔记本上接投影无法双屏,然后新安装了 Linux mint 17 一切的完美,非常不错的一个发行版。完美支持 X61s 的多功能键,休眠,我想要的双屏也支持。唯一就是我的网件(Netgear)WNA1000M 150M迷你USB无线网卡无法驱动,通过 lsusb 命令可查看到这块网卡所用芯片为 Realtek RTL8188CUS。说明内核可以认这块网卡,Google 之发现问题是内核自带的驱动不正常,原因是内核太新了,Realtek 官方的驱动源代码 (Version 4.0.2_9000) 只支持 Linux Kernel 2.6.18~3.9,而这个系统使用的内核如下:

3.13.0-42-generic
lsusb
Bus 004 Device 004: ID 0846:9041 NetGear, Inc. WNA1000M 802.11bgn [Realtek RTL8188CUS]

按照 http://blog.chinaunix.net/uid-22883023-id-4392914.html 这篇博文的方法编译也无效,系统启动的时候报:

dmesg | grep 8192
8192cu module verification failed signature and/or required key missing - tainting kernel

折腾几个小时后,决定装个 ubuntu-14.04.1 这个内核正好是上面博文中讲到的 3.13.0-32-generic。可是当我装好正常编译后,也同样遇到上面这个问题,不过这是我这么多年再次装 Ubuntu 字体显示效果比 xfce4 好太太妈多了,都不舍得换其它发行版系统鸟。

再次想找个内核版本旧一点的系统,这次必须拿出 Debian 这个号称最稳定的版本了。下载 debian-7.7.0-amd64-xfce-CD-1.iso ,量产 U 盘一气呵成。安装的过程中最好插上网线联上网,因为我是要安装 xfce 桌面环境,这样在安装的过程中会安装最新的软件,以及字体,还有一些驱动。

安装好之后首先查看内核版本是多少(其实下载 iso 镜像的时候我就查过了在 2.6.18~3.9 之内,就是怕安装的过程中更新了内核)。

javasboy:~$ uname -a
Linux javasboy 3.2.0-4-amd64 #1 SMP Debian 3.2.63-2+deb7u2 x86_64 GNU/Linux

很好,内核版本为 3.2.0-4-amd64,这次我是到 Realtek 官网下载的RTL8188CUS源代码驱动。
下载地址如下:
http://www.realtek.com/downloads/downloadsView.aspx?Langid=1&PNid=48&PFid=48&Level=5&Conn=4&DownTypeID=3&GetDown=false&Downloads=true#2742
下载好的文件名为:
RTL8188C_8192C_USB_linux_v4.0.2_9000.20130911.zip

解压、进入 RTL8188C_8192C_USB_linux_v4.0.2_9000.20130911/driver 目录,再把这个目录下的 rtl8188C_8192C_usb_linux_v4.0.2_9000.20130911.tar.gz 解压。
这份驱动默认是使能了网卡节能功能,并且打开了debug信息,我对比了关闭节能功能,传输速度从 2M/s 提升到了 2.8M/s,暂时还不清楚关掉这个节能功能对笔记本有啥影响,反正我这电池只能坚持30分钟的样子,到哪都带着电源线。

补丁如下:

diff -uNr rtl8188C_8192C_usb_linux_v4.0.2_9000.20130911/include/rtw_debug.h rtl8188C_8192C_usb_linux_v4.0.2_9000.20130911_patch2/include/rtw_debug.h
--- rtl8188C_8192C_usb_linux_v4.0.2_9000.20130911/include/rtw_debug.h   2013-09-11 11:56:55.000000000 +0800
+++ rtl8188C_8192C_usb_linux_v4.0.2_9000.20130911_patch2/include/rtw_debug.h    2014-12-21 17:32:12.457692312 +0800
@@ -310,6 +310,7 @@
#define DBG_871X_LEVEL LOG_LEVEL
+#undef _dbgdump
#if     defined (_dbgdump)
#undef DBG_871X
//      #define DBG_871X _dbgdump
diff -uNr rtl8188C_8192C_usb_linux_v4.0.2_9000.20130911/Makefile rtl8188C_8192C_usb_linux_v4.0.2_9000.20130911_patch2/Makefile
--- rtl8188C_8192C_usb_linux_v4.0.2_9000.20130911/Makefile      2013-09-11 11:56:55.000000000 +0800
+++ rtl8188C_8192C_usb_linux_v4.0.2_9000.20130911_patch2/Makefile       2014-12-21 17:30:52.749296924 +0800
@@ -29,7 +29,7 @@
CONFIG_SDIO_HCI = n
CONFIG_MP_INCLUDED = n
-CONFIG_POWER_SAVING = y
+CONFIG_POWER_SAVING = n
CONFIG_USB_AUTOSUSPEND = n
CONFIG_HW_PWRP_DETECTION = n
CONFIG_WIFI_TEST = n

(1) 编译准备工作:
sudo apt-get install build-essential linux-headers-3.2.0-4-amd64

(2) 进入编译目录 driver/rtl8188C_8192C_usb_linux_v4.0.2_9000.20130911 (其实也可以使用官方提供的 install.sh 脚本)

sudo make modules
sudo make install

(3) 编译好的 8192cu.ko 文件将会自动安装到 /lib/modules/3.2.0-4-amd64/kernel/drivers/net/wireless/ 目录下。

(4) 禁止内核默认的rtl8192cu模块加载:

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

(5) 最后重新加载 modules

sudo depmod -a 3.2.0-4-amd64

(6) 重启动系统,进入桌面后网络连接里已经可以看到无线网卡列出的可用网络,连接家里的无线,通过台式机传送了一个1G多的电影,速度达到了2.8M/s,这样的小网卡有这个速度已经不错了。就是ping 网关的延迟有6-8 ms。

  1. 测试 USB 网卡插拔也能正常工作。
  2. 系统挂起(睡眠)后 wifi 也能正常工作。
  3. 系统休眠启动后也能正常工作。
  4. 发热也不能高,在 FreeBSD 系统下巨热。

发表评论 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注

评论

显示名称 *

电子邮箱地址 *

网站网址


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK