GPRS support for Ofono

Denis Kenzior denkenz at gmail.com
Wed Dec 9 08:53:54 PST 2009


Hi Rem,

> > That is because 3GPP in their infinite wisdom structured the spec this
> > way. 
>
> Just because AT commands group both pieces of unrelated data does not mean
> it is a good idea. I fail to see why the DBus and driver API should do the
> same mistake as 3GPP 27.007.

I already told you I'm open to fixing it.  However 27.007 is the only standard 
we have right now.

>
> > There are 2 registration states, one reported by CREG and one reported by
> > CGREG.  Both report essentially the same information, namely registration
> > status, lac, cellid and radio access technology.
> >
> > The way we know an AT-command based modem is attached is when we start
> > receiving these CGREG indications (registered/roaming + lac/ci/rat)
>
> A device cannot attach to GPRS an a different network than the one it is
> registered with. I do not see the value of tying those in oFono. The caller
> can use the network registration interface, and in fact, I think it should.

Different network probably not, but different base station?  Again I'm not the 
expert here either.  The API was posted for review back in early September, 
and Nokia participated in the design.

If someone can give a definitive answer we can look into making our API more 
sane.

> > I'm open to suggestions on how to fix this (for instance we can get rid
> > of Status, LocationAreaCode, CellId attributes, since they're essentially
> > the same as in NetworkRegistration interface), but for now this can be
> > easily faked by just re-using the information you're providing to netreg
> > atom.
>
> I could steal that data, but it would be vomitively ugly. Worse, it would
> be hide a race condition through the DBus interface. There is no way for me
> to request both atomically.

What race condition?  The attach callback does not mean we're attached at that 
point, it just means we're trying to.  Attached status only comes in once 
we're 'registered' to GPRS, so you can safely query whatever you need and then 
call ofono_gprs_status_notify

> > Is this where the network requests an attach or are you talking about
> > something else?
>
> No no, I am not talking about network-initiated context *activation*. I am
> talking about the requirement from some operator that the device be always
> *attached* even if it has no active contexts. Note that the battery impact
> is negligible. Also, this is NOT quite the same as attaching when oFono
> starts: the device could be outside of the GPRS network; auto-attach will
> get it attached as soon as possible.

I believe the current API already covers this.  Context active state and 
attached state are tracked separately.  Thus you can be attached with no 
active context, I do it all the time.  Can't you just turn on your 'auto-
attach' mode when oFono calls 'set_attached' with TRUE and turn off attachment 
when oFono calls 'set_attached' with FALSE?

Regards,
-Denis


More information about the ofono mailing list