Realtek 8192cu 驱动移…

本文详细介绍了如何在Samsung S5PV210开发板上,针对Android 2.2系统移植和配置Realtek 8192cu无线网卡驱动。内容包括解决vmalloc内存分配问题,修改内核启动参数,编译驱动程序,调整AndroidBoard.mk、BoardConfig.mk和init.rc,移植wpa_supplicant、dhcpcd以及wifi HAL的相关步骤。
摘要由CSDN通过智能技术生成

开发板是三星 S5PV210,Android 2.2

需要到 Realtek 官网下载最新的驱动 v3.1.2590。最开始用v3.0 的驱动,这个是Realtek工程师直接提供的,遇到2个问题:(1)加载驱动模块(insmod)时,报内核虚拟内存分配失败,要求增加虚拟内存。开发板物理内存为1G,启动内核时加vmalloc=512M后,该问题消失,驱动模块能够成功加载,但出现新的问题:(2)在扫描AP时,Android界面显示“不能扫描”,驱动程序打印log显示下载firmware失败,查看驱动程序源码发现,8192cu的驱动中包含了firmware二进制,运行时通过查表来取得firmware,但轮询超时,导致模块初始化失败

Realtek的驱动程序源码包中包含了Android参考实现,只需对路径等配置性的部分根据开发板实际情况进行修改即可

关于vmalloc的补充说明

测试表明,v3.1驱动同样存在insmod时虚拟内存分配失败的问题,需要在内核启动参数中增加vmalloc参数。对S5PV210开发板来说,修改u-boot的内核启动参数

路径:include/configs/smdkv210single.h

修改:

#define CONFIG_BOOTARGS         "root=/dev/mtdblock4 rootfstype=yaffs2 init=/init console=ttySAC0,115200 vmalloc=512M"

编译驱动程序

解压缩驱动程序源码包,需要修改Makefile文件。首先增加Android平台

复制代码
...
CONFIG_PLATFORM_I386_PC = n
CONFIG_PLATFORM_ANDROID_X86 = n
CONFIG_PLATFORM_ANDROID = y
CONFIG_PLATFORM_ARM_S3C2K4 = n
CONFIG_PLATFORM_ARM_PXA2XX = n
...
复制代码

然后增加Android平台的配置

复制代码
ifeq ($(CONFIG_PLATFORM_ANDROID), y)
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN
ARCH := arm
CROSS_COMPILE := /usr/local/arm/arm-2009q3/bin/arm-none-linux-gnueabi-
KVER := 2.6.32.9
KSRC ?=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值