def initGsmNetwork(inSTR1, inSTR2): # This function sets all Network specific settings # Input Parameter Definitions # inSTR1: GSM Network (ATT or GSM) # inSTR2: AT#BND=inSTR2 (0,1,2,or 3) tmpReturn = -1 try: #res = ATC.sendAtCmd("AT+CFUN=1",ATC.properties.CMD_TERMINATOR,0,2) #Set Automatic Operator Selection res = ATC.getFirmwareRev() if (res == -1): return tmpReturn res = ATC.sendAtCmd("AT#SELINT?",ATC.properties.CMD_TERMINATOR,0,2) #query SELINT setting if (res != "#SELINT: 2"): res = ATC.sendAtCmd('AT#SELINT=2',ATC.properties.CMD_TERMINATOR,0,2) #use of most recent AT command set res = ATC.sendAtCmd('AT&P0',ATC.properties.CMD_TERMINATOR,0,2) #Save Profile res = ATC.sendAtCmd('AT&W0',ATC.properties.CMD_TERMINATOR,0,2) #Save Settings return tmpReturn if (ATC.properties.firmwareMajor == '07'): #Firmware specific settings if (ATC.properties.firmwareMinor == '02'): res = ATC.sendAtCmd('AT#AUTOBND?',ATC.properties.CMD_TERMINATOR,3,2) #query AUTOBND setting if (res != "#AUTOBND: 1"): res = ATC.sendAtCmd('AT#AUTOBND=1',ATC.properties.CMD_TERMINATOR,3,2) #enable Quad band system selection res = ATC.sendAtCmd('AT&P0',ATC.properties.CMD_TERMINATOR,0,2) #Save Profile res = ATC.sendAtCmd('AT&W0',ATC.properties.CMD_TERMINATOR,0,2) #Save Settings return tmpReturn elif (ATC.properties.firmwareMinor == '03'): res = ATC.sendAtCmd('AT#AUTOBND?',ATC.properties.CMD_TERMINATOR,3,2) #query AUTOBND setting if (res != "#AUTOBND: 2"): res = ATC.sendAtCmd('AT#AUTOBND=2',ATC.properties.CMD_TERMINATOR,3,2) #enable Quad band system selection res = ATC.sendAtCmd('AT&P0',ATC.properties.CMD_TERMINATOR,0,2) #Save Profile res = ATC.sendAtCmd('AT&W0',ATC.properties.CMD_TERMINATOR,0,2) #Save Settings return tmpReturn #Apply Network Specific settings see myApp.xxxx assignment above if (inSTR1 == "ATT"): #Set module to work on US ATT Network res = ATC.sendAtCmd("AT#ENS?",ATC.properties.CMD_TERMINATOR,0,2) #query ENS setting if (res != "#ENS: 1"): res = ATC.sendAtCmd('AT#ENS=1',ATC.properties.CMD_TERMINATOR,0,2) #sets all ATT requirements res = ATC.sendAtCmd('AT&P0',ATC.properties.CMD_TERMINATOR,0,2) #Save Profile res = ATC.sendAtCmd('AT&W0',ATC.properties.CMD_TERMINATOR,0,2) #Save Settings return tmpReturn #Firmware specific settings if (ATC.properties.firmwareMinor == '02'): res = ATC.sendAtCmd("AT#PLMNMODE?",ATC.properties.CMD_TERMINATOR,0,2) #query PLMN setting if (res != "#PLMNMODE: 1"): res = ATC.sendAtCmd('AT#PLMNMODE=1',ATC.properties.CMD_TERMINATOR,0,2) #enable EONS (enhanced operator naming scheme) res = ATC.sendAtCmd('AT&P0',ATC.properties.CMD_TERMINATOR,0,2) #Save Profile res = ATC.sendAtCmd('AT&W0',ATC.properties.CMD_TERMINATOR,0,2) #Save Settings return tmpReturn else: #Set module to work on all other Networks res = ATC.sendAtCmd('AT#ENS?',ATC.properties.CMD_TERMINATOR,0,2) if (res != "#ENS: 0"): res = ATC.sendAtCmd('AT#ENS=0',ATC.properties.CMD_TERMINATOR,0,2) #disable all ATT requirements res = ATC.sendAtCmd('AT&P0',ATC.properties.CMD_TERMINATOR,0,2) #Save Profile res = ATC.sendAtCmd('AT&W0',ATC.properties.CMD_TERMINATOR,0,2) #Save Settings return tmpReturn res = ATC.sendAtCmd("AT#BND?",ATC.properties.CMD_TERMINATOR,0,2) #query BND setting if (res != "#BND: " + inSTR2): res = ATC.sendAtCmd('AT#BND='+ inSTR2,ATC.properties.CMD_TERMINATOR,3,2) #set bands to 850/1900 res = ATC.sendAtCmd('AT&P0',ATC.properties.CMD_TERMINATOR,0,2) #Save Profile res = ATC.sendAtCmd('AT&W0',ATC.properties.CMD_TERMINATOR,0,2) #Save Settings return tmpReturn res = ATC.sendAtCmd("AT#PLMNMODE?",ATC.properties.CMD_TERMINATOR,0,2) #query PLMN setting if (res != "#PLMNMODE: 1"): res = ATC.sendAtCmd('AT#PLMNMODE=1',ATC.properties.CMD_TERMINATOR,0,2) #enable EONS (enhanced operator naming scheme) res = ATC.sendAtCmd('AT&P0',ATC.properties.CMD_TERMINATOR,0,2) #Save Profile res = ATC.sendAtCmd('AT&W0',ATC.properties.CMD_TERMINATOR,0,2) #Save Settings return tmpReturn res = wait4SIMReady() #wait for SIM to be ready for use res = ATC.sendAtCmd("AT#STIA?",ATC.properties.CMD_TERMINATOR,0,2) #query STIA settings if ((res.find('STIA: 0,1')==-1) and (res.find('STIA: 1,1')==-1)): res = ATC.sendAtCmd('AT#STIA=1,10',ATC.properties.CMD_TERMINATOR,0,2) #enable SAT - SIM Application Tool-Kit res = ATC.sendAtCmd('AT&P0',ATC.properties.CMD_TERMINATOR,0,2) #Save Profile res = ATC.sendAtCmd('AT&W0',ATC.properties.CMD_TERMINATOR,0,2) #Save Settings return tmpReturn elif (ATC.properties.firmwareMajor == '10'): if (inSTR1 == "ATT"): #Set module to work on US ATT Network res = ATC.sendAtCmd("AT#ENS?",ATC.properties.CMD_TERMINATOR,0,2) #query ENS setting if (res != "#ENS: 1"): res = ATC.sendAtCmd('AT#ENS=1',ATC.properties.CMD_TERMINATOR,0,2) #sets all ATT requirements res = ATC.sendAtCmd('AT&P0',ATC.properties.CMD_TERMINATOR,0,2) #Save Profile res = ATC.sendAtCmd('AT&W0',ATC.properties.CMD_TERMINATOR,0,2) #Save Settings return tmpReturn else: res = ATC.sendAtCmd('AT#AUTOBND?',ATC.properties.CMD_TERMINATOR,3,2) #query AUTOBND setting if (res != "#AUTOBND: 2"): res = ATC.sendAtCmd('AT#AUTOBND=2',ATC.properties.CMD_TERMINATOR,3,2) #enable Quad band system selection res = ATC.sendAtCmd('AT&P0',ATC.properties.CMD_TERMINATOR,0,2) #Save Profile res = ATC.sendAtCmd('AT&W0',ATC.properties.CMD_TERMINATOR,0,2) #Save Settings return tmpReturn res = ATC.sendAtCmd("AT#PLMNMODE?",ATC.properties.CMD_TERMINATOR,0,2) #query PLMN setting if (res != "#PLMNMODE: 1"): res = ATC.sendAtCmd('AT#PLMNMODE=1',ATC.properties.CMD_TERMINATOR,0,2) #enable EONS (enhanced operator naming scheme) res = ATC.sendAtCmd('AT&P0',ATC.properties.CMD_TERMINATOR,0,2) #Save Profile res = ATC.sendAtCmd('AT&W0',ATC.properties.CMD_TERMINATOR,0,2) #Save Settings return tmpReturn res = wait4SIMReady() #wait for SIM to be ready for use res = ATC.sendAtCmd("AT#STIA?",ATC.properties.CMD_TERMINATOR,0,2) #query STIA settings if ((res.find('STIA: 0,1')==-1) and (res.find('STIA: 1,1')==-1)): res = ATC.sendAtCmd('AT#STIA=1,10',ATC.properties.CMD_TERMINATOR,0,2) #enable SAT - SIM Application Tool-Kit res = ATC.sendAtCmd('AT&P0',ATC.properties.CMD_TERMINATOR,0,2) #Save Profile res = ATC.sendAtCmd('AT&W0',ATC.properties.CMD_TERMINATOR,0,2) #Save Settings return tmpReturn else: print 'Unknown Firmware' tmpReturn = 0 except: printException("initGsmNetwork()") return tmpReturn