heyman
驱动牛犊
驱动牛犊
  • 注册日期2005-11-23
  • 最后登录2009-06-29
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望28点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:5761回复:12

关于CE上wifi在WPA-PSK时的问题

楼主#
更多 发布于:2008-10-16 12:21
Hi All,

  我这边开发了一个wifi的miniport driver,在windows CE 5.0下运行。目前与配置成open system + no encryption或者open system + WEP encryption的AP都没有问题。但如果AP配置成WPA-PSK + TKIP encryption,就无法连接上了。我使用的是windows CE自带的netui界面进行操作。

  我仔细跟踪了一下失败的过程。首先我的设备能够成功的关联上AP,然后AP会向设备发送EAPOL-Key数据包,也就是进行four-way handshake密钥交换。但上层的WZC不但没有给出相应的回复,反而发出了EAPOL-Start,要求进行802.1X认证。所以最终AP就认为设备出错,连接失败。

  netui的界面就很奇怪,当选择WPA-PSK时,enable 802.1x authentication是被强制选中的,而且也要选择EAP method。按道理这些应该只有在WPA模式下才需要,WPA-PSK由于采用preshared key,就不需要再进行802.1X authentication了。因此我修改了netui的代码,在选中WPA-PSK时uncheck那个enable 802.1x authenticaion选项。这回WZC就不再发出EAPOL-Start了,但对EAPOL-Key消息也没有反应。

  netui无非也就是通过配置这个结构体来设置WZC在WPA-PSK方面的参数:
typedef struct _WZC_EAPOL_PARAMS
{
    BOOL    bEnable8021x;
    DWORD   dwEapFlags;
    DWORD   dwEapType;    
    DWORD   dwAuthDataLen;                
    BYTE    *pbAuthData;                   // Pointer to provider specific config blob

}    WZC_EAPOL_PARAMS, *PWZC_EAPOL_PARAMS;

但我实验了几种设置方法都无法正确的进行four-way handshake。

  请问有没有人有这方面的经验呢???非常感谢
heyman
驱动牛犊
驱动牛犊
  • 注册日期2005-11-23
  • 最后登录2009-06-29
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望28点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2008-10-16 16:22
我又做了一下实验,发现如果disable 802.1X authentication之后,WZC就不再处理EAPOL数据了,所以EAPOL-Key消息根本就不会被处理。。。

唉,有没有人在CE5.0上连接WPA-PSK成功过??我也没法肯定到底是WZC的bug还是哪里出了问题。
heyman
驱动牛犊
驱动牛犊
  • 注册日期2005-11-23
  • 最后登录2009-06-29
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望28点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2008-10-17 13:14
没人知道啊。。。
我现在只好把wpa_supplicant移植到CE下来替代WZC,看看能不能够正常运行。。。
heyman
驱动牛犊
驱动牛犊
  • 注册日期2005-11-23
  • 最后登录2009-06-29
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望28点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2008-10-29 15:05
花了好几天的时间,终于把wpa_supplicant在CE上跑起来了,干掉了WZC。验证连接wpa-psk的AP成功,果然是CE5.0上WZC的bug,呵呵。
guhuo
驱动牛犊
驱动牛犊
  • 注册日期2005-08-15
  • 最后登录2009-03-04
  • 粉丝0
  • 关注0
  • 积分267分
  • 威望35点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2008-11-03 18:13
我的wifi也有些问题  不过和你不一样
我在ce5上 AP配置成WPA-PSK + TKIP encryption,  用微软的netui 是可以连接上的

在ce6上  wifi根本就加载不成功,  后来发现可能是微软的bug,  把几个dll 用ce5的来替换就能加载wifi了,   但是用netui去连接网络 好像就不成功了
不知道是不是我ce6需要更新的问题,  去更新一下试试
qq:15416920 zqy2000zqy@163.com
heyman
驱动牛犊
驱动牛犊
  • 注册日期2005-11-23
  • 最后登录2009-06-29
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望28点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2008-11-04 13:36
奇怪,怎么同样是CE5还不一样呢?
你配置成WPA-PSK+TKIP的时候,那个Enable 802.1X authentication是被强制选中的么?还有那个EAP Type,按道理WPA-PSK模式下不需要这些东西的。

我在国外的论坛上也看到有惠普的用户抱怨他们的基于CE的PDA有这样的问题。是不是微软有过更新,而我用的是更新前的,你用的是更新后的????
guhuo
驱动牛犊
驱动牛犊
  • 注册日期2005-08-15
  • 最后登录2009-03-04
  • 粉丝0
  • 关注0
  • 积分267分
  • 威望35点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2008-11-05 09:45
Enable 802.1X authentication  这个在哪里。    我开开wifi桌面右下角出来网络标志 我双击后搜网络连接 只能看到选WPA-PSK+TKIP 然后下面是输入密码, 然后我屏幕小 看不到下面的了。  

我更新过, 但是应该在这部分微软没有什么更新

你在国外的论坛看的地址是什么
负责连接的代码在哪里netui.dll 里面么
qq:15416920 zqy2000zqy@163.com
guhuo
驱动牛犊
驱动牛犊
  • 注册日期2005-08-15
  • 最后登录2009-03-04
  • 粉丝0
  • 关注0
  • 积分267分
  • 威望35点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2008-11-05 14:03
好像又和ap有关系了

我这里2个ap   wpa-psk其中一个可以连上  另一个不行。。。。。。。
qq:15416920 zqy2000zqy@163.com
tao_hero
驱动牛犊
驱动牛犊
  • 注册日期2002-11-21
  • 最后登录2010-05-10
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望20点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2008-11-20 10:19
请问heyman,如何解决的?
lincai
驱动牛犊
驱动牛犊
  • 注册日期2010-07-14
  • 最后登录2010-07-19
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望11点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2010-07-14 15:05
移植成功的高手,可以给我一些帮助吗?最近我想移植wpa_supplicant到cewindows ce上,但真的不会,能给点指点吗?我的邮箱lincaig@sina.com,谢谢
high
论坛版主
论坛版主
  • 注册日期2002-08-10
  • 最后登录2010-07-26
  • 粉丝4
  • 关注0
  • 积分60分
  • 威望655点
  • 贡献值0点
  • 好评度56点
  • 原创分0分
  • 专家分60分
10楼#
发布于:2010-07-26 14:30
ce6 肯定是ok的,我使用过, wep, wpa-psk都没有问题。

ce5不能确定是否偶看, 估计有补丁的原因。
springdai
驱动牛犊
驱动牛犊
  • 注册日期2010-08-17
  • 最后登录2011-04-01
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望21点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2010-08-24 23:36
我在CE6.0上,wifi驱动就系统一起来进了driverentry函数,其他函数都再也没调用了,这是什么原因?
你们有没有遇到类似的问题啊?
day_new
驱动牛犊
驱动牛犊
  • 注册日期2011-08-11
  • 最后登录2011-09-07
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望21点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2011-09-06 17:58
我在WINCE 60上装 厂家给的RT2870的WIFI 驱动;就启动到BOOT 就又重起了;不知道啥原因,把WIFI 的删除就能够启动起来,正常运行;
游客

返回顶部