立即注册
查看: 643|回复: 2

[资料] 全志D1-H Tina Linux Wi-Fi开发指南

已绑定手机
发表于 2022-12-27 10:35:08 | 显示全部楼层 |阅读模式 来自 台湾省
介绍Allwinner 平台上Wi-Fi 驱动移植,介绍Tina Wi-Fi 管理框架,包括Station,Ap 以及Wi-Fi 常见问题。

1.2 目标读者
适用Tina 平台的广大客户和对Tina Wi-Fi 感兴趣的同事。

1.3 适用范围
Allwinner 软件平台Tina。
Allwinner 硬件平台D1-H。

2 Wi-Fi 简介
2.1 Wi-Fi 工作的几种模式
目前Tina 平台上的Wi-Fi 一般可处于3 种工作模式,分别是STATION,AP,MONITOR。
• STATION:连接无线网络的终端,大部分无线网卡默认都处于该模式,也是常用的一种模式。
• AP:无线接入点,常称热点,比如路由器功能。
• MONITOR:也称为混杂设备监听模式,所有数据包无过滤传输到主机。

2.2 Tina Wi-Fi 软件结构

图2-1: Tina 软件结构图

图2-1: Tina 软件结构图

图2-1: Tina 软件结构图
• wifimanger:主要用于STATION 模式,提供Wi-Fi 连接扫描等功能。
• softap manager:提供启动AP 的功能。
• smartlink:对于NoInput 的设备,通过借助第三方设备(如手机)实现透传配网的功能, 包括softap/soundwave/xconfig/airkiss/等多种配网方式。
• wpa_supplicant: 开源的无线网络配置工具,主要用来支持WEP,WPA/WPA2 和WAPI 无线协议和加密认证的,实际上的工作内容是通过socket 与驱动交互上报数据给用户。
• hostapd: 是一个用户态用于AP 和认证服务器的守护进程。
• monitor: Wi-Fi 处于混杂设备监听模式的处理应用。

2.3 Wi-Fi 常用命令介绍
2.3.1 station 模式
详情配置请看第4.3 节。
  1. wifi_scan_results_test <level> 扫描周围网络
  2. wifi_connect_ap_test ssid passwd 连接指定网络
  3. wifi_disconnect_ap_test 断开已经连接的网络
  4. wifi_list_networks_test 列出保存的网络
  5. wifi_reconnect_ap_test 重连断开的网络
  6. wifi_get_connection_info_test 获取已连接网络的信息(循环获取)
  7. wifi_connect_ap_with_netid_test <netid> <level> 连接保存的网络,netid是保存网络号
  8. wifi_on_test 打开Wi-Fi测试
  9. wifi_off_tes 关闭Wi-Fi测试
  10. wifi_on_off_test Wi-Fi开关测试
  11. wifi_reMOVe_network_test <ssid> <key_mgmt> <level> 移除保存的指定网络
  12. wifi_remove_all_networks_test <level> 移除所有保存的网络
  13. wifi_longtime_test <ssid> <passwd> <test_times> <level> 保持长连测试
  14. wifi_longtime_scan_test <test_times> <level> 网络扫描测试
复制代码
注:
ssid 网络名
passwd 秘钥
netid 保存网络列表中的id号可以用wifi_list_networks_test查看
level 调试等级d0-d5,所有命令最后都可以加该参数
2.3.2 AP模式
  1. softap_up ssid passwd 起一个热点
复制代码
注:
ap模式和station模式在不同模组上不一定能共存,详情看第5节介绍。

3 Wi-Fi 模组移植

图3-1: 主控与Wi-Fi 硬件连接简图

图3-1: 主控与Wi-Fi 硬件连接简图

图3-1: 主控与Wi-Fi 硬件连接简图

Wi-Fi 模组工作的条件,如上图,需要满足以下几个条件:
• 供电:一般有两路供电,其中VCC-Wi-Fi 为主电源,VCCIO-Wi-Fi 为IO 上拉电源。
• 使能:要能正常工作,需要WL-REG-ON 给高电平。
• SDIO:与SOC 的通信有通过USB,SDIO 等,这里以SDIO 为例,其中SDIO 0~3 为SDIO 的4 条数据线。
• 唤醒主控:当系统休眠时,Wi-Fi 模组可通过WL-WAKE-AP 通过中断的方式唤醒主控,有些模组也通过该引脚来作为主控接收数据的中断。
• 24/26Mhz 时钟信号。
• 32.768Khz 信号:根据模组而定,有些模组内部通过(5)中的输入的clk 进行分频得到,有些需要外部单独输入该信号。
对于Wi-Fi 模组移植,重点围绕以上的几个条件进行开展,对于以上几个工作条件allwinner已经提供了对应的driver,根据总线设备驱动模型,只需要根据各个平台配置device 即可。allwinner device 除了可以可以通过dts 外,还可通过sys_config.fex 的方式,sys_config.fex的优先级高于dts。

说明:
  1. <p>- sys_config.fex的路径:tina/device/config/chips/d1-h/configs/nezha/sys_config.fex</p><p>- board.dts的路径:tina/device/config/chips/d1-h/configs/nezha/linux/board.dts</p>
复制代码

游客,如果您要查看本帖隐藏内容请回复



已绑定手机
发表于 2023-1-1 00:17:19 | 显示全部楼层 来自 广东省深圳市
good data for us
已绑定手机
发表于 2024-1-26 09:38:44 | 显示全部楼层 来自 广东省深圳市
谢谢分享
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

合作/建议

TEL: 19168984579

工作时间:
周一到周五 9:00-11:30 13:30-19:30
  • 扫一扫关注公众号
  • 扫一扫打开小程序
Copyright © 2013-2024 一牛网 版权所有 All Rights Reserved. 帮助中心|隐私声明|联系我们|手机版|粤ICP备13053961号|营业执照|EDI证
在本版发帖搜索
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表