/usr/lib/python2.7/dist-packages/framework/subsystems/ogsmd/modems/freescale_neptune/channel.py is in fso-frameworkd 0.10.1-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 | #!/usr/bin/env python
"""
The Open GSM Daemon - Python Implementation
(C) 2007-2008 M. Dietrich
(C) 2008 Michael 'Mickey' Lauer <mlauer@vanille-media.de>
GPLv2 or later
Package: ogsmd.modems.freescale_neptune
Module: channel
Freescale Neptune specific modem channels
"""
__version__ = "0.8.0"
MODULE_NAME = "ogsmd.neptune_freescale"
from ogsmd.modems.abstract.channel import AbstractModemChannel
import gobject
#=========================================================================#
class EzxMuxChannel( AbstractModemChannel ):
#=========================================================================#
def __init__( self, *args, **kwargs ):
AbstractModemChannel.__init__( self, *args, **kwargs )
#=========================================================================#
class CallAndNetworkChannel( EzxMuxChannel ):
#=========================================================================#
def __init__( self, *args, **kwargs ):
EzxMuxChannel.__init__( self, *args, **kwargs )
# FIXME we can't do this, since it is modem-wide (not VC-wide)
#self.enqueue( "+CMER=0,0,0,0,0" ) # unsolicited event reporting: none
def _populateCommands( self ):
AbstractModemChannel._populateCommands( self ) # default command init
c = self._commands["init"] = []
c.append( '+EPOM=1,0' ) # Ezx Power On Modem
c.append( '+EAPF=12,1,0' ) # ??
# GSM unsolicited
c.append( '+CRC=1' ) # Extended ring report
c.append( '+CLIP=1' ) # calling line identification presentation enable
c.append( '+COLP=1' ) # connected line identification presentation enable
c.append( '+CCWA=1' ) # call waiting
c.append( "+CSSN=1,1" ) # supplementary service notifications: send unsol. code
c.append( '+CTZU=1' ) # timezone update
c.append( '+CTZR=1' ) # timezone reporting
c.append( '+CREG=2' ) # registration information (NOTE not all modems support =2)
c.append( "+CAOC=2" ) # advice of charge: send unsol. code
# GPRS unsolicited
c.append( "+CGEREP=2,1" )
c.append( "+CGREG=2" )
self._commands["sim"] = []
#=========================================================================#
class SmsChannel( EzxMuxChannel ):
#=========================================================================#
def __init__( self, *args, **kwargs ):
EzxMuxChannel.__init__( self, *args, **kwargs )
def _populateCommands( self ):
AbstractModemChannel._populateCommands( self ) # default command init
self._commands["init"] = []
# This modem needs a special SIM init sequence otherwise GSM 07.07 SMS commands won't succeed
c = self._commands["sim"] = []
c.append( "+CRRM" )
# FIXME if this returns an error, we might have no SIM inserted
c.append( "+EPMS?" )
c.append( "+EMGL=4" )
#=========================================================================#
class SimChannel( EzxMuxChannel ):
#=========================================================================#
def __init__( self, *args, **kwargs ):
EzxMuxChannel.__init__( self, *args, **kwargs )
def _populateCommands( self ):
AbstractModemChannel._populateCommands( self ) # default command init
self._commands["init"] = []
#=========================================================================#
class MiscChannel( EzxMuxChannel ):
#=========================================================================#
def __init__( self, *args, **kwargs ):
EzxMuxChannel.__init__( self, *args, **kwargs )
# FIXME we can't do this, since it is modem-wide (not VC-wide)
#self.enqueue( "+CMER=0,0,0,0,0" ) # unsolicited event reporting: none
def modemStateSimUnlocked( self, *args, **kwargs ):
# we _should_ be ready now, alas we can't check for sure :(
self._modem._object.ReadyStatus( True )
def _populateCommands( self ):
AbstractModemChannel._populateCommands( self ) # default command init
c = self._commands["init"] = []
c.append( '+USBSTAT=255,1' ) # charge
self._commands["sim"] = []
|