ubuntu9(bt5)下安装TP-LINK TL-WN823N无线网卡驱动(rtl8192cu芯片组)

来源:互联网 发布:源码客栈 编辑:程序博客网 时间:2024/05/15 23:03
1 查看无线网卡的USB ID号
终端下输入lsusb:

thinki@G31T-M2:~$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 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.zip

cd driver

tar 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/,在终端下直接:

make
sudo 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配置无线网络,如下图:
Ubuntu12.04下安装TP-LINK TL-WN727N无线网卡驱动(RTL8192CU芯片组) - 小辉辉 - 小辉辉的博客
接下来将驱动模块添加到开机启动列表即可,注意这一步需要在root用户下操作

sudo -i
echo 8192cu >> /etc/modules

 不过经我个人验证,即使不加入开机启动列表,网卡在重启后也能正常工作。
0 0
原创粉丝点击