cyw wifi低功耗保活如何应用

公告

大中华汽车电子生态圈社区并入开发者社区- 更多资讯点击此

Tip / 登入 to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
WIFI-01
Level 4
Level 4
100 sign-ins First like given 50 replies posted

1、目前cyw43012的低功耗保活是如何应用的如果主控不是psoc,是君正或者rk之类的arm平台  可以做远程唤醒吗。

2、cyw43012可以开放43012 rtos的部分开发吗,如下虚拟网卡或者sdio裸数据传输的应用是否支持。

谢谢

43012.png

0 点赞
1 解答
lock attach
Attachments are accessible only for community members.
Qi_Colin
Moderator
Moderator
Moderator
50 likes received 100 solutions authored 5 questions asked

Hi @WIFI-01 :

请参考以下样例流程,有疑问可以沟通,附件为PC运行的python程序:

#Bringup TCP keepalive
1)#Start TCP Sever on PC
#Run tcp_server.py
2)#Run Wireshark on PC
3)#Create TCP connection
4)#Get the seqence number, ack number & window from Wireshark (last package sent to dst-ip)
5)#Modify the parameter of "tko connect"

vi wifitest.sh

./wl tko max_tcp
./wl tko enable 0
./wl tko enable
./wl tko param 5 3 10
./wl tko param
./wl tko connect 0 0 2C:3B:70:CC:3A:8B 3a:d4:43:d0:f5:6d 192.168.1.5 192.168.1.4 8080 8081 2956871505 4229552250 1825
./wl tko connect 0
./wl tko enable 1
./wl tko status

5)./wifitest.sh
6)#Monitor the Wireshark

Best Regards,

Colin

在原帖中查看解决方案

0 点赞
7 回复数
Qi_Colin
Moderator
Moderator
Moderator
50 likes received 100 solutions authored 5 questions asked

Hi @WIFI-01 :

请参考以下回复:

1、目前cyw43012的低功耗保活是如何应用的如果主控不是psoc,是君正或者rk之类的arm平台  可以做远程唤醒吗。

答:可以的,通过wl tool来实现。

2、cyw43012可以开放43012 rtos的部分开发吗,如下虚拟网卡或者sdio裸数据传输的应用是否支持。

答:不是很理解您的要求,43012本身是作为controller在工作的,所有的应用程序及驱动的运行是在host端,只有FW是被下载到了43012的RAM中。能否进一步说明下您的需求?

Best Regards,

Colin

0 点赞
WIFI-01
Level 4
Level 4
100 sign-ins First like given 50 replies posted

您好 

1、答:可以的,通过wl tool来实现。

有wl相关的命令发一下吗 。

2、答:不是很理解您的要求,43012本身是作为controller在工作的,所有的应用程序及驱动的运行是在host端,只有FW是被下载到了43012的RAM中。能否进一步说明下您的需求?

就是tcp/ip协议栈跑到43012,联网联服务器保活那些也是43012这个做,host端跑sdio驱动,类似一个虚拟网卡。

谢谢。

0 点赞
Qi_Colin
Moderator
Moderator
Moderator
50 likes received 100 solutions authored 5 questions asked

Hi @WIFI-01 :

你是指TCP keep alive offload模式吧,这个43012可以执行的,只有特定的packet用于唤醒host,保活和连接由43012独立完成。

wl操作流程晚些发给您。

Best Regards,

Colin

0 点赞
WIFI-01
Level 4
Level 4
100 sign-ins First like given 50 replies posted

是的 感谢

0 点赞
lock attach
Attachments are accessible only for community members.
Qi_Colin
Moderator
Moderator
Moderator
50 likes received 100 solutions authored 5 questions asked

Hi @WIFI-01 :

请参考以下样例流程,有疑问可以沟通,附件为PC运行的python程序:

#Bringup TCP keepalive
1)#Start TCP Sever on PC
#Run tcp_server.py
2)#Run Wireshark on PC
3)#Create TCP connection
4)#Get the seqence number, ack number & window from Wireshark (last package sent to dst-ip)
5)#Modify the parameter of "tko connect"

vi wifitest.sh

./wl tko max_tcp
./wl tko enable 0
./wl tko enable
./wl tko param 5 3 10
./wl tko param
./wl tko connect 0 0 2C:3B:70:CC:3A:8B 3a:d4:43:d0:f5:6d 192.168.1.5 192.168.1.4 8080 8081 2956871505 4229552250 1825
./wl tko connect 0
./wl tko enable 1
./wl tko status

5)./wifitest.sh
6)#Monitor the Wireshark

Best Regards,

Colin

0 点赞
WIFI-01
Level 4
Level 4
100 sign-ins First like given 50 replies posted

您好,进入休眠是什么指令呢  除了网络唤醒 gpio唤醒支持吗。

谢谢。

0 点赞
Qi_Colin
Moderator
Moderator
Moderator
50 likes received 100 solutions authored 5 questions asked

Hi @WIFI-01 :

通过wl PM 1/2可以配置WiFi进入低功耗模式。

GPIO唤醒的话需要对wowl进行配置,以下为wowl的command说明,请参考:

1.Setting WOWL trigger pattern:

>wl wowl_pattern add 66 0xff07 0x616D62615F77616B657570 

2. Set WOWL wakeup cases

>wl wowl 0x12001f 

current bit map :

#define WL_WOWL_MAGIC (1 << 0)                     /* Wakeup on Magic packet */
#define WL_WOWL_NET (1 << 1)                          /* Wakeup on Netpattern */
#define WL_WOWL_DIS (1 << 2)                           /* Wakeup on loss-of-link due to Disassoc/Deauth */
#define WL_WOWL_RETR (1 << 3)                       /* Wakeup on retrograde TSF */
#define WL_WOWL_BCN (1 << 4)                        /* Wakeup on loss of beacon */
#define WL_WOWL_GTK_FAILURE (1 << 10)      /* enable wakeup if GTK fails */
#define WL_WOWL_TCPKEEP_TIME (1 << 17)   /* Wakeup on tcpkeep alive timeout */
#define WL_WOWL_TCPKEEP_DATA (1 << 20)   /* tcp keepalive got data */
#define WL_WOWL_UNASSOC (1 << 24)            /* Wakeup in Unassociated state (Net/Magic Pattern) */
#define WL_WOWL_SECURE (1 << 25)              /* Wakeup if received matched secured pattern */
#define WL_WOWL_DLTRO_WAKE (1 << 27)    /* Wakeup up on DHCP renew failure */

 

2.Enable WOWL

>wl wowl_activate 1: ==>This command has to be the latest wowl command otherwise the wowl function is not enabled.

3.Check the current wake indication after WOWL happened.

>wl wowl_wakeind

4.Clear WOWL status

>wl wowl_clear

Best Regards,

Colin

0 点赞