Reply
Thread Tools
Posts: 567 | Thanked: 2,965 times | Joined on Oct 2009
#1
It has been suggested to replace the internet subsystem of the N900 (including ICD) with wpa_supplicant, some sort of FOSS network manager (connman?) and maybe other things.

Packages we need to replace to pull this off are:
nokiamessaging
connui-conndlgs-wlan
connui-conndlgs-internet
osso-wlan
osso-wlan-security
connui-iapsettings
connui-iapsettings-wlan
connui-iapsettings-gprs
icd2-settings-default
icd2-network-wlan-config
icd2
libicd-network-gprs
libicd-network-eap
libicd-network-wlan
libicd-network-ipv4
libicd2
libicd-network-wps

This thread is intended to document:
1.Any gconf keys set by the packages we are replacing and that are read from by a package other than the packages we are replacing
2.Any dbus method calls responded to by the packages we are replacing and that are sent from a package other than the packages we are replacing
3.Any dbus signals sent by the packages we are replacing and that are responded to by a package other than the packages we are replacing
and 4.Any other things we need to keep where they are in order to keep packages other than the ones we are replacing happy
 

The Following 9 Users Say Thank You to jonwil For This Useful Post:
Posts: 567 | Thanked: 2,965 times | Joined on Oct 2009
#2
After tearing the connectivity subsystem apart and spending days knee deep in source code, binaries, disassembly and data files and searching the entire N900 root filesystem many many times, I have now identified all the things you need to care about to replace the connectivity subsystem.

First up we have dbus interfaces implemented by things not in the list above but which the replacement may need to call (for methods) or listen for (for signals) to do its work.
com.nokia.cellular_ui.roaming
com.nokia.cellular_ui.show_error_note
com.nokia.cellular_ui.show_roaming_dlg
com.nokia.csd.Call.ServerStatus
$com.nokia.csd.GPRS.*
$com.nokia.csd.GPRS.Context.*
com.nokia.phone.SIM.get_imsi
com.nokia.phone.SIM.get_sim_status
com.nokia.phone.SIM.status
$com.nokia.phone.net.get_registration_status
$com.nokia.phone.net.registration_status_change

Next up we have dbus interfaces that need to be implemented by whatever replaces the connectivity subsystem (as packages outside that subsystem rely on them)
$com.nokia.icd.activate
$com.nokia.icd.connect
$com.nokia.icd.disconnect
$com.nokia.icd.get_state
$com.nokia.icd.get_statistics
$com.nokia.icd.status_changed
$com.nokia.icd2.addrinfo_req
$com.nokia.icd2.addrinfo_sig
$com.nokia.icd2.connect_req
$com.nokia.icd2.connect_sig
$com.nokia.icd2.disconnect_req
$com.nokia.icd2.scan_cancel_req
$com.nokia.icd2.scan_req
$com.nokia.icd2.scan_result_sig
$com.nokia.icd2.select_req
$com.nokia.icd2.state_req
$com.nokia.icd2.state_sig
$com.nokia.icd2.statistics_req
$com.nokia.icd2.statistics_sig
$com.nokia.icd_ui.show_conn_dlg

dbus items marked with a $ have documentation available on http://wiki.maemo.org/N900_dbus

