您的位置:首页 > 编程语言 > PHP开发

Ubuntu12.04下安装TP-LINK TL-WN823N无线网卡驱动(RTL8192CU芯片组)

2015-01-14 00:27 711 查看




Ubuntu12.04下安装TP-LINK TL-WN823N无线网卡驱动(RTL8192CU芯片组)

2013-12-04 21:16:04| 分类: Ubuntu | 标签:usb无线网卡 rtl8192cu ubuntu12.04 tl-wn823n |举报|字号 订阅



近实验室买了一块TP-LINK TL-WN823N USB无线网卡,Windows下驱动很好安装,Ubuntu下网卡的安装方式同我之前安装TL-WN322G+网卡,链接:http://blog.163.com/thinki_cao/blog/static/8394487520134514629561,这里简要说明:

1 查看无线网卡的USB ID号
终端下输入lsusb:

thinki@G31T-M2:~$ lsusbBus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hubBus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hubBus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hubBus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hubBus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hubBus 001 Device 004: ID 0bda:8178 Realtek Semiconductor Corp. Bus 002 Device 002: ID 0e8f:0022 GreenAsia Inc. Bus 004 Device 002: ID 046d:c52f Logitech, Inc. Wireless Mouse M305


红色粗体字即为USB网卡的ID号
2 根据USB ID号查找芯片组驱动
在google上搜索0bda 8178ID号,即可以发现该序列号对应的是Realtek的RTL8192CU芯片组,最后一个“U”指的即是USB接口。在Realtek官网上找到rtl8192cu驱动:
http://152.104.125.41/downloads/downloadsView.aspx?Langid=1&PNid=48&PFid=48&Level=5&Conn=4&DownTypeID=3&GetDown=false&Downloads=true#RTL8192CU,不过悲剧的是realtek的网站貌似出了问题,怎么都下载不了,后来终于在一个第三方网站找到了驱动,链接送上:http://www.strapp.co.uk/downloads/RTL819xCU_USB_linux_v3.4.3_4369.20120622.zip,还有一个稍旧一点的驱动,也送上链接:http://www.gallot.be/resources/RTL819xCU_USB_linux_v3.4.2_3727.20120404.zip,这两个都可以。

3 安装驱动

realtek rtl8192cu的驱动包里面包含了很多安装说明,这一点还是很人性化的:

document
├── HowTo_enable_driver_to_support_WIFI_certification_test.pdf
├── HowTo_enable_the_power_saving_functionality.pdf
├── HowTo_support_more_VidPids.pdf
├── linux_dhcp_server_notes.txt
├── Quick_Start_Guide_for_Bridge.pdf
├── Quick_Start_Guide_for_SoftAP.pdf
├── Quick_Start_Guide_for_Station_Mode.pdf
├── RTK_Wi-Fi_Direct_Programming_guide.pdf
├── SoftAP_Mode_features.pdf
├── Wireless_tools_porting_guide.pdf
└── wpa_cli_with_wpa_supplicant.pdf


现在解压安装包:

tar xvf RTL819xCU_USB_linux_v3.4.3_4369.20120622.zipcd drivertar xvf rtl8188C_8192C_usb_linux_v3.4.3_4369.20120622


这里有一点需要注意的是,当你的USB插入电脑的USB接口时,对应驱动的加载与否取决于你的USB ID号,因此,对于没有在驱动中注册过相应USB ID号的网卡,我们需要人为添加USB ID号,可以参考document下的HowTo_support_more_VidPids.pdf。具体的做法是修改driver/rtl8188C_8192C_usb_linux_v3.4.3_4369.20120622/os_dep/linux/usb_intf.c,找到rtw_usb_id_tbl数组,添加对应的PID,(VID已经定为0BDA,即代表realtek),我们可以找到如下几行:

/****** 8192CUS ********/{USB_DEVICE(USB_VENDER_ID_REALTEK, 0x8177)},//8191cu 1*2{USB_DEVICE(USB_VENDER_ID_REALTEK, 0x8178)},//8192cu 2*2{USB_DEVICE(USB_VENDER_ID_REALTEK, 0x817C)},//8192CE-VAU USB minCard


由于在驱动中已经添加了TL-WN727N网卡的PID号,因此我们不需要修改,如果是新设备的话则需要在这里添加,否则USB设备将无法被linux识别!
进入驱动目录,即driver/rtl8188C_8192C_usb_linux_v3.4.3_4369.20120622/,在终端下直接:

makesudo make install


这里在make的过程中会出现一个error:

thinki@G31T-M2:~/rtl8188eu$ make

make ARCH=i386 CROSS_COMPILE=arm-xilinx-linux-gnueabi- -C /lib/modules/3.2.0-37-generic-pae/build M=/home/thinki/rtl8188eu modules

make[1]: 正在进入目录 `/usr/src/linux-headers-3.2.0-37-generic-pae'

/usr/src/linux-headers-3.2.0-37-generic-pae/arch/x86/Makefile:81: stack protector enabled but no compiler support

CC [M] /home/thinki/rtl8188eu/core/rtw_cmd.o

Assembler messages:

Error: unknown architecture `i686'

Error: unrecognized option -march=i686

cc1: error: unrecognized command line option '-mregparm=3'

cc1: error: bad value (i686) for -march switch


make[2]: *** [/home/thinki/rtl8188eu/core/rtw_cmd.o] 错误 1

make[1]: *** [_module_/home/thinki/rtl8188eu] 错误 2

make[1]:正在离开目录 `/usr/src/linux-headers-3.2.0-37-generic-pae'

make: *** [modules] 错误 2

在网上google了好一会也没找到是什么问题,后来在国外的网站上发现了问题,原来是我之前安装了Xilinx zynq的交叉编译工具链,在/etc/profile定义了CROSS_COMPILE宏,然后在make的时候被作为了gcc的前缀,也就是我在用交叉编译工具链编译x86的驱动,自然会报-march=i686是未识别的选项了!

make改成make CROSS_COMPILE= 即可!

即编译安装,然后使用modprobe加载驱动:

sudo modprobe 8192cu


即可在面板上看到无线网卡被识别出来,并且能够通过Network Manager配置无线网络,如下图:



接下来将驱动模块添加到开机启动列表即可,注意这一步需要在root用户下操作

sudo -iecho 8192cu >> /etc/modules


不过经我个人验证,即使不加入开机启动列表,网卡在重启后也能正常工作。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: