Active Topics

 


Reply
Thread Tools
Posts: 567 | Thanked: 2,965 times | Joined on Oct 2009
#1
If we are going to support N900 software, we need to support the dbus interfaces exposed by the N900 cellular services daemon.
The first post I am making is a list of the interfaces exposed by the cellular services daemon plugins and which closed-source binaries talk to those interfaces:

com.nokia.csd.Info: Used to obtain information from the cellular modem like the software version. Used by:
as-daemon-0 (daemon to synchronize email with Microsoft Exchange servers)
libmaesync (maesync library)

con.nokia.csd.Call: Handles phone calls. Used by:
libcodelockui1 (library for device code lock UI)
libconnui-cellular (common library for cellular connectivity UI)
libicd-network-gprs (internet connectivity daemon GPRS module)
librtcom-call-ui0 (library for dialer functionality)
rtcom-notification-ui (notification UI)
osso-systemui-devlock (systemui device lock plugin)
osso-systemui-emergency (systemui emergency plugin)
pulseaudio-module-nokia-voice (pulseaudio voice plugin)
telepathy-ring (telepathy module for cellular calls and SMS)

com.nokia.csd.GPRS: Handles cellular data. Used by:
libconnui (common library for connectivity UI)
libicd-network-gprs (internet connectivity daemon GPRS module)

com.nokia.csd.SS: Handles supplementary services. Used by:
libconnui-cellular (common library for cellular connectivity UI)
librtcom-call-ui0 (library for dialer functionality)

com.nokia.phone.net: Handles network related information. Used by:
clockd (userspace daemon for managing time and date)
gprs-provisioning (handles cellular data related provisioning)
nokia-maps-core (Nokia Maps core code)
libconnui-cellular (common library for cellular connectivity UI)
libicd-network-gprs (internet connectivity daemon GPRS module)
libosso-abook (addressbook UI library)
librtcom-call-ui0 (library for dialer functionality)
connui-conndlgs (connectivity dialogs daemon)
osso-startup-wizard (initial setup wizzard)

com.nokia.phone.sim: Handles SIM related information. Used by:
gprs-provisioning (handles cellular data related provisioning)
libconnui (common library for connectivity UI)
libconnui-cellular (common library for cellular connectivity UI)
osso-applet-device (control panel device plugin)
evolution-data-server-addressbook-backend-sim (backend for allowing address book to talk to SIM phonebook)
libicd-network-gprs (internet connectivity daemon GPRS module)
libosso-abook (addressbook UI library)
librtcom-call-ui0 (library for dialer functionality)
osso-startup-wizard (initial setup wizzard)
ota-settings (handles IAP settings sent over the network)
telepathy-ring (telepathy module for cellular calls and SMS)

com.nokia.phone.SSC: Handles cellular modem state. Used by:
libconnui-cellular (common library for cellular connectivity UI)
librtcom-call-ui0 (library for dialer functionality)
pulseaudio-module-nokia-voice (pulseaudio voice plugin)
osso-startup-wizard (initial setup wizzard)
telepathy-ring (telepathy module for cellular calls and SMS)
rtcom-messaging-ui (messaging UI)

com.nokia.phone.SMS: Handles SMS messaging. Used by:
telepathy-ring (telepathy module for cellular calls and SMS)
sms-manager (dispatches registered SMSs to where they need to go)
 

