移植Realtek USB无线网卡到 mini2440

移植Realtek USB无线网卡到 mini2440

 

移植USB无线网卡到 mini2440

2013-05-05 15:25  1047人阅读  评论(1)  收藏  举报

文章出处: http://blog.csdn.net/mrjy1475726263/article/details/8886925

【其他参考】 http://hi.baidu.com/placido07/item/e1aae404827b0adedde5b0c5

开发板:mini244

内核版本:2.6.32.2

交叉编译器:arm-linux-gcc-4.4.3

无线网卡:TL-wn721N

无线网卡芯片:rtl8192cu

TL-wn721N 驱动源码包:RTL8192CU

RTL8192xC_USB_linux_v3.4.4_4749.20121105 .zip 

步奏:准备好usb无线网卡,确定网卡芯片所用的驱动源码包(这里是RTL8192xC_USB_linux_v3.4.4_4749.20121105 .zip)

1:手工定制内核,配置usb无线网卡驱动 ,重新编译内核(这里生成的是 zImage)。

2:定制驱动源码、编译生成usb网卡驱动模块(生成的文件:8192cu.ko )

3:内核(zImage)烧写进开发板,并将相应的usb网卡驱动模块(8192cu.ko)装载到开发板(modprobe 8192cu)

4:至此,无线网卡已能用,接着就是搜索wifi热点,连入及配置IP的过程…… 

具体如下:

一、编译内核

注意提供的usb网卡芯片 源码包厂商名称

 在内核目录下:

 执行 make menuconfig

                 进入Device Drivers  —>

                               [*] Network device support  —> 

                                              Wireless LAN  —> 

                                                         将这一项打上信号:<*> Realtek 8192C USB WiFi 

二、配置usb无线网卡驱动

1:在移植无线网卡之前首先得确保你的内核能够识别你的usb网卡,我的网卡插入后显示信息如下

[root@FriendlyARM /]# usb 1-1: USB disconnect, address 2

usb 1-1: new full speed USB device using s3c2410-ohci and address 3

usb 1-1: New USB device found, idVendor=0bda, idProduct=8176

usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3

usb 1-1: Product: 802.11n WLAN Adapter

usb 1-1: Manufacturer: Realtek

usb 1-1: SerialNumber: 00e04c000001

usb 1-1: configuration #1 chosen from 1 choice

此外你还可以通过lsusb命令在你的pc linux系统上读出你的USB网卡型号信息,然后百度一下就可以查到的无线网卡型号了,我的网卡信息如下

Bus 001 Device 002: ID 0bda:8176 Realtek Semiconductor Corp. 

我的无线网卡型号是TL-wn721N开始百度了下说是AR9271后来移植了好久都不行就怀疑网卡型号错了

2:到Realtek官网下载源码包

http://www.realtek.com/downloads/downloadsView.aspx?Langid=3&PNid=48&PFid=48&Level=5&Conn=4&DownTypeID=3&GetDown=false&Downloads=true#RTL8192CU

RTL8192xC_USB_linux_v3.4.4_4749.20121105 .zip

解压到进入到

/RTL8188C_8192C_USB_linux_v3.4.4_4749.20121105/driver/rtl8188C_8192C_usb_linux_v3.4.4_4749.20121105目录下

修改 Makefile配置文件,找到如下代码 改成下面的效果

CONFIG_PLATFORM_I386_PC = n

CONFIG_PLATFORM_ARM_S3C2K4 = y              //修改芯片架构

CONFIG_POWER_SAVING                     =       n     //去掉节能模式

ifeq ($(CONFIG_PLATFORM_ARM_S3C2K4), y)

EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN

ARCH := arm

CROSS_COMPILE := arm-linux-

KVER  := 2.6.32.2

KSRC := /linux-$(KVER)

endif

修改依赖内核类型   我的内核路径/home/tools/linux-2.6.32.2,注意你的内核文件必须的编译过了的否则会提示找不到config配置文件

最后一步就是make 

生成:

[root@localhost rtl8188C_8192C_usb_linux_v3.4.4_4749.20121105]# ls

8192cu.ko     8192cu.o  hal          Kconfig        Module.symvers

8192cu.mod.c  clean     ifcfg-wlan0  Makefile       os_dep

8192cu.mod.o  core      include      modules.order  wlan0dhcp

其中的8192cu.ko就为我们编译得到的驱动

三、将8192cu.ko文件 加载到开发板应用。

在开发板中 进入到/lib/modules/2.6.32.2-FriendlyARM

执行:modpromod 8192cu

(如果不行:先 depmod后 modpromod 8192cu)就行了

四、配置usb无线网

启动无线网卡:ifconfig wlan0 up

查看可用搞得无线网络接入点:iwlist scanning

接入无线网:start-wifi wpa2 wifiname  wifikey

设置IP:ifconfig wlan0 172.16.16.16 netmask xxx.xxx.xxx.xxx up

如:

ifconfig eth0 192.168.2.110 netmask 255.255.255.0 up

route add default gw 192.168.2.1 dev wlan0

到此,已经基本结束

五、为了更好的管理wifi,可以选择编译wireless_tools

进入/home/RTL8188C_8192C_USB_linux_v3.4.4_4749.20121105/wireless_tools/wireless_tools.30.rtl,修改makefile即可

Compiler to use (modify this for cross compile).

CC = arm-linux-gcc

Other tools you need to modify for cross compile (static lib only).

AR = arm-linux-ar

RANLIB = arm-linux-ranlib

再执行make,编译完成后,将生成的iwconfig,iwlist文件拷贝到开发板的根文件系统中的/bin目录下,将

libiw.so.29拷贝到/lib目录下。

Published At
comments powered by Disqus