[pkg-fso-commits] [SCM] FSO frameworkd Debian packaging branch, master, updated. milestone4-368-g700ab82

Daniel Willmann daniel at totalueberwachung.de
Mon Feb 2 18:51:37 UTC 2009


The following commit has been merged in the master branch:
commit 9e4966d35572559cdde27bf9dbad4b53aa1d7602
Author: Daniel Willmann <daniel at totalueberwachung.de>
Date:   Tue Dec 16 16:41:58 2008 +0100

    ogsmd: First working ericsson F3507g modem driver
    
    SIM access is working, PDP fails at the moment because the connect
    script sends an ATZ which the F3507g responds to with ERROR.
    It seems that changing CSCS has an effect on *all* strings, even CSCS
    itself and COPS. This will need to be worked around later.

diff --git a/framework/subsystems/ogsmd/modems/__init__.py b/framework/subsystems/ogsmd/modems/__init__.py
index 49d503e..9cac14a 100644
--- a/framework/subsystems/ogsmd/modems/__init__.py
+++ b/framework/subsystems/ogsmd/modems/__init__.py
@@ -18,6 +18,7 @@ theModem = None
 theMediator = None
 
 modemmap = { \
+    "ericsson_F3507g":   "EricssonF3507g",
     "cinterion_mc75":    "CinterionMc75",
     "freescale_neptune": "FreescaleNeptune",
     "muxed4line":        "Muxed4Line",
@@ -57,6 +58,9 @@ def modemFactory( modemtype ):
     elif modemtype == "cinterion_mc75":
         from cinterion_mc75.modem import CinterionMc75 as Modem
         import cinterion_mc75.mediator as mediator
+    elif modemtype == "ericsson_F3507g":
+        from ericsson_F3507g.modem import EricssonF3507g as Modem
+        import ericsson_F3507g.mediator as mediator
     else:
         assert False, "must never reach this"
         sys.exit( -1 )
diff --git a/framework/subsystems/ogsmd/modems/ericsson_F3507g/channel.py b/framework/subsystems/ogsmd/modems/ericsson_F3507g/channel.py
index 37ba370..8e64774 100644
--- a/framework/subsystems/ogsmd/modems/ericsson_F3507g/channel.py
+++ b/framework/subsystems/ogsmd/modems/ericsson_F3507g/channel.py
@@ -29,7 +29,7 @@ class EricssonChannel( AbstractModemChannel ):
         # error and result reporting reporting
         c.append( '+CMEE=1' )           # report mobile equipment errors: in numerical format
         c.append( '+CRC=1' )            # cellular result codes: enable extended format
-        # c.append( '+CSCS="8859-1"' )    # character set conversion: use 8859-1 (latin 1)
+        c.append( '+CSCS="UCS2"' )    # character set conversion: use 8859-1 (latin 1)
         c.append( '+CSDH=1' )           # show text mode parameters: show values
         c.append( '+CSNS=0' )           # single numbering scheme: voice
         # sms
@@ -46,7 +46,7 @@ class EricssonChannel( AbstractModemChannel ):
         self._commands["init"] = c
 
         c = []
-        # c.append( "+CNMI=2,1,2,1,1" )   # buffer sms on SIM, report CB directly
+        c.append( "+CNMI=2,1,2,1,1" )   # buffer sms on SIM, report CB directly
 
         self._commands["sim"] = c
 
diff --git a/framework/subsystems/ogsmd/modems/ericsson_F3507g/modem.py b/framework/subsystems/ogsmd/modems/ericsson_F3507g/modem.py
index 6cca528..3134076 100644
--- a/framework/subsystems/ogsmd/modems/ericsson_F3507g/modem.py
+++ b/framework/subsystems/ogsmd/modems/ericsson_F3507g/modem.py
@@ -23,21 +23,51 @@ from ogsmd.gsm.decor import logged
 from ogsmd.gsm.channel import AtCommandChannel
 
 #=========================================================================#
-class Sierra( AbstractModem ):
+class EricssonF3507g( AbstractModem ):
 #=========================================================================#
 
     @logged
     def __init__( self, *args, **kwargs ):
         AbstractModem.__init__( self, *args, **kwargs )
 
-        # The one and only serial line
+        # One line for unsolicited messages and modem communication
+        # ttyACM1 will be used for data and ttyACM2 will be used for GPS data
         self._channels["SINGLE"] = EricssonChannel( self.pathfactory, "/dev/ttyACM0", modem=self )
-        # configure channels
+        # configure channel
         self._channels["SINGLE"].setDelegate( UnsolicitedResponseDelegate( self._object, mediator ) )
 
+
     def channel( self, category ):
         return self._channels["SINGLE"]
 
     def pathfactory( self, name ):
         return name
 
+    def dataPort( self ):
+        # FIXME remove duplication and just use pathfactory
+        return "/dev/ttyACM1"
+
+    def dataOptions( self, category ):
+        if category == "ppp":
+            return [
+                    '115200',
+                    'nodetach',
+                    'crtscts',
+                    "noipdefault",
+                    ":10.0.0.1",
+                    "local",
+                    'defaultroute',
+                    'debug',
+                    'hide-password',
+                    'ipcp-accept-local',
+                    'lcp-echo-failure', '10',
+                    'lcp-echo-interval', '3',
+                    'noauth',
+                    #'demand',
+                    'noipdefault',
+                    'novj',
+                    'novjccomp',
+                    'persist',
+                    ]
+        else:
+            return []

-- 
FSO frameworkd Debian packaging



More information about the pkg-fso-commits mailing list