Wireless-Innovation-Forum / Citizens-Broadband-Radio-Service-Device

Apache License 2.0
31 stars 19 forks source link

Not able to run cases by changing MaxEirp using "StartPowerMeas.py" script #101

Closed pawan25062 closed 6 years ago

pawan25062 commented 6 years ago

Hi, Problem statement: Not able to run cases by changing MaxEirp using "StartPowerMeas.py" script

Problem observed due wrong Grant response sent by Mock SAS while changing MaxEirp: 2018-01-24T07:32:22.469Z - INFO - grant request from CBRS : { "grantRequest": [ { "cbsdId": "S9GQ710US01Mock-SAS401629000040", "operationParam": { "maxEirp": 17, "operationFrequencyRange": { "highFrequency": 3570000000, "lowFrequency": 3550000000 } } } ] } 2018-01-24T07:32:22.469Z - INFO - The requested maxEirp value is too high 2018-01-24T07:32:22.469Z - INFO - The Grant response code is not 0, applicable spectrum parameters have been sent out. 2018-01-24T07:32:22.469Z - INFO - OrderedDict([(u'grantResponse', [OrderedDict([('availableChannel', [{'maxEirp': 10, 'channelType': 'GAA', 'ruleApplied': 'FCC PART 96', 'frequencyRange': {'lowFrequency': 3550000000L, 'highFrequency': 3570000000L}}]), ('response', {'responseCode': 400}), ('cbsdId', u'S9GQ710US01Mock-SAS401629000040')])])]) 2018-01-24T07:32:32.546Z - INFO - spectrumInquiry request from CBRS : {

Here grant response includes object "availableChannel" which should not be part of grant response define SAS-CBSD v1.1 spec Instead of "availableChannel", Grant response should have "OperationParam" Object. Because of this wrong grant response our CBSD is not able to transmit according to new maxEIRP

We have made some changes in "powerMeasRequestHandler.py" to handle this situation. Following is the block: if(grantResp["response"]["responseCode"] !=0):

Aricent: Changes done in this method

        #newAvailableChannel = {}
        newResponseChannel = {}

        for i in range(len(self.spectrumConf)):
            newResponseChannel ={}
            newResponseChannel["operationFrequencyRange"] = {}
            newResponseChannel["operationFrequencyRange"]["highFrequency"]=self.spectrumConf[i]["highFrequency"]
            newResponseChannel["operationFrequencyRange"]["lowFrequency"]=self.spectrumConf[i]["lowFrequency"]
            #newResponseChannel["ruleApplied"]="FCC PART 96"
            newResponseChannel["maxEirp"]=self.currentGrantEIRP
            '''
            if(newResponseChannel["frequencyRange"]["lowFrequency"]>=consts.SPECTRUM_GAA_LOW and \
                        newResponseChannel["frequencyRange"]["highFrequency"]<=consts.SPECTRUM_GAA_HIGH):
                newResponseChannel["channelType"]="GAA"  
            elif(newResponseChannel["frequencyRange"]["lowFrequency"]>=consts.SPECTRUM_PAL_LOW and \
                        newResponseChannel["frequencyRange"]["highFrequency"]<=consts.SPECTRUM_PAL_HIGH):
                newResponseChannel["channelType"]="PAL"                         
            newAvailableChannel.append(newResponseChannel)
            '''

        self.change_Value_Of_Param_In_Dict(jsonResponsedefined, "operationParam", newResponseChannel)
        self.loggerHandler.print_to_Logs_Files('The Grant response code is not 0, applicable spectrum parameters have been sent out.', True)     
cwilliams-ericsson commented 6 years ago

Fixed in working branch, using most of code in above comment. Thanks!