MFG 모드에서 WIFI 테스트 시, 읽어들여야 하는 WIFI Cal Data file 의 이름을 프로젝트 별로 분기하는 방법에 대해 설명한다.

문제 상황

삼성에서 각 프로젝트 별로 파일 이름을 다르게 사용하고 있으며, 기존에는 로드하는 파일이름(/lib/firmware/mrvl/WlanCalData_ext.conf)이 하나로 정해져 있다.

NX1 /lib/firmware/mrvl/WlanCalData_ext.conf
NX500 /lib/firmware/mrvl/WlanCalData_ext_nx500.conf
NX MINI2 /lib/firmware/mrvl/WlanCalData_ext_mini2.conf

해결 방법

이에 대한 해결책으로 MRVLDut/MRVL_RF_API.cpp 파일을 아래와 같이 수정하였다.

/*
 *  function : MRVL_RFT_TxGain
 *  description :  set tx power gain.
 *      11b : 17
 *      11g : 14
 *      11n : 13
 *   ss at command :   AT+WIFITEST=0,0,3,17
*/
int MRVL_RFT_TxGain_set(int Pwr4Pa)
{
    int status=0, PathId=0,chanOffset=0;
    int totalLen=0;
    FILE* hFile;
    BOOL rateG=1;               // default set to 11G
 
    DWORD mChNumber= gChannelNumber;            // default set to Ch.6
    int ht40ChNumber= gChannelNumber;           // default set to Ch.6
    int ht80ChNumber= gChannelNumber;           // default set to Ch.6
    int mDataRate=TxDataRate_Tbl[mPcktPifsSettings.dataRateIndex];
 
    char temp[MAX_LENGTH]="/lib/firmware/mrvl/WlanCalData_ext.conf";     // 
 
// 추가 시작
 
    if (0 == access(temp, F_OK))
        LOGE("Load %s for NX1\n", temp);
    else 
    {    
        sprintf(temp, "/lib/firmware/mrvl/WlanCalData_ext_nx500.conf");
        if (0 == access(temp, F_OK))
            LOGE("Load %s for NX500\n", temp);
        else
        {
            sprintf(temp, "/lib/firmware/mrvl/WlanCalData_ext_mini2.conf");
            if (0 == access(temp, F_OK))
                LOGE("Load %s for MINI2\n", temp);
            else
                LOGE("Fail load WlanCalData file\n");
        }
    }    
 
// 추가 끝
 
    LOGE("[%s] enter \n", __func__);
 
    gTxGain = Pwr4Pa;
    LOGE("MRVL_RFT_TxGain gBandWidth: 0x%X , Pwr4Pa=%d \n",gBandWidth, Pwr4Pa);
    //status = DutIf_SetRfChannel_new(parm1, chanOffset);
    //status = DutIf_SetRfChannel_new(Channel);
...

해당 파일의 존재 유무에 따라 각각 프로젝트 별로 분기하여 파일을 읽어들이도록 하였다.

  • computer/marvell/wifi_cal_data_설정하기.txt
  • Last modified: 3 years ago
  • by likewind