Porting/Cellular Modem
| 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
[edit] 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.
[edit] 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 |
[edit] 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)
- This page was last modified on 14 September 2013, at 10:04.
- This page has been accessed 6,392 times.