Then we have the following gconf keys. I haven't been able to identify which ones get set by the packages we are replacing and read by the packages we are replacing, which are set by packages outside the packages we are replacing and read by the packages we are replacing and which are set by both the packages we are replacing and packages outside the packages we are replacing.
/system/osso/connectivity/IAP/*/
/system/osso/connectivity/IAP/*/EAP_wpa2_only_mode
/system/osso/connectivity/IAP/*/ask_password
/system/osso/connectivity/IAP/*/autoconf_url
/system/osso/connectivity/IAP/*/gprs_accesspointname
/system/osso/connectivity/IAP/*/gprs_password
/system/osso/connectivity/IAP/*/gprs_username
/system/osso/connectivity/IAP/*/ipv4_address
/system/osso/connectivity/IAP/*/ipv4_autodns
/system/osso/connectivity/IAP/*/ipv4_dns1
/system/osso/connectivity/IAP/*/ipv4_dns2
/system/osso/connectivity/IAP/*/ipv4_type
/system/osso/connectivity/IAP/*/name
/system/osso/connectivity/IAP/*/omit_proxy
/system/osso/connectivity/IAP/*/proxy_ftp
/system/osso/connectivity/IAP/*/proxy_ftp_port
/system/osso/connectivity/IAP/*/proxy_http
/system/osso/connectivity/IAP/*/proxy_http_port
/system/osso/connectivity/IAP/*/proxy_https
/system/osso/connectivity/IAP/*/proxy_https_port
/system/osso/connectivity/IAP/*/proxy_rtsp
/system/osso/connectivity/IAP/*/proxy_rtsp_port
/system/osso/connectivity/IAP/*/proxy_socks
/system/osso/connectivity/IAP/*/proxy_socks_port
/system/osso/connectivity/IAP/*/proxytype
/system/osso/connectivity/IAP/*/service_id
/system/osso/connectivity/IAP/*/service_type
/system/osso/connectivity/IAP/*/sim_imsi
/system/osso/connectivity/IAP/*/temporary
/system/osso/connectivity/IAP/*/type
/system/osso/connectivity/IAP/*/visible
/system/osso/connectivity/IAP/*/wlan_security
/system/osso/connectivity/IAP/*/wlan_ssid
/system/osso/connectivity/IAP/auto_connect
/system/osso/connectivity/IAP/last_used_attrs
/system/osso/connectivity/IAP/last_used_network
/system/osso/connectivity/IAP/last_used_type
/system/osso/connectivity/IAP/search_interval
/system/osso/connectivity/IAP/wlan_tx_power
/system/osso/connectivity/network_type/*/
/system/osso/connectivity/network_type/GPRS/
/system/osso/connectivity/network_type/GPRS/gprs_home_last_notification
/system/osso/connectivity/network_type/GPRS/gprs_home_notification_enabled
/system/osso/connectivity/network_type/GPRS/gprs_home_notification_period
/system/osso/connectivity/network_type/GPRS/gprs_home_reset_time
/system/osso/connectivity/network_type/GPRS/gprs_home_rx_bytes
/system/osso/connectivity/network_type/GPRS/gprs_home_tx_bytes
/system/osso/connectivity/network_type/GPRS/gprs_home_warning_limit
/system/osso/connectivity/network_type/GPRS/gprs_roaming_disabled
/system/osso/connectivity/network_type/GPRS/gprs_roaming_last_notification
/system/osso/connectivity/network_type/GPRS/gprs_roaming_notification_enabled
/system/osso/connectivity/network_type/GPRS/gprs_roaming_notification_period
/system/osso/connectivity/network_type/GPRS/gprs_roaming_reset_time
/system/osso/connectivity/network_type/GPRS/gprs_roaming_rx_bytes
/system/osso/connectivity/network_type/GPRS/gprs_roaming_tx_bytes
/system/osso/connectivity/network_type/GPRS/gprs_roaming_warning_limit
/system/osso/connectivity/network_type/auto_connect
/system/osso/connectivity/network_type/search_interval

The * in the above entries means multiple possible entries match that pattern (as in the case of IAPs where there are multiple IAPs)
The ones with a / on the end indicate that something we are dealing with cares about the existence of the folder matching that path (as opposed to dealing with specific keys underneath that path)

Some of the above gconf keys may be documented via the osso-ic-gconf.h file in the icd2-ic-osso-dev package.

And finally, the packages listed above as packages we are replacing include the following shell scripts and gconf schema files, all of which we need to copy and use for our replacement connectivity subsystem implementation:
package icd2 has
00_proxy_set
zz_proxy_unset

package connui-iapsettings has
connui-internet.schemas

package connui-iapsettings-wlan has
connui-wlan.schemas

package icd2-settings-default has
icd2-settings.xml

package icd2-network-wlan-config has
libicd-network-wlan.schemas

package libicd-network-gprs has
cellular-data-counter-cud.sh
libicd-network-gprs.schemas
 

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

Thread Tools

 
Forum Jump


All times are GMT. The time now is 16:03.