WIFI调试随笔

记一次wifi集成调试过程

确定模块的硬件

检查硬件是否正常工作,器件是否有漏焊,检查供电脚电压是否正常

上电时序检查

对照模块的芯片手册提供的上电时序,按照上电时序进行操作

集成代码

这部分按照第三方提供的代码进行操作即可

调试流程

下面列一下调试过程中遇到的一些问题:

  • 集成之后第一次上电连接扫描列表这些都正常,过一段时间之后或掉电重启一次之后遇到再也无法联网的问题

问题排查:
首先通过如下的命令方式进行调试:如果命令方式可以成功连接无线,则证明底层驱动是没有问题的,需要额外查找AP侧或者两方适配上的问题。

ifconfig wlan0 up # 用于拉起wlan0网卡

/vendor/bin/hw/wpa_supplicant -d -B -iwlan0 -Dnl80211 -c/vendor/etc/wifi/wpa_supplicant.conf -C/data/vendor/wifi/wpa/sockets # 启动wpa_supplicant服务,不同的android版本sockets和wpa_supplicant.conf文件所在的路径可能不同
ps -A | grpe wpa # 检查服务是否已启动
/vendor/bin/hw/wpa_cli -iwlan0 -p /data/vendor/wifi/wpa/sockets # 进入wpa_cli调试模式
scan # 扫描无线,如果这里有返回result相关的内容则可以使用下一条命令查看列表
scan_result # 查看扫描到的无线列表
add_network # 添加新的无线连接,会返回一个编号
set_network 0 ssid "无线名" # 这里的0是上一个命令返回的编号
set_network 0 psk "密码"
enable_network 0 # 使能网络,这里如果看到connected这种返回表示连接成功
q # 退出调试模式

分配IP:

ifconfig wlan0 xxx.xxx.xxx.xxx  # 分配一个IP
logcat -s hostapd # 查看是否链接上,观察有无enable
ping -I wlan0 xxx.xxx.xxx.xxx

通常到这里就可以了,如果还是遇到有问题可以使用以下命令重新分配rule:

ip rule # 查看rule
# 使用下面命令删除查看出来的结果:
ip rule del 0
ip rule del pref 10000
ip rule del pref 10500
ip rule del pref 13000
ip rule del pref 14000
ip rule del pref 15000
ip rule del pref 16000
ip rule del pref 17000
ip rule del pref 32000

# 添加如下新的rule:
ip rule add from all lookup local pref 0
ip rule add from all lookup main pref 32766
ip rule add from all lookup default pref 32767

在这里分配IP也可以使用udhcpc动态分配,如果没有该命令,可以使用busybox进行调用。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值