wifi linux移植,wifi移植

平台:全志 A40I

源码:Android 7.1 Linux 3.10

模块:AP6255台湾正基模块,美国博通方案

固件(系列不同,固件不同) + 驱动(原厂提供,一般通用)

固件:Android/hardware/broadcom/wlan/bcmdhd/firmware/

驱动: Android\out\target\product\a40-p1\system\vendor\modules

WiFi

--------------------------------------------------------------------------------

接口: USB SDIO

功能:stationsoftap wifi direct

正基驱动:lichee\linux-3.10\drivers\net\wireless\bcmdhd

电源与GPIO控制API:lichee\linux-3.10\drivers\misc\sunxi-rf\sunxi-wlan.c.c

linux-3.10\drivers\misc\sunxi-rf\sunxi-wlan.c

正基固件:fw_bcm43456c5_ag.bin

(AP62565)fw_bcm43456c5_ag_apsta.bin

fw_bcm43456c5_ag_p2p.bin

BCM4345C5.hcd

config.txt

device-bcm.mk

#.config

1.一定要注意下面一定要改过来呀!!!

CONFIG_BCMDHD_FW_PATH="/system/vendor/modules/fw_bcm43456c5_ag.bin"

CONFIG_BCMDHD_NVRAM_PATH="/system/vendor/modules/nvram_ap6256.txt"

# BoardConfig.mk (android\device\softwinner\a40-p1) / wifi_hardware_info.c(无)

(决定 android 要加载哪一款 wifi 模组、是否开启蓝牙和使用哪一款蓝牙模组)

1.把ap对应的固件编译进去 //include hardware/broadcom/wlan/bcmdhd/firmware/ap6255/device-bcm.mk

# init.rc(android\bootable\recovery\etc) / init.sun50iw1p1.rc(无)

(资源和服务配置相关的文件)

1.开机脚本加载驱动

# config.xml (\android\device\softwinner\tulip-t1\overlay\frameworks\base\core\res\res\values\config.xml)

(要打开 WIFI 功能, 需要在 config.xml 中把 WIFI 网口打开)

"wifi,1,1,1,-1,true"

"mobile,0,0,0,-1,true"

"wifi_p2p,13,1,0,-1,true"

"bluetooth,7,7,1,60000,true"

"ethernet,9,9,2,-1,true"

1.还可以配置wifi模块的三种模式

# bt_vendor.conf(android\device\softwinner\a40-p1\configs\bluetooth)

(蓝牙配置文件 设置波特率,uart 设备文件和 firmware 路径(初始值),调试信息配置)

UartPort = /dev/ttyS2(这个是蓝牙模块的串口,需根据硬件配置)

FwPatchFilePath = /system/vendor/modules/(这个表示蓝牙hcd固件所放的位置)

FwPatchFileName = BCM4345C0.hcd (指定蓝牙hcd固件)

# lichee\linux-3.10\Documentation\networking\mac80211_hwsim\hostapd.conf

(配置AP5G模式)

# bdroid_buildcfg.h(android\device\softwinner\tulip-t1\bluetooth\bdroid_buildcfg.h)

(配置打开蓝牙时显示的本机名字)

# sys_config.fex

(设备树)

AP模式网段: AP_2.4 AP_5

AP_2.4: 信号频宽较窄干扰差,穿透能力强,传播距离远

AP_5: 信号频宽较宽抗干扰,穿透能力弱,传播距离近

正基驱动跟读:

dhd_linux.c

dhd_module_init为驱动模块初始化函数,调用dhd_linux_platdev.c中dhd_wifi_platform_register_drv查找设备,注册驱动等

dhd_linux_platdev.c

问题:

1. dhd_gpio.c:134:25: error: ‘wlan_bus_index’ undeclared (first use in this function)

2. dhd_gpio.c:174:2: error: implicit declaration of function ‘sunxi_wlan_custom_mac_address’

3. wifi sta正常,蓝牙不通

博客:https://blog.csdn.net/ylyuanlu/article/details/7711396

https://blog.csdn.net/gabbzang/article/details/11100211

https://blog.csdn.net/fenzhi1988/article/details/44809779

https://blog.csdn.net/zpzyf/article/details/53326545

1.无论USB接口还是SDIO接口,驱动都能做到自适应

2./system/vendor/modules (存放驱动和固件)

BT

--------------------------------------------------------------------------------

接口:UART

笔记:

--------------------------------------------------------------------------------

wifi编译成了模块

a40-p1:/vendor/modules

pl2303解决方案:

https://jingyan.baidu.com/album/3d69c551585b89f0cf02d7b2.html?picindex=7

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值