热度 22
2012-4-4 12:12
2298 次阅读|
0 个评论
作者:下家山 (转载,请注明作者,请尊重原创) 三.关于睡眠 在marvell文档里面把睡眠与省电放在一起讲的(其实睡眠就是一种省电),我这里特意把他们挑出来,有便于更清晰的去理解。 在marvell8686(marvell其他芯片)中,我把其睡眠分成如下类: 1 Host睡眠 这里的host有点不好理解,也可以理解成卡片里面的那个CPU(ARM9核),本人认为是说我们的驱动,host driver,host睡眠就是驱动可以不管marvell8686,去做其他的事情。 ① 对应的命令 CMD_802_11_HOST_SLEEP_CFG(0x43) 在marvell 驱动中属于私有命令,例: iwpriv ethX hscfg Condition ] (也有这种形式 iwpriv ethX hostsleepcfg Condition ]) 命令解析 ●Condition必选, 置低160ms 当host醒来时记得删除host sleep 配置参数。 如果此命令被执行,firmware讲不会接受任何其他命令。 ②.如何醒来 假设我们执行iwpriv eth1 hscfg 2 5 0xa0 当firmware从其他PC处接收到一个ping包,则GPIO 将会有一个160ms的低跳变。Host将会根据这个跳变得到唤醒。 问题:如果只有一个参数是如何唤醒iwpriv eth1 hscfg 2 **? ③.如何激活 此命令仅仅是配置,他还需要激活。那么如何激活呢? Firmware在任何时候接收到CMD_802_11WAKEUP_CONFIRM或CMD_802_11_DEEP_SLEEP时将激活hostsleep 配置命令。 2.Firmware睡眠 ①.Firmware连上AP状态下睡眠 参见上面。 ②.Firmware没有连上AP状态下的睡眠 参见上面。 结束 转载:请注明,作者,下家山 请尊重原创!