4G 模块配置 RNDIS 拨号(海思平台)

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 },

你可能感兴趣的:(linux,网络)