1,代码修改
#if 0
system("/app/ppp/cpppd");
system("/app/ppp/quectel-pppd.sh");
#else
// change to RNDIS 拨号
//此命令只需设置一次,后续不用设置,而且发送此命令后,模块会从新启动
if(strcmp(g_stTAMDtuInfo.pid,"9011"))
{ TAM_Dtu_AtCmdSendAndRead(g_s4MianDevFd,"AT+CUSBPIDSWITCH=9011,1,1","OK",5,NULL);
//HI_PDT_PARAM_Deinit();
sleep(2);
HI_SYSTEM_Reboot();
}
sleep(0.5);
system("ifconfig usb0 up");
sleep(0.5);
system("udhcpc -i usb0");
#endif
2,linux 内核需配置 使能 RNDIS
Device Drivers--->Network device support -->Wireless LAN --->Wireless RNDIS USB support 使能
3, 修改驱动源码
/driver/usb/serial/option.c 添加 4G模块的pid vid :
#define SIMCOM_PRODUCT_RNDIS 0x9011 /* SIMCOM RNDIS */
static const struct option_blacklist_info simcom_rndis_blacklist = {
.reserved = BIT(0) | BIT(1),
};
{ USB_DEVICE(ALINK_VENDOR_ID, SIMCOM_PRODUCT_RNDIS),
.driver_info = (kernel_ulong_t)&simcom_rndis_blacklist },