[Feature] add wifi image and wifi api
Change-Id: I7db8d18376f03e16cc3db2334349575b09ba87e6
diff --git a/lib/liblynq-wifi6/libwifi6.c b/lib/liblynq-wifi6/libwifi6.c
index c4156e5..d959554 100755
--- a/lib/liblynq-wifi6/libwifi6.c
+++ b/lib/liblynq-wifi6/libwifi6.c
@@ -1,39 +1,50 @@
+/**@File lib_wifi6.c
+* @Brief :about function test
+* @details :
+* @Author : qs.xiong
+* @Date : 2022-3-14
+* @Version : V1.0
+* @copy ritght : Copyright (c) MobileTek
+*/
+#include <log/log.h>
#include <stdio.h>
#include <sys/types.h>
#include <string.h>
-
+#include <stdlib.h>
+#include <stdlib.h>
#include "libwifi6.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+#ifdef __cplusplus
+}
+#endif
#define MAX_CMD 128
#define MAX_RET 1024
-char LYNQ_WIFI_OK[3]="OK";
-char WIFI_SSID[32]={0};
-char WIFI_MODE[8]={0};
-char WIFI_KEY_MGMT[36]={0};
-char WIFI_CHANNEL[8]={0};
-char WIFI_BANDWIDTH[8]={0};
-char MAX_STA_NUM[24]={0};
-
-int lynq_wifi_enable(void){
- char lynq_cmd_ret[MAX_RET]={0};
+char g_lynq_wifi_ok[3]="OK";
+char g_wifi_ssid[32]="";
+char g_wifi_mode[8]="";
+char g_wifi_key_mgmt[36]="";
+char g_wifi_channel[8]="";
+char g_wifi_bandwidth[8]="";
+char g_max_sta_num[24]="";
+int lynq_wifi_enable(void)
+{
char *lynq_wifi_enable[]={"insmod /lib/modules/4.19.98/kernel/drivers/net/wireless/bcmdhd/bcmdhd.ko "
- "firmware_path=/system/etc/firmware/wifi/wg870/w870_rtecdc_mfg.trxs "
- "nvram_path=/system/etc/firmware/wifi/wg870/cyw955572fcipa_rev2.52.txt"};
- FILE *fp;
- if((popen(lynq_wifi_enable[0],"w"))==NULL){
- perror("popen error!");
+ "firmware_path=/system/etc/firmware/wifi/wg870/w870_rtecdc_mfg.trxs "
+ "nvram_path=/system/etc/firmware/wifi/wg870/cyw955572fcipa_rev2.52.txt"};
+
+ if(system(lynq_wifi_enable[0])==-1){
return -1;
}
- int ret=pclose(fp);
- if(ret==-1){
- perror("close file faild");
- return -1;
- }
+
return 0;
}
-int lynq_wifi_disable(void){
+int lynq_wifi_disable(void)
+{
FILE *fp;
if((popen("rmmod bcmdhd.ko","w"))==NULL){
perror("poepn error!");
@@ -50,21 +61,22 @@
int lynq_wifi_work_mode_set(int mode)
{
FILE *fp;
+
switch(mode){
case LYNQ_WIFI_WORK_MODE_STA:
- if((fp=popen("IFNAME=wlan0 status","r"))==NULL){
+ if((fp=popen("wpa_cli -iwlan0 -p/var/run/wpa_supplicant remove_net all","r"))==NULL){
perror("popen error!");
return -1;
}
break;
case LYNQ_WIFI_WORK_MODE_AP:
- if((fp=popen("IFNAME=wlan0 status","r"))==NULL){
+ if((fp=popen("wpa_cli -iwlan0 -p/var/run/wpa_supplicant remove_net all","r"))==NULL){
perror("popen error!");
return -1;
}
break;
case LYNQ_WIFI_WORK_MODE_AP_STA:
- if((fp=popen("IFNAME=wlan0 status","r"))==NULL){
+ if((fp=popen("wpa_cli -iwlan0 -p/var/run/wpa_supplicant remove_net all","r"))==NULL){
perror("popen error!");
return -1;
}
@@ -77,29 +89,29 @@
int lynq_wifi_work_mode_get(void)
{
- char *lynq_wifi_ssid_cmd[]={"IFNAME=wlan0 status"};
+
+ char *lynq_wifi_ssid_cmd[]={"wpa_cli -iwlan0 -p/var/run/wpa_supplicant status"};
char lynq_cmd_ret[MAX_RET]={0};
char *strcn="mode=";
- FILE *fp;
- printf("%s \n",lynq_wifi_ssid_cmd[0]);
- if((fp=popen(lynq_wifi_ssid_cmd[0],"r"))==NULL){
- perror("popen error!");
- printf("***************\n");
+ FILE *fp;
+
+ if ((fp=popen(lynq_wifi_ssid_cmd[0],"r"))==NULL){
return -1;
- }
- while(1){
- if((fgets(lynq_cmd_ret,sizeof(lynq_cmd_ret),fp))!=NULL){
- printf("cmd_ret is:%s",lynq_cmd_ret);
- if((strncmp(lynq_cmd_ret,strcn,5))==0)
- {
- sscanf(lynq_cmd_ret,"%*[^=]=%s",WIFI_MODE);
- }
- }
- if(feof(fp)){
- break;
- }
- }
+ }
+
+ while(1){
+ if((fgets(lynq_cmd_ret,sizeof(lynq_cmd_ret),fp))!=NULL){
+ if((strncmp(lynq_cmd_ret,strcn,5))==0)
+ {
+ sscanf(lynq_cmd_ret,"%*[^=]=%s",g_wifi_mode);
+ }
+ }
+ if(feof(fp)){
+ break;
+ }
+ }
+
if((pclose(fp))==-1){
perror("close file faild");
return -1;
@@ -115,16 +127,17 @@
char lynq_cmd_ret[MAX_CMD]={0};
char *lynq_wifi_ssid_cmd[]={"IFNAME=wlan0 set_network 0 ssid "};
char lynq_cmd_save[]="IFNAME=wlan0 save_config\n";
+
sprintf(lynq_tmp_cmd,"%s%s%s%s%s",lynq_wifi_ssid_cmd[0],"\"",ssid,"\"","\n");
if((fp=popen("/usr/bin/wpa_cli -iwpa_wlan0_cmd -p/var/run/","w"))==NULL){
perror("popen error!");
return -1;
}
- for(int i=0;i<1;i++){
- fwrite(lynq_tmp_cmd,sizeof(lynq_tmp_cmd),1,fp);
- fwrite(lynq_cmd_save,sizeof(lynq_cmd_save),1,fp);
- }
+
+ fwrite(lynq_tmp_cmd,sizeof(lynq_tmp_cmd),1,fp);
+ fwrite(lynq_cmd_save,sizeof(lynq_cmd_save),1,fp);
+
int ret=pclose(fp);
if(ret==-1){
perror("close file faild");
@@ -136,34 +149,33 @@
int lynq_wifi_ap_ssid_get(void)
{
- char *lynq_wifi_ssid_cmd[]={"IFNAME=wlan0 status"};
+ FILE *fp;
+ char *lynq_wifi_ssid_cmd[]={"wpa_cli -iwlan0 -p/var/run/wpa_supplicant status"};
char lynq_cmd_ret[MAX_RET]={0};
char *strcn="ssid=";
- FILE *fp;
- printf("%s \n",lynq_wifi_ssid_cmd[0]);
if((fp=popen(lynq_wifi_ssid_cmd[0],"r"))==NULL){
perror("popen error!");
return -1;
}
while(1){
- if((fgets(lynq_cmd_ret,sizeof(lynq_cmd_ret),fp))!=NULL){
- printf("cmd_ret is:%s",lynq_cmd_ret);
- if((strncmp(lynq_cmd_ret,strcn,5))==0)
- {
- sscanf(lynq_cmd_ret,"%*[^=]=%s",WIFI_SSID);
- }
- }
- if(feof(fp)){
- break;
- }
- }
- if((pclose(fp))==-1){
- perror("close file faild");
- return -1;
- }
- return 0;
+ if((fgets(lynq_cmd_ret,sizeof(lynq_cmd_ret),fp))!=NULL){
+ if((strncmp(lynq_cmd_ret,strcn,5))==0)
+ {
+ sscanf(lynq_cmd_ret,"%*[^=]=%s",g_wifi_ssid);
+ }
+ }
+ if(feof(fp)){
+ break;
+ }
+ }
+ if((pclose(fp))==-1){
+ perror("close file faild");
+ return -1;
+ }
+
+ return 0;
}
int lynq_wifi_ap_bandwidth_set(char *bandwidth)
@@ -182,42 +194,39 @@
perror("popen error!");
return -1;
}
- for(int i=0;i<1;i++){
- fwrite(lynq_tmp_cmd,sizeof(lynq_tmp_cmd),1,fp);
- fwrite(lynq_cmd_mode,sizeof(lynq_cmd_mode),1,fp);
- fwrite(lynq_cmd_save,sizeof(lynq_cmd_save),1,fp);
- fwrite(lynq_cmd_slect,sizeof(lynq_cmd_slect),1,fp);
-
- }
+ fwrite(lynq_tmp_cmd,sizeof(lynq_tmp_cmd),1,fp);
+ fwrite(lynq_cmd_mode,sizeof(lynq_cmd_mode),1,fp);
+ fwrite(lynq_cmd_save,sizeof(lynq_cmd_save),1,fp);
+ fwrite(lynq_cmd_slect,sizeof(lynq_cmd_slect),1,fp);
+
int ret=pclose(fp);
if(ret==-1){
perror("close file faild");
return -1;
}
- return 0;
+ return 0;
}
int lynq_wifi_ap_bandwidth_get(void)
{
+ FILE *fp;
char *lynq_wifi_bandwidth_cmd[]={"wl -i wlan0 status"};
char lynq_cmd_ret[MAX_RET]={0};
char *strcn=" Chanspec:";
- FILE *fp;
- printf("%s \n",lynq_wifi_bandwidth_cmd[0]);
- if((fp=popen(lynq_wifi_bandwidth_cmd[0],"r"))==NULL){
+ if((fp=popen(lynq_wifi_bandwidth_cmd[0],"w"))==NULL){
perror("popen error!");
return -1;
}
while(1){
if((fgets(lynq_cmd_ret,sizeof(lynq_cmd_ret),fp))!=NULL){
- printf("cmd_ret is:%s",lynq_cmd_ret);
+
if((strncmp(lynq_cmd_ret,strcn,17))==0)
{
- strncpy(WIFI_BANDWIDTH,lynq_cmd_ret+34,5);
+ strncpy(g_wifi_bandwidth,lynq_cmd_ret+34,5);
}
}
if(feof(fp)){
@@ -238,16 +247,17 @@
char lynq_tmp_cmd[MAX_CMD]={0};
char *lynq_channel_cmd[]={"wl down","wl chanspec ","wl up"};
+
sprintf(lynq_tmp_cmd,"%s%s",lynq_channel_cmd[1],channel);
lynq_channel_cmd[1]=lynq_tmp_cmd;
memset(lynq_tmp_cmd,0,sizeof(lynq_tmp_cmd));
sprintf(lynq_tmp_cmd,"%s%s%s%s%s%s",lynq_channel_cmd[0],"\n",lynq_channel_cmd[1],"\n",lynq_channel_cmd[2],"\n");
- printf("into lynq_wifi_ap_channel_set function \n");
- printf("lynq_tmp_cmd is %s\n",lynq_tmp_cmd);
+
if((fp=popen(lynq_tmp_cmd,"w"))==NULL){
perror("popen error!");
return -1;
}
+
int ret=pclose(fp);
if(ret==-1){
perror("close file faild");
@@ -259,33 +269,30 @@
int lynq_wifi_ap_channel_get(void)
{
- char *lynq_wifi_channel_cmd[]={"wl -i wlan0 status"};
- char lynq_cmd_ret[MAX_RET]={0};
- char *strcn=" Primary channel: ";
-
- FILE *fp;
- printf("%s \n",lynq_wifi_channel_cmd[0]);
- if((fp=popen(lynq_wifi_channel_cmd[0],"r"))==NULL){
- perror("popen error!");
- printf("***************\n");
- return -1;
- }
- while(1){
- if((fgets(lynq_cmd_ret,sizeof(lynq_cmd_ret),fp))!=NULL){
- printf("cmd_ret is:%s",lynq_cmd_ret);
- if((strncmp(lynq_cmd_ret,strcn,24))==0)
- {
- strncpy(WIFI_CHANNEL,lynq_cmd_ret+24,3);
- }
- }
- if(feof(fp)){
- break;
- }
- }
- if((pclose(fp))==-1){
- perror("close file faild");
- return -1;
- }
+
+ char lynq_cmd_ret[MAX_RET]={0};
+ char *strcn=" Primary channel: ";
+ FILE *fp;
+ if((fp=popen("wl -i wlan0 status","r"))==NULL){
+ perror("popen error!");
+ return -1;
+ }
+ while(1){
+ if((fgets(lynq_cmd_ret,sizeof(lynq_cmd_ret),fp))!=NULL){
+ if((strncmp(lynq_cmd_ret,strcn,24))==0)
+ {
+ strncpy(g_wifi_channel,lynq_cmd_ret+24,3);
+ }
+ }
+ if(feof(fp)){
+ break;
+ }
+ }
+ if((pclose(fp))==-1){
+ perror("close file faild");
+ return -1;
+ }
+
return 0;
}
@@ -325,8 +332,6 @@
char lynq_auth_save[]="IFNAME=wlan0 save_config\n";
sprintf(lynq_tmp_cmd,"%s%s%s",lynq_auth_cmd[0],lynq_auth,"\n");
-
-
if((fp=popen("/usr/bin/wpa_cli -iwpa_wlan0_cmd -p/var/run/","w"))==NULL){
perror("popen error!");
return -1;
@@ -355,59 +360,62 @@
int lynq_wifi_ap_auth_get(void)
{
- char *lynq_wifi_ssid_cmd[]={"IFNAME=wlan0 status"};
+ char *lynq_wifi_ssid_cmd[]={"wpa_cli -iwlan0 -p/var/run/wpa_supplicant status"};
char lynq_cmd_ret[MAX_RET]={0};
char *strcn="key_mgmt=";
- FILE *fp;
- printf("%s \n",lynq_wifi_ssid_cmd[0]);
- if((fp=popen(lynq_wifi_ssid_cmd[0],"r"))==NULL){
- perror("popen error!");
- printf("***************\n");
+ FILE *fp;
+ if((fp=popen(lynq_wifi_ssid_cmd[0],"r"))==NULL){
+ perror("popen error!");
return -1;
}
while(1){
- if((fgets(lynq_cmd_ret,sizeof(lynq_cmd_ret),fp))!=NULL){
- printf("cmd_ret is:%s",lynq_cmd_ret);
- if((strncmp(lynq_cmd_ret,strcn,9))==0)
- {
- sscanf(lynq_cmd_ret,"%*[^=]=%s",WIFI_KEY_MGMT);
- }
- }
- if(feof(fp)){
- break;
- }
- }
- if((pclose(fp))==-1){
- perror("close file faild");
- return -1;
- }
- return 0;
+ if((fgets(lynq_cmd_ret,sizeof(lynq_cmd_ret),fp))!=NULL){
+ printf("cmd_ret is:%s",lynq_cmd_ret);
+ if((strncmp(lynq_cmd_ret,strcn,9))==0)
+ {
+ sscanf(lynq_cmd_ret,"%*[^=]=%s",g_wifi_key_mgmt);
+ }
+ }
+ if(feof(fp)){
+ break;
+ }
+ }
+ if((pclose(fp))==-1){
+ perror("close file faild");
+ return -1;
+ }
+ return 0;
}
int lynq_wifi_ap_max_sta_set(char *max_sta_num)
{
-
FILE * fp;
char lynq_cmd_ret[MAX_RET]={0};
char lynq_tmp_cmd[MAX_CMD]={0};
char *lynq_max_sta_cmd[]={"wl maxassoc "};
sprintf(lynq_tmp_cmd,"%s%s%s",lynq_max_sta_cmd[0],max_sta_num,"\n");
lynq_max_sta_cmd[0]=lynq_tmp_cmd;
- if((fp=popen(lynq_max_sta_cmd[0],"w"))==NULL){
+
+ if((fp=popen(lynq_max_sta_cmd[0],"w"))==NULL)
+ {
perror("popen error!");
return -1;
}
- if((fread(lynq_cmd_ret,sizeof(lynq_cmd_ret),1,fp))<0){
+ if((fread(lynq_cmd_ret,sizeof(lynq_cmd_ret),1,fp))<0)
+ {
perror("fread fail!");
return -1;
}
+
int ret=pclose(fp);
- if(ret==-1){
+ if(ret==-1)
+ {
perror("close file faild");
return -1;
}
+
return 0;
}
@@ -415,45 +423,52 @@
{
FILE *fp;
char lynq_cmd_ret[MAX_RET]={0};
- if((fp=popen("wl maxassoc","r"))==NULL){
+
+ if((fp=popen("wl maxassoc","r"))==NULL)
+ {
perror("popen error!");
return -1;
}
- if((fread(lynq_cmd_ret,sizeof(lynq_cmd_ret),1,fp))<0){
+ if((fread(lynq_cmd_ret,sizeof(lynq_cmd_ret),1,fp))<0)
+ {
perror("fread fail!");
return -1;
}
- strcpy(MAX_STA_NUM,lynq_cmd_ret);
+ strcpy(g_max_sta_num,lynq_cmd_ret);
+
int ret=pclose(fp);
- if(ret==-1){
+ if(ret==-1)
+ {
perror("close file faild");
return -1;
- }
+ }
+
return 0;
}
int lynq_wifi_ap_start(void)
{
FILE *fp;
- char lynq_cmd_ret[MAX_CMD]={0};
- if((fp=popen("IFNAME=wlan0 enable_net 0","r"))==NULL){
+ char LYNQ_CMD_RET[MAX_CMD]={0};
+
+ if((fp=popen("wpa_cli -iwlan0 -p/var/run/wpa_supplicant enable_net 0","r"))==NULL)
+ {
perror("popen error!");
return -1;
}
- if((fgets(lynq_cmd_ret,sizeof(lynq_cmd_ret),fp))==NULL){
- perror("fgets fail!");
- return -1;
- }
- if((strncmp(lynq_cmd_ret,LYNQ_WIFI_OK,2))==0){
- printf("cmd is work\n");
- }else{
- printf("cmd isn't work please check your cmd\n");
- }
+ fgets(LYNQ_CMD_RET,sizeof(LYNQ_CMD_RET),fp);
+
+ if((strncmp(LYNQ_CMD_RET,g_lynq_wifi_ok,sizeof(g_lynq_wifi_ok)))!=0)
+ {
+ return -1;
+ }
+
int ret=pclose(fp);
- if(ret==-1){
- perror("close file faild");
- return -1;
+ if(ret==-1)
+ {
+ perror("close file faild");
+ return -1;
}
return 0;
@@ -461,34 +476,21 @@
int lynq_wifi_ap_restart(void)
{
- FILE *fp;
- char lynq_tmp_cmd[MAX_CMD]={0};
- char lynq_cmd_ret[MAX_CMD]={0};
- char *lynq_wifi_restart_cmd[]={"IFNAME=wlan0 disable_net 0 ","IFNAME=wlan0 enable_net 0"};
- lynq_wifi_restart_cmd[0]=lynq_tmp_cmd;
+ int lynq_stop;
+ int lynq_start;
+
+ lynq_stop = lynq_wifi_ap_stop();
+ if ( lynq_stop != 0 )
+ {
+ return -1;
+ }
+
+ lynq_start = lynq_wifi_ap_start();
+ if ( lynq_start != 0 )
+ {
+ return -1;
+ }
- for(int i=0;i<2;i++){
- if((fp=popen(lynq_wifi_restart_cmd[i],"r"))==NULL){
- perror("popen error!");
- return -1;
- }
- if((fgets(lynq_cmd_ret,sizeof(lynq_cmd_ret),fp))==NULL){
- perror("fgets fail!");
- return -1;
- }
- if((strncmp(lynq_cmd_ret,LYNQ_WIFI_OK,2))==0){
- printf("cmd is work\n");
- }else{
- printf("cmd isn't work please check your cmd\n");
- }
- memset(lynq_cmd_ret,0,sizeof(lynq_cmd_ret));
-
- int ret=pclose(fp);
- if(ret==-1){
- perror("close file faild");
- return -1;
- }
- }
return 0;
}
@@ -496,39 +498,39 @@
int lynq_wifi_ap_stop(void)
{
FILE *fp;
- char lynq_cmd_ret[MAX_CMD]={0};
- if((fp=popen("IFNAME=wlan0 disable_net 0","r"))==NULL){
+ char LYNQ_CMD_RET[MAX_CMD]={0};
+
+ if( (fp=popen("wpa_cli -iwlan0 -p/var/run/wpa_supplicant disable_net 0","r")) == NULL ){
perror("popen error!");
return -1;
}
- if((fgets(lynq_cmd_ret,sizeof(lynq_cmd_ret),fp))==NULL){
- perror("fgets fail!");
- return -1;
- }
- if((strncmp(lynq_cmd_ret,LYNQ_WIFI_OK,2))==0){
- printf("cmd is work\n");
- }else{
- printf("cmd isn't work please check your cmd\n");
- }
+
+ fgets( LYNQ_CMD_RET,sizeof(LYNQ_CMD_RET),fp );
+
+ if((strncmp(LYNQ_CMD_RET,g_lynq_wifi_ok,sizeof(g_lynq_wifi_ok)))!=0){
+ return -1;
+ }
int ret=pclose(fp);
if(ret==-1){
perror("close file faild");
return -1;
}
-
+
return 0;
}
+
int lynq_wifi_ap_hide_ssid(void)
{
FILE *fp;
+ char lynq_disable_cmd[]="IFNAME=wlan0 disable_net 0\n";
+ char lynq_hide_cmd[]="IFNAME=wlan0 SET HIDE_SSID 1\n";
+ char lynq_select_cmd[]="IFNAME=wlan0 select_net 0\n";
+
if((fp=popen("/usr/bin/wpa_cli -iwpa_wlan0_cmd -p/var/run/","w"))==NULL){
perror("popen error!");
return -1;
}
- char lynq_disable_cmd[]="IFNAME=wlan0 disable_net 0\n";
- char lynq_hide_cmd[]="IFNAME=wlan0 SET HIDE_SSID 1\n";
- char lynq_select_cmd[]="IFNAME=wlan0 select_net 0\n";
fwrite(lynq_disable_cmd,sizeof(lynq_disable_cmd),1,fp);
fwrite(lynq_hide_cmd,sizeof(lynq_hide_cmd),1,fp);
@@ -539,7 +541,8 @@
perror("close file faild");
return -1;
}
- return 0;
+
+ return 0;
}
int lynq_wifi_ap_unhide_ssid(void)
@@ -556,8 +559,7 @@
fwrite(lynq_disable_cmd,sizeof(lynq_disable_cmd),1,fp);
fwrite(lynq_unhide_cmd,sizeof(lynq_unhide_cmd),1,fp);
fwrite(lynq_select_cmd,sizeof(lynq_select_cmd),1,fp);
-
-
+
int ret=pclose(fp);
if(ret==-1){
perror("close file faild");
@@ -612,10 +614,9 @@
perror("popen error!");
return -1;
}
- if((strncmp(lynq_cmd_ret,LYNQ_WIFI_OK,2))==0){
- printf("cmd is work\n");
+ if((strncmp(lynq_cmd_ret,g_lynq_wifi_ok,2))==0){
}else{
- printf("cmd isn't work please check your cmd\n");
+ return -1;
}
int ret=pclose(fp);
@@ -624,12 +625,13 @@
return -1;
}
}
+
return 0;
}
int lynq_wifi_sta_ssid_get(void)
{
- char *lynq_wifi_ssid_cmd[]={"IFNAME=wlan0 status"};
+ char *lynq_wifi_ssid_cmd[]={"wpa_cli -iwlan0 -p/var/run/wpa_supplicant status"};
char lynq_cmd_ret[MAX_RET]={0};
char *strcn="ssid=";
@@ -641,14 +643,14 @@
while(1){
if((fgets(lynq_cmd_ret,sizeof(lynq_cmd_ret),fp))!=NULL){
if((strncmp(lynq_cmd_ret,strcn,5))==0)
- {
- sscanf(lynq_cmd_ret,"%*[^=]=%s",WIFI_SSID);
- printf("ssid is :%s\n",WIFI_SSID);
- }
+ {
+ sscanf(lynq_cmd_ret,"%*[^=]=%s",g_wifi_ssid);
+ }
}
- if(feof(fp)){
+ if(feof(fp))
+ {
break;
- }
+ }
}
if((pclose(fp))==-1){
perror("close file faild");
@@ -660,53 +662,55 @@
int lynq_wifi_sta_auth_set(int auth,char *lynq_auth)
{
- FILE *fp;
- switch(auth){
- case LYNQ_WIFI_STA_AUTH_OPEN:
+ FILE *fp;
+ switch(auth){
+ case LYNQ_WIFI_STA_AUTH_OPEN:
+ {
+ char lynq_cmd_ret[MAX_RET]={0};
+ if((fp=popen("/usr/bin/wpa_cli -iwpa_wlan0_cmd -p/var/run/","w"))==NULL)
{
- char lynq_cmd_ret[MAX_RET]={0};
- if((fp=popen("/usr/bin/wpa_cli -iwpa_wlan0_cmd -p/var/run/","w"))==NULL){
- perror("popen error!");
- return -1;
- }
- char lynq_auth_cmd[]="IFNAME=wlan0 set_net 0 key_mgmt NONE\n";
- char lynq_auth_save[]="IFNAME=wlan0 save_config\n";
+ perror("popen error!");
+ return -1;
+ }
- fwrite(lynq_auth_cmd,sizeof(lynq_auth_cmd),1,fp);
- fwrite(lynq_auth_save,sizeof(lynq_auth_save),1,fp);
+ char lynq_auth_cmd[]="IFNAME=wlan0 set_net 0 key_mgmt NONE\n";
+ char lynq_auth_save[]="IFNAME=wlan0 save_config\n";
+
+ fwrite(lynq_auth_cmd,sizeof(lynq_auth_cmd),1,fp);
+ fwrite(lynq_auth_save,sizeof(lynq_auth_save),1,fp);
- int ret=pclose(fp);
- if(ret==-1){
- perror("close file faild");
- return -1;
- }
+ int ret=pclose(fp);
+ if(ret==-1)
+ {
+ perror("close file faild");
+ return -1;
+ }
break;
}
- case LYNQ_WIFI_STA_AUTH_WPA_PSK:
+ case LYNQ_WIFI_STA_AUTH_WPA_PSK:
+ {
+ char lynq_tmp_cmd[MAX_CMD]={0};
+ char lynq_cmd_ret[MAX_CMD]={0};
+ char *lynq_auth_cmd[]={"wlan0 set_net 0 proto "};
+ char lynq_psk_cmd[]="IFNAME=wlan0 set_net 0 key_mgmt WPA-PSK\n";
+ char lynq_pairwise_cmd[]="IFNAME=wlan0 set_net 0 pairwise CCMP\n";
+ char lynq_auth_save[]="IFNAME=wlan0 save_config\n";
+ sprintf(lynq_tmp_cmd,"%s%s%s",lynq_auth_cmd[0],lynq_auth,"\n");
+
+ if((fp=popen("/usr/bin/wpa_cli -iwpa_wlan0_cmd -p/var/run/","w"))==NULL)
{
- char lynq_tmp_cmd[MAX_CMD]={0};
- char lynq_cmd_ret[MAX_CMD]={0};
- char *lynq_auth_cmd[]={"wlan0 set_net 0 proto "};
-
- char lynq_psk_cmd[]="IFNAME=wlan0 set_net 0 key_mgmt WPA-PSK\n";
- char lynq_pairwise_cmd[]="IFNAME=wlan0 set_net 0 pairwise CCMP\n";
- char lynq_auth_save[]="IFNAME=wlan0 save_config\n";
- sprintf(lynq_tmp_cmd,"%s%s%s",lynq_auth_cmd[0],lynq_auth,"\n");
-
+ perror("popen error!");
+ return -1;
+ }
-
- if((fp=popen("/usr/bin/wpa_cli -iwpa_wlan0_cmd -p/var/run/","w"))==NULL){
- perror("popen error!");
- return -1;
- }
-
- fwrite(lynq_tmp_cmd,sizeof(lynq_tmp_cmd),1,fp);
- fwrite(lynq_psk_cmd,sizeof(lynq_psk_cmd),1,fp);
- fwrite(lynq_pairwise_cmd,sizeof(lynq_pairwise_cmd),1,fp);
- fwrite(lynq_auth_save,sizeof(lynq_auth_save),1,fp);
+ fwrite(lynq_tmp_cmd,sizeof(lynq_tmp_cmd),1,fp);
+ fwrite(lynq_psk_cmd,sizeof(lynq_psk_cmd),1,fp);
+ fwrite(lynq_pairwise_cmd,sizeof(lynq_pairwise_cmd),1,fp);
+ fwrite(lynq_auth_save,sizeof(lynq_auth_save),1,fp);
int ret=pclose(fp);
- if(ret==-1){
+ if(ret==-1)
+ {
perror("close file faild");
return -1;
}
@@ -717,39 +721,38 @@
return -1;
}
-
- return 0;
- }
+ return 0;
+}
int lynq_wifi_sta_auth_get(void)
{
- char *lynq_wifi_auth_cmd[]={"IFNAME=wlan0 status"};
- char lynq_cmd_ret[MAX_RET]={0};
+ char *lynq_wifi_auth_cmd[]={"wpa_cli -iwlan0 -p/var/run/wpa_supplicant status"};
+ char lynq_cmd_ret[MAX_RET]={0};
char *strcn="key_mgmt=";
FILE *fp;
- printf("%s \n",lynq_wifi_auth_cmd[0]);
- if((fp=popen(lynq_wifi_auth_cmd[0],"r"))==NULL){
- perror("popen error!");
- printf("***************\n");
- return -1;
- }
- while(1){
- if((fgets(lynq_cmd_ret,sizeof(lynq_cmd_ret),fp))!=NULL){
- printf("cmd_ret is:%s",lynq_cmd_ret);
- if((strncmp(lynq_cmd_ret,strcn,9))==0)
- {
- sscanf(lynq_cmd_ret,"%*[^=]=%s",WIFI_KEY_MGMT);
- }
- }
- if(feof(fp)){
- break;
- }
- }
- if((pclose(fp))==-1){
- perror("close file faild");
- return -1;
- }
+ if((fp=popen(lynq_wifi_auth_cmd[0],"r"))==NULL){
+ perror("popen error!");
+ return -1;
+ }
+ while(1){
+ if((fgets(lynq_cmd_ret,sizeof(lynq_cmd_ret),fp))!=NULL)
+ {
+ if((strncmp(lynq_cmd_ret,strcn,9))==0)
+ {
+ sscanf(lynq_cmd_ret,"%*[^=]=%s",g_wifi_key_mgmt);
+ }
+ }
+ if(feof(fp)){
+ break;
+ }
+ }
+ if((pclose(fp))==-1)
+ {
+ perror("close file faild");
+ return -1;
+ }
+
return 0;
}
@@ -758,14 +761,14 @@
{
FILE *fp;
char lynq_cmd_ret[MAX_RET]={0};
- if((fp=popen("IFNAME=wlan0 enable_network 0","r"))==NULL){
+ if((fp=popen("wpa_cli -iwlan0 -p/var/run/wpa_supplicant reconnect","r"))==NULL){
perror("popen error!");
return -1;
}
fgets(lynq_cmd_ret,sizeof(lynq_cmd_ret),fp);
- if((strncmp(lynq_cmd_ret,LYNQ_WIFI_OK,sizeof(LYNQ_WIFI_OK)))==0){
- printf("cmd is work");
+ if((strncmp(lynq_cmd_ret,g_lynq_wifi_ok,sizeof(g_lynq_wifi_ok)))!=0){
+ return -1;
}
int ret=pclose(fp);
@@ -781,28 +784,28 @@
{
FILE *fp;
char LYNQ_CMD_RET[MAX_CMD]={0};
- if((fp=popen("IFNAME=wlan0 disconnect","r"))==NULL){
+ if((fp=popen("wpa_cli -iwlan0 -p/var/run/wpa_supplicant disconnect","r"))==NULL){
perror("popen error!");
return -1;
}
fgets(LYNQ_CMD_RET,sizeof(LYNQ_CMD_RET),fp);
- if((strncmp(LYNQ_CMD_RET,LYNQ_WIFI_OK,sizeof(LYNQ_WIFI_OK)))==0){
- printf("cmd is work");
+ if((strncmp(LYNQ_CMD_RET,g_lynq_wifi_ok,sizeof(g_lynq_wifi_ok)))!=0){
+ return -1;
}
int ret=pclose(fp);
if(ret==-1){
perror("close file faild");
return -1;
}
+
return 0;
}
-
int lynq_wifi_wpa_start(void){
FILE *fp;
- fp=popen("wpa_supplicant -iwlan0 -Dnl80211 -c /data/wifi/wg870/wpa_supplicant.conf -g/var/run/wpa_wlan0_cmd -dd -t -B","w");
+ fp=popen("wpa_supplicant -iwlan0 -Dnl80211 -c /data/wifi/wg870/wpa_supplicant.conf -g/var/run/wpa_wlan0_cmd -dd -t -B","r");
if(fp==NULL){
perror("start wpa_supplicant faild!");
return -1;
@@ -819,36 +822,29 @@
int lynq_wifi_wpacli_start(void){
FILE *fp;
- printf("into wpacli \n");
char lynq_cmd_ret[MAX_RET]={0};
- char rmcmd[128]="IFNAME=wlan0 remove_net all\n";
- char adcmd[128]="IFNAME=wlan0 add_net\n";
- char sacmd[128]="IFNAME=wlan0 save_config\n";
+ char rm_cmd[128]="IFNAME=wlan0 remove_net all\n";
+ char add_cmd[128]="IFNAME=wlan0 add_net\n";
+ char save_cmd[128]="IFNAME=wlan0 save_config\n";
fp=popen("/usr/bin/wpa_cli -iwpa_wlan0_cmd -p/var/run/","w");
if(fp==NULL){
perror("start wpa_supplicant faild!");
return -1;
}
- while(1)
- {
- fwrite(rmcmd,sizeof(rmcmd),1,fp);
-
- fwrite(adcmd,sizeof(adcmd),1,fp);
-
- fwrite(sacmd,sizeof(sacmd),1,fp);
-
- break;
- }
+
+ fwrite(rm_cmd,sizeof(rm_cmd),1,fp);
+ fwrite(add_cmd,sizeof(add_cmd),1,fp);
+ fwrite(save_cmd,sizeof(save_cmd),1,fp);
int ret=pclose(fp);
- if(ret==-1){
- perror("close file faild");
- return -1;
- }
+ if(ret==-1)
+ {
+ perror("close file faild");
+ return -1;
+ }
- return 0;
-
+ return 0;
}