Notes on things we need to care about to replace the internet subsystem
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 |
Re: Notes on things we need to care about to replace the internet subsystem
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 |
All times are GMT. The time now is 09:31. |
vBulletin® Version 3.8.8