Modem wakeup...

Nils Faerber nils.faerber at kernelconcepts.de
Thu Jul 26 16:19:51 CEST 2007


Super cool info!

That helps a lot - I think we would have never been able to figure this
out without your help.

Many many thanks!

Oh... is there an AT command to query for the modem's firmware version?
I assume that if the firmware is too old, there is no way to upgrade it
"in the field", i.e. at my desk?

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
> 
> Cheers,

-- 
kernel concepts GbR        Tel: +49-271-771091-12
Sieghuetter Hauptweg 48    Fax: +49-271-771091-19
D-57072 Siegen             Mob: +49-176-21024535
--




More information about the openmoko-kernel mailing list