GSM covers making phone calls, sending SMS text messages, and access to Internet via GPRS. A SIM (Subscriber Identity Module) card is given along the contract with an operator, and the customer inserts the card in the phone to authorize it for use other than emergency dialing. The card is plastic (approximately 15mm*23mm*1mm) with 8 electrical contacts on. Its main purpose is identifying for the phone, the relationship between the contractor and the operator. This includes information about the mobile phone number, the home network, sms center phone number etc. The user (i.e. phone) usually has some amount of storage available on the card for a simple phonebook. SIM cards are standard ISO/IEC 7816 smart cards with a special SIM application on it.
The Neo1973 phone should work with any operator that has a GSM network (see Neo1973 compatible cellphone providers). However, in the current phone versions, the 850 MHz frequency needed in some areas in the Americas doesn't work. The other three frequencies and thus most areas in the world are supported: 900, 1800, and 1900 MHz. Some of the US and some other parts of the world completely lack GSM coverage.
According to User:roh on #openmoko, the 850 band doesn't work with the current GTA01 GSM modem, because RF filter was set to 900 Mhz at GTA01. This is being worked on. This means that if you're in the Americas, there is a good chance the phone will simply not get a signal, unless you check that your provider has 1900 MHz coverage in your area. (For more on the frequencies, see GSM frequency usage in the Americas.) GTA02 has 2 versions, 850/1800/1900 Mhz and 900/1800/1900 Mhz version.
A comprehensive DBus API is present to use GSM features. See OpenmokoFramework for an overview, docs.freesmartphone.org for reference docs, and OpenmokoFramework/mdbus for command line utility or even OpenmokoFramework/mickeyterm for a MUXer-aware terminal program.
The GSM features (including dialing, SMS, GPRS, and SIM access) will be implemented in gsmd, and accessed using libgsmd or higher-level APIs.
Gsmd will take care of accessing the GSM modem over the serial port.
GSM 02.07 - Required features
GSM 07.07 - Main AT commands
07.07 describes the main commands used by the Gsmd software of the Openmoko system to communicate via a serial interface with the GSM subsystem of the phone.
For more, see Hardware:AT Commands.
Note that the descendant of this specification is 3GPP TS 27.007 - AT command set for User Equipment (UE). (Does Openmoko support any of these newer versions?)
GSM 07.05 - Additional AT commands (SMS and CBS)
A more user-friendly resource is:
An other resource is:
GSM 07.10 - Multiplexing
Getting neo1973 GTA04 GSM to recover properly after power down
There's probably a better place to put this, but I just wanted to get the information recorded quickly.
To make your GSM wake the neo properly while suspended, per Lorn Potter on the dev list:
Every time after you power off the gsm: sudo rm /dev/ttySAC0
Every time before you power on the gsm: sudo mknod /dev/ttySAC0 c 204 64 -m 660 sudo chgrp dialout /dev/ttySAC0
GTA01 & GTA02 GSM issues
There are some GSM network registration issues, that makes some SIM cards not work on those 2 phones.
AT commands, with extended and otherwise undocumented commands can be found at: Neo_1973_and_Neo_FreeRunner_gsm_modem
Flashing a new GSM firmware