GSM Modem Confusion
wally.ritchie at gmail.com
Thu Jul 19 05:11:16 CEST 2007
I think there is a bit of confusion (and a bit of ignorance)
demonstrated by some recent posts. I'd like to try to clear
some of this up.
One source of confusion is, I think, the rather lose usage
of the word "Modem". The 7.07 interface to a GSM chipset and the
7.07 interface to terminal equipment are NOT the same thing.
GSM 7.07.was originally (as best I recall) specified to provide a
comprehensive means for EXTERNAL terminal equipment (TE) to control
a GSM mobile terminal (MT) and take advantage of the various
communications features the latter supplied. Since there were already
existing legacy issues for DCE (Data Communications Equipement a.k.a
modems), GSM 7.07 adopted and expanded upon the "AT" interface. This
was long before chipset solutions for a complete GSM hardware and
software stack were available, although they could be anticipated
even back then.
As the silicon advanced over the decades, the radio stack has largely
shifted from the domain of the handset OEM into the domain of
the silicon supplier. The interface between the radio stack and the
rest of the handset can be (and was often) handled by ad-hoc
API's. However, because GSM 7.07 (especially over 7.10) already
covers most of what is needed, the use of 7.07 is a particually good
approach to use for the interface between the "GSM Hardware/Software
Stack" and the application known to its user as a "GSM Handset".
7.07 is typically extended by the silicon vendor as necessary and
appropriate to provide some "stack" functionality that is not specified
in 7.07. Such extensions are are pretty much inevitable - 7.07 was not
originally intended to be the interface to the full GSM stack - it
was defined as the interface between the terminal adapter (TA) and
the (TE). Using 7.07 with extensions for the (TA) to (MT) interface
however, is far preferable to introducing ad-hoc interfaces,
whether open or proprietary. Such chipset specific protocol
extentions to 7.07 are not much different in principal from vendor
extensions to standard Bluetooth protocols as used by some BT chips.
I, for one, am grateful that Harold held out for a GSM chipset with a
good 7.07 and 7.10 implementation for the neo1973. Of course, I want
more access. But as the Stone's song says
"you don't always get what you want - but if you try some time,
you just might find, you get what you need"
So it is with calypso based neo1973. I think we have here a
good starting point with as near a complete 7.07/7.10 implementation
as is possible consistent with other requirements.
As for the "modem". IMHO the word "gsm modem" should be reserved for
what gsmd provides to external TE e.g. as a laptop, PC, or PDA, that
uses a neo1973 for gprs or hcsd access. This is another 7.07 (possibly
even with a 7.10 layer) interface accessed through Bluetooth (or irda,
or usb serial). It would be less confusing if we didn't refer to
the calpyso 7.07/7.10 as a modem (perhaps chipset instead).
With the above in mind, gsmd in essence is not really the component
that talks to the gsm modem. Rather, gsmd is really the user space driver
layer for the chipset's gsm stack. Sitting below gsmd is the gsm chipset
which provides most but not all of the core MT functionality. Also
sitting below gsmd is other hardware which provides essential core MT
functions e.g. audio path routing etc. Above gsmd (in theory) are one
or more API's serving both the internal applications and any external
TE's that connect through some terminal adapter TA function.
More information about the gsmd-devel