1,更改device目录的boardconfig.mk 增加驱动的环境变量
2,更改kernel/arch/arm/mach-xxx/board-xxxx.c
增加struct platform_device xxx_device_wifi= {
.name = "ar-wifi",
.id = -1,
.dev = {
.platform_data = &ar-wifidata,
},
};
的结构变量,在
static struct platform_device *devices[] __initdata = {
xxx_device_wifi
增加设备
增加wifi的上电和复位函数,用于打开模块时候给模块上电和复位,关闭wifi的时候关闭电源。
3,改wifi驱动,根据firmwarefade位置,在wifi驱动该firmware的路径,和makefile,在makefile的后面将拷贝firmware的语句加上。
编译wifi的驱动,产生ar6000。ko,最后将驱动的模块和firmware拷贝的 /system/lib/modules目录
4,改hardware层wifi.c,根据wifi驱动的模块在system的路径,改
static const char DRIVER_MODULE_PATH[] = "/system/lib/modules/ar6000.ko";
5,打包system的镜像
6,进入/system/lib/modules目录
执行insmod ar6000.ko
看驱动是否能够工作,如果能够工作用iwlist wlan0 scan执行scan。