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 5,459 times.