Modem wakeup...
andrzej zaborowski
balrogg at gmail.com
Thu Jul 26 16:40:33 CEST 2007
On 26/07/07, Nils Faerber <nils.faerber at kernelconcepts.de> wrote:
> Oh... is there an AT command to query for the modem's firmware version?
I've been playing with the commands that AT+CLAC lists recently and
AT%VER prints this:
AT%VER
%VER: aci sean non_clearcase 15:11:24 17/04/07
%VER: cc a086 ** NONE ** 10:16:39 28/03/07
%VER: dl a086 ** NONE ** 10:17:34 28/03/07
%VER: mm a086 ** NONE ** 10:23:09 28/03/07
%VER: rr a086 ** NONE ** 10:25:37 28/03/07
%VER: sim a086 ** NONE ** 10:26:45 28/03/07
%VER: sms a086 ** NONE ** 10:27:21 28/03/07
%VER: ss a086 ** NONE ** 10:28:52 28/03/07
%VER: alr a086 ** NONE ** 10:15:48 28/03/07
%VER: l2r a086 ** NONE ** 10:21:37 28/03/07
%VER: ra a086 ** NONE ** 10:25:01 28/03/07
%VER: rlp a086 ** NONE ** 10:25:12 28/03/07
%VER: fad a086 ** NONE ** 10:18:09 28/03/07
%VER: t30 a086 ** NONE ** 10:29:01 28/03/07
OK
I don't know what each of these lines means.
There are also many other interesting commands which are documented in
datasheets for the Enfora Enabler gsm modem.
> I assume that if the firmware is too old, there is no way to upgrade it
> "in the field", i.e. at my desk?
I think there is but we may have too little information at the moment.
("We" meaning a regular user)
>
> Cheers
> nils
>
>
> Harald Welte schrieb:
> > Guys, I'll collect all the respective information and put it in a
> > public wiki page.
> >
> > Will let you know once that is done.
> >
> > The general idea is that the gsm modem firmware checks if the handshake
> > lines currently permit sending another character to the phone. If the
> > handshake permits it, the cpu must be alive and it proceeds sending
> > data.
> >
> > if the RTS/CTS handshake does not permit sending of any further
> > characters, the modem will assert a GPIO line (connected to an EINT
> > capable input of the S3C24xx). The interrupt line will remain asserted
> > until the S3C24xx has changed the RTS/CTS handhsake to allow the modem
> > to send characters again.
> >
> > So to do this, the following conditions need to be fulfilled:
> >
> > 1) a firmware post may-16-2007 needs to be present in the gsm modem
> > This is true for all phones bought during phase 1 in the online
> > shop. However, I currently don't really know what firmware version
> > was present in the GTA01Bv4 that we sent to phase 0.
> >
> > 2) the suspend code probably still needs to correctly configure the
> > RTS/CTS lines (i.e. put them in GPIO mode, and set them to their
> > desired "don't send any more characters" level)
> >
> > So in this case, any data from the GSM modem will wake up the cpu for
> > processing of that data. The GSM modem has some internal buffer (I
> > don't know how big right now) that should be sufficient for buffering
> > the data until the CPU is alive.
> >
> > This also means that gsmd will eventually have to re-program the GSM
> > modem to make sure only relevant unsolicited response codes are sent
> > during suspend. You usually don't want a signal level change to cause
> > a CPU wake up, only things like incoming message / call.
> >
> > As indicated, more details on the soon to be created public wiki page
Thanks for the information on resuming.
I suspect it should be possible even with the old firmware, if we set
the CTS/RTS lines to "waiting for new data" state, and set the RX line
as a wake up source. We would then lose the first couple of bytes
transmitted by the modem, but it should be possible to figure out what
they were (also it seems that one of the proprietary commands manages
some kind of history of recent communication with the host).
Regards
More information about the openmoko-kernel
mailing list