Porting/Cellular Modem
(Created page with "= Thoughts on how to handle the Cellular Modem in Fremantle-port/Neo900 = The Cellular Modem architecture on the N900 consists of a daemon, the Cellular Services Daemon that talk…") |
|||
Line 12: | Line 12: | ||
* Phone.Sim.Security (handles SIM security related things including IMEI, simlock and SIM PIN) | * Phone.Sim.Security (handles SIM security related things including IMEI, simlock and SIM PIN) | ||
* Phone.Sim.Phonebook (handles SIM phonebook) | * Phone.Sim.Phonebook (handles SIM phonebook) | ||
- | com.nokia.csd.SMS.Outgoing (handles outgoing SMS messages) | + | * com.nokia.csd.SMS.Outgoing (handles outgoing SMS messages) |
- | com.nokia.csd.SMS.SIM (handles SMS messages stored on the SIM) | + | * com.nokia.csd.SMS.SIM (handles SMS messages stored on the SIM) |
- | Phone.SMS (handles SMS messages including Cell Broadcast SMS messages) | + | * Phone.SMS (handles SMS messages including Cell Broadcast SMS messages) |
- | com.nokia.csd.SS (handles Supplementary Services such as call divert call barring and call waiting) | + | * com.nokia.csd.SS (handles Supplementary Services such as call divert call barring and call waiting) |
- | com.nokia.csd.SS.USSD (handles USSD codes) | + | * com.nokia.csd.SS.USSD (handles USSD codes) |
- | com.nokia.phone.SSC (handles cellular modem state and status) | + | * com.nokia.phone.SSC (handles cellular modem state and status) |
The proposal I have for porting the Cellular stack to new hardware (anything with a different cellular modem to the N900) is as follows: | The proposal I have for porting the Cellular stack to new hardware (anything with a different cellular modem to the N900) is as follows: |
Revision as of 02:53, 14 September 2013
Thoughts on how to handle the Cellular Modem in Fremantle-port/Neo900
The Cellular Modem architecture on the N900 consists of a daemon, the Cellular Services Daemon that talks to the cellular modem via ISI packets, a daemon, the System Synchronization Controller Daemon that handles cellular modem state, a daemon, the Phonet AT modem daemon that emulates AT commands on top of phonet and configuration utilities to configure phonet interfaces.
The Cellular Services Daemon exposes the following dbus interfaces:
- com.nokia.csd.Call (handles phone calls)
- com.nokia.csd.Call.Instance (handles a specific instance of a phone call)
- com.nokia.csd.Call.Conference (handles conference calls)
- com.nokia.csd.GPRS (handles cellular data transfer)
- com.nokia.csd.GPRS.Context (handles a specific cellular data context)
- Phone.Net (handles network related things including signal strength, change of cell/operator, change between 2g/3g and network time info change)
- Phone.Sim (handles SIM related things including IMSI, HPLMN and SIM status)
- Phone.Sim.Security (handles SIM security related things including IMEI, simlock and SIM PIN)
- Phone.Sim.Phonebook (handles SIM phonebook)
- com.nokia.csd.SMS.Outgoing (handles outgoing SMS messages)
- com.nokia.csd.SMS.SIM (handles SMS messages stored on the SIM)
- Phone.SMS (handles SMS messages including Cell Broadcast SMS messages)
- com.nokia.csd.SS (handles Supplementary Services such as call divert call barring and call waiting)
- com.nokia.csd.SS.USSD (handles USSD codes)
- com.nokia.phone.SSC (handles cellular modem state and status)
The proposal I have for porting the Cellular stack to new hardware (anything with a different cellular modem to the N900) is as follows:
- Reverse engineer the dbus interfaces (as listed above) exposed by the Cellular Services Daemon and System Synchronization Controller Daemon.
- For each interface/signal/method call, implement a compatible interface/signal/method call on top of oFono or fsogsmd (or another cellular stack)
- For cases where implementing the interface is not fesable or is too hard, identify the consumers of that interface and clone/modify/replace those consumers to do things differently
- If this is done properly, all the upper-level components that talk to the cellular stack (including telepathy-ring and the dialer and messaging apps) will continue to function as-is.
Not sure yet what to do about phonet-at and phonet-utils (not even sure where they get used, probably something to do with Nokia Suite I suspect)