wpa_supplicant drivers 查看跟踪
/***************************************************************************** wpa_supplicant drivers 查看跟踪* 说明:* 最近调试wifi的时候由于wpa_supplicant仅仅支持wext,但是芯片移植手册上* 却要使用nl80211模式,总是找不到查询方法,于是今天跟wpa_supplicant代码的* 时候发现通过-h参数就可以查看到。** 2016-6-29 深圳 南山平山村 曾剑锋****************************************************************************/static void usage(void) {int i;printf("%s\n\n%s\n""usage:\n"" wpa_supplicant [-BddhKLqqstuvW] [-P<pid file>] ""[-g<global ctrl>] \\\n"" -i<ifname> -c<config file> [-C<ctrl>] [-D<driver>] ""[-p<driver_param>] \\\n"" [-b<br_ifname>] [-f<debug file>] [-e<entropy file>] ""\\\n"" [-o<override driver>] [-O<override ctrl>] \\\n"" [-N -i<ifname> -c<conf> [-C<ctrl>] ""[-D<driver>] \\\n"" [-p<driver_param>] [-b<br_ifname>] ...]\n""\n""drivers:\n",wpa_supplicant_version, wpa_supplicant_license);for (i = 0; wpa_drivers[i]; i++) { ------------------------------+printf(" %s = %s\n", |wpa_drivers[i]->name, |wpa_drivers[i]->desc); |} || #ifndef CONFIG_NO_STDOUT_DEBUG |printf("options:\n" |" -b = optional bridge interface name\n" |" -B = run daemon in the background\n" |" -c = Configuration file\n" |" -C = ctrl_interface parameter (only used if -c is not)\n" |" -i = interface name\n" |" -d = increase debugging verbosity (-dd even more)\n" |" -D = driver name (can be multiple drivers: nl80211,wext)\n" |" -e = entropy file\n"); | #ifdef CONFIG_DEBUG_FILE |printf(" -f = log output to debug file instead of stdout\n"); | #endif /* CONFIG_DEBUG_FILE */ |printf(" -g = global ctrl_interface\n" |" -K = include keys (passwords, etc.) in debug output\n"); | #ifdef CONFIG_DEBUG_SYSLOG |printf(" -s = log output to syslog instead of stdout\n"); | #endif /* CONFIG_DEBUG_SYSLOG */ | #ifdef CONFIG_DEBUG_LINUX_TRACING |printf(" -T = record to Linux tracing in addition to logging\n"); |printf(" (records all messages regardless of debug verbosity)\n"); | #endif /* CONFIG_DEBUG_LINUX_TRACING */ |printf(" -t = include timestamp in debug messages\n" |" -h = show this help text\n" |" -L = show license (BSD)\n" |" -o = override driver parameter for new interfaces\n" |" -O = override ctrl_interface parameter for new interfaces\n" |" -p = driver parameters\n" |" -P = PID file\n" |" -q = decrease debugging verbosity (-qq even less)\n"); | #ifdef CONFIG_DBUS |printf(" -u = enable DBus control interface\n"); | #endif /* CONFIG_DBUS */ |printf(" -v = show version\n" |" -W = wait for a control interface monitor before starting\n" |" -N = start describing new interface\n"); ||printf("example:\n" |" wpa_supplicant -D%s -iwlan0 -c/etc/wpa_supplicant.conf\n", |wpa_drivers[i] ? wpa_drivers[i]->name : "wext"); | #endif /* CONFIG_NO_STDOUT_DEBUG */ | } ||| struct wpa_driver_ops *wpa_drivers[] = <------------------------------+ { #ifdef CONFIG_DRIVER_WEXT&wpa_driver_wext_ops, ------+ #endif /* CONFIG_DRIVER_WEXT */ | #ifdef CONFIG_DRIVER_NL80211 |&wpa_driver_nl80211_ops, ------*-------------------------------------+ #endif /* CONFIG_DRIVER_NL80211 */ | |...... | |NULL | | }; | || | #ifdef CONFIG_DRIVER_WEXT V | extern struct wpa_driver_ops wpa_driver_wext_ops; /* driver_wext.c */ ----+ | #endif /* CONFIG_DRIVER_WEXT */ | | #ifdef CONFIG_DRIVER_NL80211 v-----------------------------------*-+ extern struct wpa_driver_ops wpa_driver_nl80211_ops; /* driver_nl80211.c */ | | #endif /* CONFIG_DRIVER_NL80211 */ | || | const struct wpa_driver_ops wpa_driver_wext_ops = { <--------------+ |.name = "wext", |.desc = "Linux wireless extensions (generic)", |.get_bssid = wpa_driver_wext_get_bssid, |.get_ssid = wpa_driver_wext_get_ssid, |.set_key = wpa_driver_wext_set_key, |.set_countermeasures = wpa_driver_wext_set_countermeasures, |.scan2 = wpa_driver_wext_scan, |.get_scan_results2 = wpa_driver_wext_get_scan_results, |.deauthenticate = wpa_driver_wext_deauthenticate, |.disassociate = wpa_driver_wext_disassociate, |.associate = wpa_driver_wext_associate, |.init = wpa_driver_wext_init, |.deinit = wpa_driver_wext_deinit, |.add_pmkid = wpa_driver_wext_add_pmkid, |.remove_pmkid = wpa_driver_wext_remove_pmkid, |.flush_pmkid = wpa_driver_wext_flush_pmkid, |.get_capa = wpa_driver_wext_get_capa, |.set_operstate = wpa_driver_wext_set_operstate, |.get_radio_name = wext_get_radio_name, | #ifdef ANDROID |.sched_scan = wext_sched_scan, |.stop_sched_scan = wext_stop_sched_scan, | #endif /* ANDROID */ | }; || const struct wpa_driver_ops wpa_driver_nl80211_ops = { <---------------+.name = "nl80211",.desc = "Linux nl80211/cfg80211",.get_bssid = wpa_driver_nl80211_get_bssid,.get_ssid = wpa_driver_nl80211_get_ssid,.set_key = wpa_driver_nl80211_set_key,.scan2 = wpa_driver_nl80211_scan,.sched_scan = wpa_driver_nl80211_sched_scan,.stop_sched_scan = wpa_driver_nl80211_stop_sched_scan,.get_scan_results2 = wpa_driver_nl80211_get_scan_results,.deauthenticate = wpa_driver_nl80211_deauthenticate,.disassociate = wpa_driver_nl80211_disassociate,.authenticate = wpa_driver_nl80211_authenticate,.associate = wpa_driver_nl80211_associate,.global_init = nl80211_global_init,.global_deinit = nl80211_global_deinit,.init2 = wpa_driver_nl80211_init,.deinit = wpa_driver_nl80211_deinit,.get_capa = wpa_driver_nl80211_get_capa,.set_operstate = wpa_driver_nl80211_set_operstate,.set_supp_port = wpa_driver_nl80211_set_supp_port,.set_country = wpa_driver_nl80211_set_country,.set_ap = wpa_driver_nl80211_set_ap,.if_add = wpa_driver_nl80211_if_add,.if_remove = wpa_driver_nl80211_if_remove,.send_mlme = wpa_driver_nl80211_send_mlme,.get_hw_feature_data = wpa_driver_nl80211_get_hw_feature_data,.sta_add = wpa_driver_nl80211_sta_add,.sta_remove = wpa_driver_nl80211_sta_remove,.hapd_send_eapol = wpa_driver_nl80211_hapd_send_eapol,.sta_set_flags = wpa_driver_nl80211_sta_set_flags, #ifdef HOSTAPD.hapd_init = i802_init,.hapd_deinit = i802_deinit,.set_wds_sta = i802_set_wds_sta, #endif /* HOSTAPD */ #if defined(HOSTAPD) || defined(CONFIG_AP).get_seqnum = i802_get_seqnum,.flush = i802_flush,.get_inact_sec = i802_get_inact_sec,.sta_clear_stats = i802_sta_clear_stats,.set_rts = i802_set_rts,.set_frag = i802_set_frag,.set_tx_queue_params = i802_set_tx_queue_params,.set_sta_vlan = i802_set_sta_vlan,.sta_deauth = i802_sta_deauth,.sta_disassoc = i802_sta_disassoc, #endif /* HOSTAPD || CONFIG_AP */.read_sta_data = i802_read_sta_data,.set_freq = i802_set_freq,.send_action = wpa_driver_nl80211_send_action,.send_action_cancel_wait = wpa_driver_nl80211_send_action_cancel_wait,.remain_on_channel = wpa_driver_nl80211_remain_on_channel,.cancel_remain_on_channel =wpa_driver_nl80211_cancel_remain_on_channel,.probe_req_report = wpa_driver_nl80211_probe_req_report,.deinit_ap = wpa_driver_nl80211_deinit_ap,.deinit_p2p_cli = wpa_driver_nl80211_deinit_p2p_cli,.resume = wpa_driver_nl80211_resume,.send_ft_action = nl80211_send_ft_action,.signal_monitor = nl80211_signal_monitor,.signal_poll = nl80211_signal_poll,.send_frame = nl80211_send_frame,.shared_freq = wpa_driver_nl80211_shared_freq,.set_param = nl80211_set_param,.get_radio_name = nl80211_get_radio_name,.add_pmkid = nl80211_add_pmkid,.remove_pmkid = nl80211_remove_pmkid,.flush_pmkid = nl80211_flush_pmkid,.set_rekey_info = nl80211_set_rekey_info,.poll_client = nl80211_poll_client,.set_p2p_powersave = nl80211_set_p2p_powersave, #ifdef CONFIG_TDLS.send_tdls_mgmt = nl80211_send_tdls_mgmt,.tdls_oper = nl80211_tdls_oper, #endif /* CONFIG_TDLS */ #ifdef ANDROID_P2P.set_noa = wpa_driver_set_p2p_noa,.get_noa = wpa_driver_get_p2p_noa,.set_ap_wps_ie = wpa_driver_set_ap_wps_p2p_ie, #endif #ifdef ANDROID.driver_cmd = wpa_driver_nl80211_driver_cmd, #endif };/**** root@android:/ # wpa_supplicant * wpa_supplicant v2.0-devel-4.2.2_rtw_r8680.20130821* Copyright (c) 2003-2012, Jouni Malinen <j@w1.fi> and contributors* * This software may be distributed under the terms of the BSD license.* See README for more details.* * This product includes software developed by the OpenSSL Project* for use in the OpenSSL Toolkit (http://www.openssl.org/)* * usage:* wpa_supplicant [-BddhKLqqstuvW] [-P<pid file>] [-g<global ctrl>] \* -i<ifname> -c<config file> [-C<ctrl>] [-D<driver>] [-p<driver_param>] \* [-b<br_ifname>] [-f<debug file>] [-e<entropy file>] \* [-o<override driver>] [-O<override ctrl>] \* [-N -i<ifname> -c<conf> [-C<ctrl>] [-D<driver>] \* [-p<driver_param>] [-b<br_ifname>] ...]* * drivers:* wext = Linux wireless extensions (generic) <-------------------* nl80211 = Linux nl80211/cfg80211 <-------------------* options:* -b = optional bridge interface name* -B = run daemon in the background* -c = Configuration file* -C = ctrl_interface parameter (only used if -c is not)* -i = interface name* -d = increase debugging verbosity (-dd even more)* -D = driver name (can be multiple drivers: nl80211,wext)* -e = entropy file* -g = global ctrl_interface* -K = include keys (passwords, etc.) in debug output* -t = include timestamp in debug messages* -h = show this help text* -L = show license (BSD)* -o = override driver parameter for new interfaces* -O = override ctrl_interface parameter for new interfaces* -p = driver parameters* -P = PID file* -q = decrease debugging verbosity (-qq even less)* -v = show version* -W = wait for a control interface monitor before starting* -N = start describing new interface* example:* wpa_supplicant -Dwext -iwlan0 -c/etc/wpa_supplicant.conf* 255|root@android:/ # **/
wpa_supplicant drivers 查看跟踪相关推荐
- mysql通过查看跟踪日志跟踪执行的sql语句
在SQL SERVER下跟踪sql采用事件探查器,而在mysql下如何跟踪sql呢? 其实方法很简单,开启mysql的日志log功能,通过查看跟踪日志即可. 开启mysql的日志log方法: wind ...
- new失败跟踪函数_WinDbg预览时间线:调试器中的时间线可以允许用户记录跟踪
时间旅行调试(TTD)允许用户记录跟踪,这些跟踪是对程序执行的记录.时间线是执行过程中发生的事件的直观表示,这些事件可以是包括断点,内存读/写,函数调用和返回以及异常. 使用时间线窗口可以快速查看重要 ...
- ceph bluestore 源码分析:ceph-osd内存查看方式及控制源码分析
文章目录 内存查看 内存控制 内存控制源码分析 通过gperftools接口获取osd进程实际内存 动态设置cache大小 动态调整cache比例 trim释放内存 本文通过对ceph-osd内存查看 ...
- Spring Cloud构建微服务架构:分布式服务跟踪(收集原理)【Dalston版】
在本节内容之前,我们已经对如何引入Sleuth跟踪信息和搭建Zipkin服务端分析跟踪延迟的过程做了详细的介绍,相信大家对于Sleuth和Zipkin已经有了一定的感性认识.接下来,我们介绍一下关于Z ...
- golang 关闭gc 并手动gc_Golang 大杀器之跟踪剖析 trace
Go语言中文网,致力于每日分享编码.开源等知识,欢迎关注我,会有意想不到的收获! 在 Go 中有许许多多的分析工具,在之前我有写过一篇 Golang 大杀器之性能剖析 PProf 来介绍 PProf, ...
- trace对页启用跟踪
对页启用跟踪 打开 页并切换至"设计"视图. 在"属性"列表中,单击"DOCUMENT". 这将显示该页的属性. 将"Trace& ...
- IIS负载均衡-Application Request Route详解第六篇:使用失败请求跟踪规则来诊断ARR
失败请求跟踪规则(FailedRequest Tracing Rules)是IIS7中对请求处理进行诊断的强大的工具.我们本篇文章将会带领大家一步步的来配置失败请求跟踪规则,并且告诉大家如何使用这些信 ...
- oracle类似sqlcmd工具,Oracle:是否有跟踪查询的工具,例如用于SQL Server的Profiler?...
德玛西亚99 alter system set timed_statistics=true- 要么alter session set timed_statistics=true --if want t ...
- 利用sql_trace跟踪一个指定会话的操作
1. sys用户给管理用户授权. SQL> grant execute on sys.dbms_system to andy; Grant succeeded. 2. 查询被跟踪用户的sid, ...
最新文章
- IIS配置相关问题:Framework 4.5 在IIS 7.5中运行
- python中字典的value可以为任意对象_Python对象作为字典值
- Chart.js-饼状图分析(参数分析+例图)
- 通过a标签在页面上显示视频网站中的视频
- java杰森_java – 杰克逊杰森Mapper:没有场或空场?
- 安卓逆向_13 --- AndroidStudio + Smalidea 动态调试 smali 代码【APK可调试】、gradle 配置
- Javascript快速排序
- Eventlog Analyzer日志管理系统、日志分析工具、日志服务器的功能及作用
- python 化学_Python趣用—配平化学方程式!
- 现代软件工程讲义 7 设计阶段 典型用户 - 故事 - 任务 - 具体工作
- 463个生活小窍门 找找你需要的!(1-200)
- hive创建新表——基础
- Changes to be committed: (use “git restore --staged <file>...“ to unstage)
- 超级无敌各种排序算法 一个代码解决<可以做后序模板>
- css布局入门级实战之九宫格网格布局
- 关于我的电脑显示一直处理中解决办法
- (十五)覆盖率数据采样、交叉覆盖率_覆盖选项
- FFN -> GLU -> GAU
- l7809cv是什么管子_L7805CV稳压电路图 L7805CV引脚图封装参数大全
- MySQL默认 InnoDB 存储引擎 详解
热门文章
- 开源 免费 java CMS - FreeCMS-标签 channelList .
- spring开发_BeanFactoryPostProcessor_容器后处理器
- setInterval动态时间处理
- WPF DispatcherTimer(定时器应用) 无人触摸60s自动关闭窗口
- Arrays.binarySearch 面试的坑
- IDEA无法在service层用注解方式注入mapper
- hdu3635 Dragon Balls(带权并查集)
- 继承ViewGroup类
- QuickTime 0day ***代码发布,可能允许执行任意代码
- BCH压力测试悄然开始?有优势但也有不足!