The Following 18 Users Say Thank You to jonwil For This Useful Post:
Posts: 567 | Thanked: 2,965 times | Joined on Oct 2009
#2
Things that talk to the cellular services daemon over dbus and what should be done about them:
1.as-daemon (part of ActiveSync for exchange email). Uses com.nokia.csd.Info.GetIMEINumber.
2.bluetoothd (bluez daemon for bluetooth). Open source so we can change it to talk to the cellular modem and such however we need it to.
3.cherry (part of MyNokia). Dead service and not something we need to keep support for so we can ignore this.
4.clockd (userspace daemon for clock stuff). Uses com.nokia.phone.net.network_time_info_change, com.nokia.phone.net.get_registration_status, com.nokia.phone.net.get_network_time_info and com.nokia.phone.net.registration_status_change.
5.controlpanel.launch. (settings app). Open source so we can change it to talk to the cellular modem and such however we need it to.
6.csd (cellular services daemon). Being replaced with a new daemon along with its plugins (libcsd-*)
7.gprs-provisioning (handles IAP setup using list of operator settings stored on device). Uses com.nokia.phone.net.get_operator_name, com.nokia.phone.net.get_registration_status, com.nokia.phone.sim.get_imsi, com.nokia.phone.sim.read_hplmn and com.nokia.phone.sim.get_service_provider_name.
8.intellisyncd (part of nokiamessaging). Dead service and not something we need to keep support for so we can ignore this.
9.libatlas.so (part of Nokia Maps). Uses com.nokia.phone.net.get_signal_strength.
10.libcodelockui1.so.1.0.0 (displays UI for device code lock). Uses com.nokia.csd.call.Create.
11.libconnui.so.0.0.0 (common library for connectivity UI). Uses com.nokia.phone.sim.get_imsi and com.nokia.csd.gprs.Available.
12.libconnui_cell.so.0.0.0 (cellular library for connectivity UI). Uses com.nokia.phone.net.registration_status_change, com.nokia.phone.net.signal_strength_change, com.nokia.phone.net.network_time_info_change, com.nokia.phone.net.cellular_system_state_change, com.nokia.phone.net.radio_access_technology_change , com.nokia.phone.net,radio_info_change, com.nokia.phone.net.cell_info_change, com.nokia.phone.net.operator_name_change, com.nokia.phone.sim.status, com.nokia.phone.sim.security.verify_code_requested , com.nokia.csd.call.ServerStatus, com.nokia.phone.ssc.modem_state_changed_ind, com.nokia.csd.call.GetCallInstances, com.nokia.phone.sim.get_sim_status,
com.nokia.phone.net.get_radio_access_technology, com.nokia.phone.net.get_registration_status, com.nokia.csd.ss.WaitingCancel, com.nokia.csd.ss.WaitingActivate, com.nokia.csd.ss.WaitingCheck, com.nokia.csd.ss.DivertCancel, com.nokia.csd.ss.DivertActivate, com.nokia.csd.ss.DivertCheck, com.nokia.phone.net.select_network_mode, com.nokia.phone.net.get_signal_strength, com.nokia.phone.net.select_network, com.nokia.phone.net.get_available_network, com.nokia.phone.ssc.get_modem_state, com.nokia.phone.sim.security.verify_code, com.nokia.phone.sim.security.deactivate_simlock, com.nokia.phone.sim.security.get_active_pin, com.nokia.phone.sim.security.set_active_pin, com.nokia.phone.sim.security.verify_attempts_left, com.nokia.phone.sim.security.set_code_state, com.nokia.phone.sim.security.get_code_state, com.nokia.phone.sim.read_simlock_status, com.nokia.phone.sim.get_service_provider_name, com.nokia.phone.net.get_cs_state, com.nokia.phone.net.set_selected_radio_access_tech nology, com.nokia.phone.net.get_selected_radio_access_tech nology, com.nokia.phone.net.cancel_select_network, com.nokia.phone.net.get_network_selection_mode, com.nokia.phone.net.cancel_get_available_network, com.nokia.csd.call.Create, com.nokia.csd.call.GetEmergencyNumbers, com.nokia.phone.sim.get_service_provider_info and com.nokia.phone.net.get_operator_name
13.libcpcherry.so (part of MyNokia). Dead service and not something we need to keep support for so we can ignore this.
14.libcpdevice.so ("about device" control panel). We will need to write our own control panel that displays the information we want users to see rather than keeping the Nokia control panel (which displays information that would be wrong for the Neo900)
15.libebookbackendsim.so (SIM phonebook backend for address book). Probably easiest to write a new and better solution here rather than supporting the old undocumented SIM phone book dbus interfaces.
16.libicd_network_gprs.so (cellular data module for the internet connectivity daemon). Uses com.nokia.phone.net.get_registration_status, com.nokia.phone.sim.get_imsi, com.nokia.phone.sim.get_sim_status, com.nokia.csd.GPRS.*, com.nokia.csd.GPRS.Context.*, com.nokia.phone.net.registration_status_change, com.nokia.phone.sim.status and com.nokia.csd.call.ServerStatus.
17.libmaesync.so.0.0.0 (sync between devices and also sync for Nokia PC Suite). Uses com.nokia.csd.info.GetDSPSWVersion and com.nokia.csd.info.GetIMEINumber.
18.libosso-abook-1.0.so.0.0.0 (address book UI). Uses com.nokia.phone.sim.get_imsi, com.nokia.phone.net.get_operator_name and com.nokia.phone.sim.get_service_provider_name.
19.libqtsysteminfo.so.1.0.2 (QT system information). Open source so we can change it to talk to the cellular modem and such however we need it to.
20.librtcom-call-ui.so.0.0.0. (dialer library). Uses com.nokia.csd.call.GetEmergencyNumbers, com.nokia.csd.call.EmergencyNumbersChanged, com.nokia.csd.ss.CheckCNAP, com.nokia.csd.ss.CheckCoLR, com.nokia.csd.ss.CheckCoLP, com.nokia.csd.ss.CheckCLIP, com.nokia.csd.ss.CheckCLIR, com.nokia.csd.ss.CheckWaiting, com.nokia.csd.ss.DeactivateWaiting, com.nokia.csd.ss.ActivateWaiting, com.nokia.csd.ss.CheckBarring, com.nokia.csd.ss.DeactivateBarring, com.nokia.csd.ss.ActivateBarring, com.nokia.csd.ss.CheckDivert, com.nokia.csd.ss.DeactivateDivert, com.nokia.csd.ss.ActivateDivert, com.nokia.csd.ss.EraseDivert, com.nokia.csd.ss.ChangePassword, com.nokia.csd.ss.RegisterDivert, com.nokia.csd.ss.ussd.Release, com.nokia.csd.ss.ussd.Reply, com.nokia.csd.ss.ussd.Command, com.nokia.csd.ss.ussd.NotifyAck, com.nokia.csd.ss.ussd.Request, com.nokia.csd.ss.ussd.Notify, com.nokia.csd.ss.ussd.Released, com.nokia.phone.sim.security.verify_code, com.nokia.phone.sim.security.get_imei, com.nokia.phone.net.get_registration_status, com.nokia.phone.ssc.get_modem_state and com.nokia.phone.ssc.modem_state_changed_ind.
21.librtcom-notification-ui.so. (Notification UI). Uses com.nokia.csd.call.instance.CallStatus.
22.libsystemuiplugin_devlock.so (systemui device lock plugin). Uses com.nokia.csd.call.instance.CallStatus.
23.libsystemuiplugin_emergency.so (systemui emergency plugin). Uses com.nokia.csd.call.release, com.nokia.csd.call,UserConnection, com.nokia.csd.call.Created, com.nokia.csd.call.ServerStatus, com.nokia.csd.call.instance.CallStatus, com.nokia.csd.call.instance.Terminated, com.nokia.csd.call.instance.OnHold, com.nokia.csd.call.instance.Emergency and com.nokia.csd.call.instance.Release.
24.location-daemon (daemon for GPS). We need to replace whole GPS system so this will go away.
25.location-proxy (daemon that handles communication between GPS hardware and SUPL server). We need to replace whole GPS system so this will go away.
26.module-nokia-voice.so. (pulseaudio voice module). Being cloned and replaced so we dont need to worry about this.
27.osso-connectivity-ui-conndlgs.launch (connectivity ui dialogs daemon). Uses com.nokia.phone.net.get_registration_status.
28.osso_startup_wizzard.launch (wizzard that runs on 1st startup). Uses com.nokia.phone.ssc.modem_state_changed_ind, com.nokia.phone.sim.status, com.nokia.phone.sim.get_imsi, com.nokia.phone.ssc.get_modem_state, com.nokia.phone.sim.get_language_prefs and com.nokia.phone.ssc.set_system_ready.
29.ota-settings (handles IAP settings sent OTA). Uses com.nokia.phone.sim.get_imsi.
30.rtcom-messaging-ui.launch (messaging app. Uses com.nokia.phone.ssc.modem_state_changed_ind and com.nokia.phone.ssc.get_modem_state.
31.sms-manager (manages special SMSs that need to be sent various places). Uses com.nokia.phone.sms.report, com.nokia.phone.sms.resume, com.nokia.phone.sms.sms_list_messages, com.nokia.phone.sms.sms_read and com.nokia.phone.sms.incoming.
32.sscd (manages modem startup/shutdown/status/etc). Being replaced with a new daemon.
33.telepathy-ring (telepathy plugin for cellular calls and SMS). Uses com.nokia.csd.call.*, com.nokia.phone.sms.*, com.nokia.phone.sim.status, com.nokia.phone.ssc.modem_state_changed_ind, com.nokia.phone.ssc.pin_query_active, com.nokia.phone.ssc.get_modem_state, com.nokia.phone.sim.get_sim_status, com.nokia.phone.sim.get_imsi, com.nokia.ssc.launch_pin_query, com.nokia.ssc.set_radio, and com.nokia.ssc.set_system_ready.
34.wl1251-cal (daemon that sends MAC address and config info to WiFi chip). We have a different WiFi chip in Neo900 so we dont need this, we need something new that supports our WiFi chip and our way of storing the relavent data.
35.wlancond (daemon for WiFi connectivity). Open source so we can change it to talk to the cellular modem and such however we need it to.
 

The Following 11 Users Say Thank You to jonwil For This Useful Post:
Posts: 567 | Thanked: 2,965 times | Joined on Oct 2009
#3
That last post gives us a target for which things we need to figure out/reverse engineer and which ones are most important (e.g. the stuff needed by telepathy-ring is more important than the stuff needed by libmaesync or libconnui or libconnui-cellular)
 

The Following 2 Users Say Thank You to jonwil For This Useful Post:
Reply


 
Forum Jump


All times are GMT. The time now is 09:49.