WiFi信号强度--SIGNAL_POLL
来源:互联网 发布:xampp mysql 远程访问 编辑:程序博客网 时间:2024/04/29 00:57
WiFi Command流程
3. wpa_supplicant启动流程
4. WifiService启动流程
5. SIGNAL_POLL调用流程
eloop_run->..wpa_supplicant_ctrl_iface_receive-> //接收并处理来自framework的commandwpa_supplicant_ctrl_iface_process-> (SIGNAL_POLL)wpa_supplicant_signal_poll->wpa_drv_signal_poll (struct wpa_supplicant *wpa_s,struct wpa_signal_info *si)->wpa_driver_signal_poll (void *priv, struct wpa_signal_info *si)-> wpa_driver_wext_driver_cmd(priv, RSSI_CMD, buf, sizeof(buf))或 //driver_cmd_wext.c wpa_driver_wext_driver_cmd(priv, LINKSPEED_CMD, buf, sizeof(buf))-> struct iwreq iwr; iwr.u.data.pointer = buf; iwr.u.data.length = buf_len; ioctl(drv->ioctl_sock, SIOCSIWPRIV, &iwr); 在Kernel中对应函数: cfg80211_wext_setpriv (wext-compat.c) RSSI_CMD: cfg80211_wireless_stats (获取当前已连接AP的信号强度等信息) 对于上面的LINKSPEED_CMD,如果ioctl不成功,则调用ioctl(drv->ioctl_sock, SIOCGIWRATE, &wrq) 在Kernel中对应函数: cfg80211_wext_giwrate (获取当前已连接AP的发送速度) //每个AP对应的信息 struct station_info {u32 filled;u32 connected_time;u32 inactive_time;u32 rx_bytes;u32 tx_bytes;u16 llid;u16 plid;u8 plink_state;s8 signal; //信号强度s8 signal_avg;struct rate_info txrate; //发送速度struct rate_info rxrate;u32 rx_packets;u32 tx_packets;u32 tx_retries;u32 tx_failed;u32 rx_dropped_misc;struct sta_bss_parameters bss_param;int generation; };
在生产时, 默认Wifi是关闭的,如果需要默认打开,可修改wifiservice.java中的如下代码:
/** * Check if Wi-Fi needs to be enabled and start * if needed * * This function is used only at boot time */ public void checkAndStartWifi() { mAirplaneModeOn.set(isAirplaneModeOn()); mPersistWifiState.set(getPersistedWifiState()); /* Start if Wi-Fi should be enabled or the saved state indicates Wi-Fi was on */ boolean wifiEnabled = shouldWifiBeEnabled() || testAndClearWifiSavedState(); Slog.i(TAG, "WifiService starting up with Wi-Fi " + (wifiEnabled ? "enabled" : "disabled")); setWifiEnabled(wifiEnabled); //强制设置为true mWifiWatchdogStateMachine = WifiWatchdogStateMachine. makeWifiWatchdogStateMachine(mContext); }
- WiFi信号强度--SIGNAL_POLL
- WiFi信号强度--SIGNAL_POLL
- WiFi信号强度--SIGNAL_POLL
- WiFi信号强度--SIGNAL_POLL
- WiFi信号强度--SIGNAL_POLL
- WiFi信号强度--SIGNAL_POLL
- WiFi信号强度--SIGNAL_POLL(wifi上层到下层的调用关系)
- Android Wi-Fi 信号强度--SIGNAL_POLL
- WIFI信号强度获取
- WiFi信号强度
- WIFI信号强度
- wifi信号强度
- android获取wifi信号强度
- Android获取WIFI信号强度
- android获取wifi信号强度
- Android 获取wifi信号强度
- android WIFI 信号强度检测
- iOS 获取wifi信号强度
- HDU 1221 Rectangle and Circle(判断圆与矩形是否相交)
- 1.2自动换档
- android学习之我见
- struct bus_type
- java获取客户端请求IP地址 获取公网ip
- WiFi信号强度--SIGNAL_POLL
- cookie与session的区别
- Windows Server 2008不能Ping改为允许的方法
- .bash_profile 和 .bashrc 对比
- 深入学习android之AlarmManager
- Adsutil.vbs 在脚本攻击中的妙用
- android CTS命令
- 流媒体相关blog
- Windows显示驱动(WDDM)编程初步(1)