当前位置: 代码迷 >> 综合 >> 【WLAN】【软件】NXP芯片方案用户态和内核态通讯方式小结
  详细解决方案

【WLAN】【软件】NXP芯片方案用户态和内核态通讯方式小结

热度:33   发布时间:2024-02-26 23:41:19.0

一、前言

之前已经撰文阐述过mtk芯片方案的用户态和内核态通讯方式,实际上这些方式并非mtk芯片方案所特用,其他芯片方案也是可以使用的。
本文将以NXP方案常用的方式作一总结,以对之前mtk方案常用的方式作一补充。

二、具体方式说明

1、hostapd

hostapd is a user space daemon for access point and authentication servers. It implements IEEE 802.11 access point management, IEEE 802.1X/WPA/WPA2/EAP Authenticators, RADIUS client, EAP server, and RADIUS authentication server. The current version supports Linux (Host AP, madwifi, Prism54 drivers) and FreeBSD (net80211).
hostapd is designed to be a "daemon" program that runs in the background and acts as the backend component controlling authentication. hostapd supports separate frontend programs and an example text-based frontend, hostapd_cli, is included with hostapd.
  • 简单说,hostapd是一个工作于用户态的daemon程序,用于配置AP和认证服务器等,其中hostapd_cli是一个hostapd的前端命令行。
  • 一般使用的时候,由业务模块的进程组织相关配置文件,作为参数组装hostapd命令,后通过system执行即可。hostapd_cli除在shell上直接执行外,也可以按hostapd的方式执行。
  • 相关参考资料:https://hostap.epitest.fi/hostapd/

2、Wireless tools

1)关于Wireless tools

  • Wireless tools用来设置支持Linux Wireless Extension的无线设备,Wireless tools for Linux 和Linux Wireless Extension 由 Jean Tourrilhes在维护,由Hewlett-Packard(HP惠普)提供赞助。
  • WirelessExtension(WE)是一组通用的API,类似于ifconfig这种,可以在用户空间对通用Wireless LANs进行配置和统计,网上有相应的库和源码,全名为wirelessTools。
  • 其中包含iwconfig、iwlist、iwpriviwspy、iwgetid、iwevent、ifrename等。
    iwconfig:设置基本无线参数
    iwlist:扫描、列出频率,比特率,密钥等
    iwspy:获取每个节点链接的质量
    iwpriv:操作WirelessExtensions 特定驱动
    ifrename: 基于各种静态标准命名接口
    2)实际应用:
  • 将Wireless tools编译到版本并做到文件系统中;
  • 通过在进程上下文通过system等命令,来执行Wireless tools中相关app即可。

三、总结

  • 本质上讲,hostapd和Wireless tools都是app,一般在版本里部署在Linux系统的bin目录或sbin目录,之后,或者在shell上直接执行,或者由system对相关命令进行调用,前者一般用于调试,后者一般用于版本中由业务流程进行触发。
  • 之前MTK和本篇NXP所使用的方式,基本上涵盖了绝大多数WLAN驱动使用的方式,比如intel一般也是使用hostapd的。