babca / python-gsmmodem

Maintained fork of a Python module to control GSM modems attached to the system: send/receive SMS messages in your scripts, handle calls, and more.
GNU Lesser General Public License v3.0
174 stars 106 forks source link

Invalid check if command is supported #27

Open petrleocompel opened 7 years ago

petrleocompel commented 7 years ago

Actual check

if "+CSCS" in self._commands

value in self._commands

[b'H', b'A', b'D', b'S0', b'S3', b'S4', b'S5', b'S6', b'S7', b'E', b'V', b'I', b'T', b'P', b'X', b'Z', b'Q', b'&C', b'&D', b'&F', b'+CMGS', b'+CMGW', b'+CMGR', b'+CMGL', b'+CMGC', b'+CMSS', b'+CNMA', b'+CSCS', b'+CMEE', b'+CREG', b'+CSDH', b'+CNMI', b'+CGREG', b'+CMMS', b'+CMGF', b'+CGSMS', b'+CSCA', b'+CSMS', b'+CSMP', b'+CPMS', b'+CMGD', b'+CSCB', b'^RSTRIGGER', b'+CLIP', b'+CLIR', b'+COLP', b'+CLCC', b'+CPAS', b'+CSTA', b'+CCUG', b'+CSSN', b'+CHLD', b'+CHUP', b'+VTS', b'^DTMF', b'+CRC', b'+CBST', b'+CMOD', b'^ALS', b'+CUUS1', b'^CDUR', b'+CGDCONT', b'+CGEQNEG', b'+CGDSCONT', b'+CGEQREQ', b'+CGEQMIN', b'+CGPADDR', b'+CGCMOD', b'+CGACT', b'+CGANS', b'+CGTFT', b'^CGDNS', b'+CGAUTO', b'+CGDATA', b'^TRIG', b'^GCFIND', b'+CGATT', b'^CGCATT', b'+COPS', b'+CGCLASS', b'+CFUN', b'+CGMI', b'+CGMM', b'+GMM', b'+CGMR', b'+CGSN', b'+GSN', b'+CIMI', b'+CSQ', b'^CBND', b'^CPDW', b'^HWVER', b'^HVER', b'^FHVER', b'^PFVER', b'+CLAC', b'^SN', b'+GCAP', b'^SRVST', b'^MODE', b'^SIMST', b'^HS', b'+CPLS', b'+CPOL', b'+CPBS', b'^CPBR', b'+CPBR', b'^CPBW', b'+CPBW', b'^SCPBW', b'^SCPBR', b'+CNUM', b'+CPBF', b'+CSIM', b'+CPIN', b'^ICCID', b'^CPIN', b'+CRSM', b'^PNN', b'^CPNN', b'^OPL', b'^CARDLOCK', b'+CCWA', b'+CCFC', b'+CUSD', b'^CMLCK', b'+CLCK', b'+CPWD', b'^CDSF', b'^CDCF', b'^CDQF', b'^DSFLOWCLR', b'^DSFLOWQRY', b'^DSFLOWRPT', b'^CPAM', b'^TIME', b'+CTZR', b'^STSF', b'^STGI', b'^STGR', b'^IMSICHG', b'^PDPSTUB', b'^CWAS', b'^CGAS', b'^MFREELOCKSIZE', b'^CPULOAD', b'^CELLINFO', b'^MEANRPT', b'^CCC', b'^SPN', b'^CARDMODE', b'^CURC', b'^CMSR', b'^CMGI', b'^CMMT', b'^AUTHDATA', b'^DHCP', b'^CRPN', b'^GLASTERR', b'^NDISDUP', b'^NDISCONN', b'^NDISSTATQRY', b'^NDISADD', b'^DNSP', b'^DNSS', b'^DLOADVER', b'^DLOADINFO', b'^NVBACKUP', b'^NVRESTORE', b'^AUTHORITYVER', b'^AUTHORITYID', b'^GODLOAD', b'^RESET', b'^NVRSTSTTS', b'^FLASHINFO', b'^COMM', b'^HSPA', b'^CSNR', b'^FREQLOCK', b'^CFPLMN', b'^CQST', b'^CAATT', b'^SYSINFO', b'^SYSCFG', b'^RXDIV', b'^PCSCINFO', b'^CELLSRCH', b'+CLVL', b'^VMSET', b'^CDTMFS', b'^CDTMFE', b'+GMI', b'+GMR', b'^SETPORT', b'^VERTIME', b'^APHPLMN', b'^ANQUERY', b'^APPWRONREG', b'^APTHROUGHPUT', b'^APCONNST', b'^WIFIGLOBALMAC', b'^SCID', b'+CSQLVL', b'^CSQLVLEXT', b'^APPDMVER', b'^AUTHVER', b'^IPV6CAP', b'^DHCPV6', b'^APRAINFO', b'^APLANADDR']

As you can see +CSCS is supported

but in array is as bytes but checking is strig so return is its not supported

Also with CNUM

so controls should be

if b'+CSCS' in self._commands
if b'+CNUM' in self._commands
lcnittl commented 7 years ago

Apparently, after #22 there shoud not be any bytes used/needed in modem.py. Are you sure you are using the latest files?