gsmd.py uses gsm0710muxd to talk to the modem in the Freerunner.
Its role is largely of monitoring and switching between major states
of:
- idle/incoming/oncall : for normal operation of the phone
- suspend : makes the modem quiet for suspend
- flightmode : turns of the modem.
flightmode is determined if /var/lib/misc/flightmode/active is non-empty.
suspend is detected using the 'apm/events.d/interlock' script.
gsmd makes various state available via files in /var/run/gsm-state/
gsmd does not answer phone calls or retrieve SMS messages or anything like that.
Those tasks are achieved by other programs that make other connections to
gsm0710muxd.
Tracing can be enabled by setting PYTRACE=1 in the environment
TODO:
work happily when no SIM is present
work happily when there is no cell to register to
allow alternate supplier to be set to support roaming.