WIFI
平台:全志
模组:AP6210 (WF BT FM)
模式:STA AP Wi-Fi Direct(点对点)
接口:SDIO / USB——WF
UART PCM——BT
PCM数字音频接口,说明接口传输的音频数据是通过PCM方式采样得到的,区别于PDM形式;IIS传输的也是PCM类型数据,属于其一个特例。
相比于IIS,PCM接口更加灵活,通过时分复用TDM方式,PCM接口支持多大N个声道的数据;TDM不像IIS有统一标准,不同厂家TDM时有差异。
Wi-Fi Direct技术是Wi-Fi产业链向蓝牙技术发起的挑战,它试图完全取代蓝牙
Wi-Fi Direct是一种点对点连接技术,它可以在两台station之间直接建立tcp/ip链接,并不需要AP的参与;其中一台station会起到传统意义上的AP的作用,称为Group Owner(GO),另外一台station则称为Group Client(GC),像连接AP一样连接到GO。GO和GC不仅可以是一对一,也可以是一对多
Wi-Fi Direct和传统wifi技术并不是互斥的:GO可以可以像AP一样为几台GC提供服务;它同时可以像传统的station一样,连接到某个AP;它同时自己也可以是一个AP,想象下这种使用场景:手机连接到某AP上网,运行youtube客户端看视频;手机同时通过Wi-Fi Direct连接到电视,将视频通过Wi-Fi Direct Display(等会儿介绍这个技术)投射到大银幕上
笔记
1 平台:全志 A40I 2 源码:Android 7.1 Linux 3.10 3 固件(系列不同,固件不同) + 驱动(一般通用) 4 5 6 WiFi 7 -------------------------------------------------------------------------------- 8 接口: USB SDIO 9 功能:station softap wifi direct 10 11 12 正基驱动: lichee\linux-3.10\drivers\net\wireless\bcmdhd 13 电源与GPIO控制API: lichee\linux-3.10\drivers\misc\sunxi-rf\\sunxi-wlan.c.c 14 linux-3.10\drivers\misc\sunxi-rf\sunxi-wlan.c 15 16 17 .config 18 19 20 # BoardConfig.mk (android\device\softwinner\a40-p1) / wifi_hardware_info.c(无) 21 (决定 android 要加载哪一款 wifi 模组、是否开启蓝牙和使用哪一款蓝牙模组) 22 1.把ap对应的固件编译进去 //include hardware/broadcom/wlan/bcmdhd/firmware/ap6255/device-bcm.mk 23 24 25 # init.rc(android\bootable\recovery\etc) / init.sun50iw1p1.rc(无) 26 (资源和服务配置相关的文件)加载驱动 27 28 29 # tulip_t1.mk 30 (文件定义需要的 package) bt功能需要 bt_vendor.conf,需要把 tulip_t1.mk 文件修改 31 32 33 # config.xml (\android\device\softwinner\tulip-t1\overlay\frameworks\base\core\res\res\values\config.xml) 34 (要打开 WIFI 功能, 需要在 config.xml 中把 WIFI 网口打开) 35 1.还可以配置wifi模块的三种模式 36 37 38 # vnd_<product>.txt (device\softwinner\tulip-t1\bluetooth) 39 (蓝牙配置文件 设置波特率,uart 设备文件和 firmware 路径(初始值),调试信息配置) 40 41 42 # bt_vendor.conf (device\softwinner\tulip-t1\bluetooth) 43 () 44 45 46 # bdroid_buildcfg.h (android\device\softwinner\tulip-t1\bluetooth\bdroid_buildcfg.h) 47 (配置打开蓝牙时显示的本机名字) 48 49 50 51 # sys_config.fex 52 (设备树) 53 54 55 56 57 正基驱动跟读: 58 dhd_linux.c 59 dhd_module_init为驱动模块初始化函数,调用dhd_linux_platdev.c中dhd_wifi_platform_register_drv查找设备,注册驱动等 60 dhd_linux_platdev.c 61 62 63 64 65 66 67 68 69 70 71 72 73 74 问题: 75 1. dhd_gpio.c:134:25: error: ‘wlan_bus_index’ undeclared (first use in this function) 76 2. dhd_gpio.c:174:2: error: implicit declaration of function ‘sunxi_wlan_custom_mac_address’ 77 78 79 80 81 82 83 84 85 86 87 88 89 博客:https://blog.csdn.net/ylyuanlu/article/details/7711396 90 https://blog.csdn.net/gabbzang/article/details/11100211 91 https://blog.csdn.net/fenzhi1988/article/details/44809779 92 93 94 1.无论USB接口还是SDIO接口,驱动都能做到自适应 95 2./system/vendor/modules 96 97 98 99 100 101 102 103 104 105 106 107 108 BT 109 -------------------------------------------------------------------------------- 110 接口: UART 111 112 113 114 115 116 117 118 119 120 121 122 123 124 笔记: 125 -------------------------------------------------------------------------------- 126 wifi编译成了模块 127 a40-p1:/vendor/modules