Porting/Cellular Modem: Difference between revisions
From Maemo Wiki
Jump to navigationJump to search
imported>sixwheeledbeast No edit summary |
imported>sixwheeledbeast No edit summary |
||
| Line 2: | Line 2: | ||
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 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 | == CSD DBus Interfaces == | ||
The Cellular Services Daemon exposes the following dbus interfaces | |||
{| class="wikitable sortable" | |||
! Interface !! Handles | |||
|- | |||
| com.nokia.csd.Call || Phone calls | |||
|- | |||
| com.nokia.csd.Call.Instance || A specific instance of a phone call | |||
|- | |||
| com.nokia.csd.Call.Conference || Conference calls | |||
|- | |||
| com.nokia.csd.GPRS || Cellular data transfer | |||
|- | |||
| com.nokia.csd.GPRS.Context || A specific cellular data context | |||
|- | |||
| Phone.Net || Network related things including:- | |||
*signal strength | |||
*change of cell/operator | |||
*change between 2g/3g | |||
*network time info change | |||
|- | |||
| Phone.Sim || SIM related things including:- | |||
*IMSI | |||
*HPLMN | |||
*SIM status | |||
|- | |||
| Phone.Sim.Security || SIM security related things including :- | |||
*IMEI | |||
*simlock | |||
*SIM PIN | |||
|- | |||
| Phone.Sim.Phonebook || SIM phonebook | |||
|- | |||
| com.nokia.csd.SMS.Outgoing || Outgoing SMS messages | |||
|- | |||
| com.nokia.csd.SMS.SIM || SMS messages stored on the SIM | |||
|- | |||
| Phone.SMS || SMS messages including Cell Broadcast SMS messages | |||
|- | |||
| com.nokia.csd.SS || Supplementary Services such as call divert call barring and call waiting | |||
|- | |||
| com.nokia.csd.SS.USSD || USSD codes | |||
|- | |||
| com.nokia.phone.SSC || cellular modem state and status | |||
|} | |||
==Proposal== | |||
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. | # 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 each interface/signal/method call, implement a compatible interface/signal/method call on top of oFono or fsogsmd (or another cellular stack) | ||
Latest revision as of 10:04, 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.
CSD DBus Interfaces
The Cellular Services Daemon exposes the following dbus interfaces
| Interface | Handles |
|---|---|
| com.nokia.csd.Call | Phone calls |
| com.nokia.csd.Call.Instance | A specific instance of a phone call |
| com.nokia.csd.Call.Conference | Conference calls |
| com.nokia.csd.GPRS | Cellular data transfer |
| com.nokia.csd.GPRS.Context | A specific cellular data context |
| Phone.Net | Network related things including:-
|
| Phone.Sim | SIM related things including:-
|
| Phone.Sim.Security | SIM security related things including :-
|
| Phone.Sim.Phonebook | SIM phonebook |
| com.nokia.csd.SMS.Outgoing | Outgoing SMS messages |
| com.nokia.csd.SMS.SIM | SMS messages stored on the SIM |
| Phone.SMS | SMS messages including Cell Broadcast SMS messages |
| com.nokia.csd.SS | Supplementary Services such as call divert call barring and call waiting |
| com.nokia.csd.SS.USSD | USSD codes |
| com.nokia.phone.SSC | cellular modem state and status |
Proposal
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)