s5pc100移植 linux3.16,[原创]基于嵌入式s5pc100的无线wifi模块的移植与实现

最近到了学生的毕业季,遇到了学生移植嵌入式系统的问题,尤其是移植无线wifi模块的问题特别多,我现在在嵌入式s5pc100的板子上实现,与大家一同分享这个过程。

在linux官网下载最新的稳定版本版本的系统。

下载好以后:

# tar xvf linux-3.9.8.tar.xz

二、解压源码

#tar xvf linux-3.9.8.tar.xz

三、打补丁

# xz patch-3.9.8.xz

# mv patch-3.9.8 linux-3.9.8

# cd linux-3.9.8

# patch -Np1 -i patch-3.9.8

重要的是移植SDIO Marvell

8686 wifi

1、内核选配

[*] Networking support  --->

-*-   Wireless  --->

   cfg80211 -

wireless configuration API

[*]     enable powersave by

defaul

[*]     cfg80211 wireless

extensions compatibility

[*]   Wireless extensions

sysfs files

{*}   Common routines for

IEEE802.11 drivers

   Generic IEEE

802.11 Networking Stack (mac80211)

[*]   Enable mac80211 mesh

networking (pre-802.11s) support

Device Drivers  --->

Generic Driver

Options  --->

(sd8686.bin sd8686_helper.bin) External firmware blobs to build into

the kernel binary

(firmware) Firmware blobs root directory

[*] Network

device support  --->

[*]   Wireless LAN  --->

   Marvell 8xxx

Libertas WLAN driver support

     Marvell Libertas

8385/8686/8688 SDIO 802.11b/g cards

2、添加固件

把sd8686.bin、sd8686_helper.bin拷贝到源码目录树下的firmware目录下。

3、驱动修改

固件匹配可能出错

修改驱动drivers/net/wireless/libertas/if_sdio.c

MODULE_FIRMWARE("libertas/sd8385_helper.bin");

MODULE_FIRMWARE("libertas/sd8385.bin");

MODULE_FIRMWARE("sd8385_helper.bin");

MODULE_FIRMWARE("sd8385.bin");

MODULE_FIRMWARE("libertas/sd8686_v9_helper.bin");

MODULE_FIRMWARE("libertas/sd8686_v9.bin");

MODULE_FIRMWARE("libertas/sd8686_v8_helper.bin");

MODULE_FIRMWARE("libertas/sd8686_v8.bin");

MODULE_FIRMWARE("sd8686_helper.bin");

MODULE_FIRMWARE("sd8686.bin");

MODULE_FIRMWARE("libertas/sd8688_helper.bin");

MODULE_FIRMWARE("libertas/sd8688.bin");

MODULE_FIRMWARE("sd8688_helper.bin");

MODULE_FIRMWARE("sd8688.bin");

改为:

#if 0

MODULE_FIRMWARE("libertas/sd8385_helper.bin");

MODULE_FIRMWARE("libertas/sd8385.bin");

MODULE_FIRMWARE("sd8385_helper.bin");

MODULE_FIRMWARE("sd8385.bin");

MODULE_FIRMWARE("libertas/sd8686_v9_helper.bin");

MODULE_FIRMWARE("libertas/sd8686_v9.bin");

MODULE_FIRMWARE("libertas/sd8686_v8_helper.bin");

MODULE_FIRMWARE("libertas/sd8686_v8.bin");

#endif

MODULE_FIRMWARE("sd8686_helper.bin");

MODULE_FIRMWARE("sd8686.bin");

#if 0

MODULE_FIRMWARE("libertas/sd8688_helper.bin");

MODULE_FIRMWARE("libertas/sd8688.bin");

MODULE_FIRMWARE("sd8688_helper.bin");

MODULE_FIRMWARE("sd8688.bin");

#endif

就这样就OK了,实现了系统的配置,三个同学做wifi相关的设计,一个一个解答,这下大家都明白了吧,谢谢

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值