android WIFI DRIVER 开发日记(三)

这篇博客记录了在Android WiFi驱动开发过程中遇到的两个问题:Softap无法启用和WPS连接不稳定。Softap问题源于DRIVER对私有命令的支持,需要查看iw_handler_def结构体以确定支持的命令。而WPS连接失败可能是硬件返回的错误,目前原因不明。这些问题揭示了制造商在依赖设备商时的局限性。
摘要由CSDN通过智能技术生成

WIFI已经可以工作了,大部分android wifisetting里要求的功能也都实现了,不过还有两个问题在这里记录一下:

1. Softap无法使用

2. 通过WPS联网的时候有一定几率会失败。

        对于softap,当在setting中选下WIFI TETHERING时,softapcontroller就会给DRIVER发送私有命令,不过在发送私有命令前会先通过IOCTL发送SIOCGIWPRIV这个命令字给DRIVER。这个命令的作用是获得当前DRIVER所支持的私有命令。(因为SOFTAP并不是standard cmd, 所以如果要支持的话必须放在私有命令中)

        而DRIVER是否支持私有命令,或者说支持哪些私有命令就要看DRIVER中关于结构体iw_handler_def的赋值:

const struct iw_handler_def wl_iw_handler_def =
{
    .num_standard = ARRAYSIZE(wl_iw_handler),
    .standard = (iw_handler *) wl_iw_handler,
    .num_private = ARRAYSIZE(wl_iw_priv_handler),
    .num_private_args = ARRAY_SIZE(wl_iw_priv_args),
    .private = (iw_handler *)wl_iw_priv_handler,
    .private_args = (void *) wl_iw_priv_args,

};

而我这边由于不知到手上的模块支持哪些private cmd。所以这块自己没办法加,只有联系供应厂商提供支援,现在暂时空下,等支援OK了再该过来。

         可是对于问题2我就头大了,有时候好有时候不好,不好的时候就是硬件返回了一个fail,这个让我无从解起。不知道是不是WPS本来联网就不稳定还是其他什么情况我也不得而知。这可能也是我没有选择在设备商公司工作而是转投到制造商的悲哀之一吧。一旦设备本身出了问题,作为制造商只能等待设备商自己来解决,除了催促其他什么也做不了!可是在设备商公司工作又无法接触到这么多好玩的终端产品这就交鱼和熊掌不可兼得吧。


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值