1.兼容eg915q usb net
This commit is contained in:
parent
dbd7ec304f
commit
62801c2e90
|
@ -52,6 +52,8 @@ SINT32 app_t110(void);
|
|||
SINT32 sf_app_to_cardv_capture(void);
|
||||
SINT32 sf_module_reboot_reg_net(void);
|
||||
SINT32 sf_app_to_cardv_hd_ture(void);
|
||||
int sf_check_eth0(void);
|
||||
int sf_check_usb0(void);
|
||||
#ifdef __cplusplus
|
||||
#if __cplusplus
|
||||
}
|
||||
|
|
|
@ -148,7 +148,7 @@ static SINT16 app_Qlog_procress(void) {
|
|||
SINT32 sf_USB_net_init(void) {
|
||||
SF_CHAR cmdStr[128] = {0};
|
||||
char cmdtmp[20] = {0};
|
||||
|
||||
UINT8 i = 0;
|
||||
int ret = SF_FAILURE;
|
||||
UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
|
||||
|
||||
|
@ -160,7 +160,7 @@ SINT32 sf_USB_net_init(void) {
|
|||
sprintf(cmdtmp, "/dev/qcqmi0");
|
||||
}
|
||||
|
||||
for (UINT8 i = 0; i < 40; i++) {
|
||||
for (i = 0; i < 40; i++) {
|
||||
if (access(cmdtmp, F_OK) == SF_SUCCESS) {
|
||||
ret = SF_SUCCESS;
|
||||
printf("usb net ko exist!\r\n");
|
||||
|
@ -171,12 +171,30 @@ SINT32 sf_USB_net_init(void) {
|
|||
}
|
||||
|
||||
if (ret == SF_SUCCESS) {
|
||||
system(cmdStr);
|
||||
if (sf_poweron_type_get() == SF_MCU_STARTUP_RING) {
|
||||
ret = system(cmdStr);
|
||||
if(SUCCESS != ret){
|
||||
MLOGE("usb net err %d\n",ret);
|
||||
}else {
|
||||
for (i = 0; i < 40; i++) {
|
||||
if(strncmp(puiPara->ModuleVer, GPRS_MODULE_TYPE_EG915Q, 6) == 0){
|
||||
ret = sf_check_usb0();
|
||||
}else{
|
||||
ret = sf_check_eth0();
|
||||
}
|
||||
if (SUCCESS == ret) {
|
||||
ret = SF_SUCCESS;
|
||||
MLOGI("usb net ip up\r\n");
|
||||
break;
|
||||
} else {
|
||||
sleep(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
/*if (sf_poweron_type_get() == SF_MCU_STARTUP_RING) {
|
||||
sleep(2);
|
||||
} else {
|
||||
sleep(5);
|
||||
}
|
||||
}*/
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -1276,6 +1294,9 @@ static SINT32 app_Register_Net_startup_mode(SF_FN_PARAM_S *pfnParam) {
|
|||
s32ret = sf_get_ntp(s32ret);
|
||||
}
|
||||
|
||||
sf_4G_usb_net_apn_cfg(pfnParam);
|
||||
sf_USB_net_init();
|
||||
|
||||
if(sf_get_signal_ready()){
|
||||
if(SUCCESS != sf_connect_ftps_server()){
|
||||
printf("[%s:%d]open ftps fail, reconnect\n", __FUNCTION__, __LINE__);
|
||||
|
@ -1284,8 +1305,6 @@ static SINT32 app_Register_Net_startup_mode(SF_FN_PARAM_S *pfnParam) {
|
|||
}
|
||||
}
|
||||
}
|
||||
sf_4G_usb_net_apn_cfg(pfnParam);
|
||||
sf_USB_net_init();
|
||||
SF_APPCOMM_CHECK_RETURN(s32ret, s32ret);
|
||||
|
||||
break;
|
||||
|
@ -1624,6 +1643,93 @@ SINT32 sf_app_to_cardv_hd_ture(void) {
|
|||
s32ret = sf_share_mem_hd_down(1);
|
||||
return s32ret;
|
||||
}
|
||||
|
||||
int sf_check_eth0(void)
|
||||
{
|
||||
FILE *fp;
|
||||
int len = 256;
|
||||
char *output = malloc(len);
|
||||
|
||||
if (output == NULL) {
|
||||
MLOGE("%s:%d output malloc err\n", __FUNCTION__, __LINE__);
|
||||
return 1;
|
||||
}
|
||||
|
||||
fp = popen("ifconfig eth0", "r");
|
||||
if (fp == NULL) {
|
||||
perror("popen");
|
||||
free(output);
|
||||
return 1;
|
||||
}
|
||||
fgets(output, len, fp);
|
||||
if (strstr(output, "eth0") == NULL) {
|
||||
MLOGI("The network card does not exist\n");
|
||||
pclose(fp);
|
||||
free(output);
|
||||
return 1;
|
||||
}
|
||||
|
||||
fgets(output, len, fp);
|
||||
if (strstr(output, "inet ") == NULL) {
|
||||
MLOGI("The network card exists, but no IP address has been assigned\n");
|
||||
pclose(fp);
|
||||
free(output);
|
||||
return 1;
|
||||
}
|
||||
|
||||
char *ip_address_start = strstr(output, "inet ") + strlen("inet ");
|
||||
char *ip_address_end = strchr(ip_address_start, ' ');
|
||||
*ip_address_end = '\0';
|
||||
|
||||
MLOGI("IP address of network card eth0: %s\n", ip_address_start);
|
||||
|
||||
pclose(fp);
|
||||
free(output);
|
||||
return 0;
|
||||
}
|
||||
int sf_check_usb0(void)
|
||||
{
|
||||
FILE *fp;
|
||||
int len = 256;
|
||||
char *output = malloc(len);
|
||||
|
||||
if (output == NULL) {
|
||||
MLOGE("%s:%d output malloc err\n", __FUNCTION__, __LINE__);
|
||||
return 1;
|
||||
}
|
||||
|
||||
fp = popen("ifconfig usb0", "r");
|
||||
if (fp == NULL) {
|
||||
perror("popen");
|
||||
free(output);
|
||||
return 1;
|
||||
}
|
||||
fgets(output, len, fp);
|
||||
if (strstr(output, "usb0") == NULL) {
|
||||
MLOGI("The network card does not exist\n");
|
||||
pclose(fp);
|
||||
free(output);
|
||||
return 1;
|
||||
}
|
||||
|
||||
fgets(output, len, fp);
|
||||
if (strstr(output, "inet ") == NULL) {
|
||||
MLOGI("The network card exists, but no IP address has been assigned\n");
|
||||
pclose(fp);
|
||||
free(output);
|
||||
return 1;
|
||||
}
|
||||
|
||||
char *ip_address_start = strstr(output, "inet ") + strlen("inet ");
|
||||
char *ip_address_end = strchr(ip_address_start, ' ');
|
||||
*ip_address_end = '\0';
|
||||
|
||||
MLOGI("IP address of network card usb0: %s\n", ip_address_start);
|
||||
|
||||
pclose(fp);
|
||||
free(output);
|
||||
return 0;
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
#if __cplusplus
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user