N900 Resources

This page lists relavent resources and information that is of use in working with the binary blobs on the N900 Maemo Fremantle OS or otherwise working with the phone beyond the stock Nokia SDK.

Maemo.org Wiki pages

 * Phone_control Information on how to use some of the dbus calls exposed by various parts of the phone software
 * Wl1251-cal Information on some of what the closed-source wl1251-cal binary does
 * N900_Software_BME BME related information
 * Sources Links to various bits of N900 source code
 * Telephony_Stack Random notes on how to talk to libisi and the CSD daemon
 * Dialer Random notes on the Fremantle dialer
 * ICD_Policy_Plugins Notes on the ICD2 policy plugins

Links to source that is relavent for Fremantle

 * Community SSU git repository, contains re-implementations of some Nokia closed binaries
 * Source code for the Maemo5 Fremantle certificate manager code
 * Maemo git repos containing some of the Maemo source code
 * MCE source code from MeeGo Won't work as-is on Maemo but still useful for reference.
 * Development headers that match the MCE source code
 * ofono source tree Good as a reference to many bits of the N900 cell modem.
 * all officially open packages from Maemo Fremantle
 * library for talking to BME The oldest tree for this contains information that matches the Fremantle BME.
 * ohm plugins Some of these plugins (of various different trees) may contain useful info for Fremantle.
 * Diablo MCE source code May be useful for reference purposes
 * [http://www.wirelessmodemapi.com/ Some documentation for the interface to the N900 cell modem
 * Header files for the hildon time chooser widget
 * An attempt to match the MeeGo MCE source tree to Fremantle Nothing works yet but it may be a good starting point.
 * Interfaces useful in creating a replacement touchscreen/keypad lock UI
 * header file with info on isi_info interface
 * Nokia QT SDK Contains some header files for the N900 cell modem. Install the maemo bits and look for the usr/include/isi/icpr82 folder.
 * Code for reading from the CAL area on the N900 phone

Packages from the Fremantle SDK nokia-binaries containing useful information but which you may not know about

 * wappushd-dev interface to wappushd daemon
 * sharing-dialog-dev interface to sharing dialogs
 * profile-data-dev dev headers for accessing profile data
 * opengles-sgx-img-common-dev headers for the SGX drivers
 * libgles2-sgx-img-dev headers for the SGX drivers
 * libgles1-sgx-img-dev headers for the SGX drivers
 * libcsnet-dev header files describing the interface to the Phone.Net dbus interface used for cell network information (signal strength, cell site changes, operator name/code changes, 2G/3G changes etc). This one is missing dependancies so you will have to force it to install and ignore the dependancies.
 * icd2-dev header files for icd2 daemon
 * hald-addon-bme Documentation contains information on how to talk to the BME hal interface.
 * libcal-dev Interface to the configuration area on N900 phone.

Packages from the Harmattan SDK containing useful information not in the Fremantle SDK that may apply to Fremantle

 * libsysinfo-dev development headers for the Harmattan version of libsysinfo.
 * libicd2-dev development headers for the Harmattan version of libicd2.
 * libicd-network-wlan-dev development headers for the Harmattan version of icd2 wlan plugin.
 * libbmeipc-dev development headers for the Harmattan version of libbmeipc.
 * icd2-osso-ic-dev development headers for osso-ic library

Packages from the N900 device repository containing useful information in their documentation folders
Because the /usr/share/doc bit is removed on the device, you will need to use apt-get to download the .deb and extract the files from that
 * csd-gprs This pakage contains full documentation for the dbus interface in /usr/share/doc/csd-gprs
 * csd-call This package contains some example code of how one might call libcscall in /usr/share/doc/csd-call/README.gz. Not that useful without headers for libcscall but may provide some tidbits of info

Mailing list posts of interest

 * Information on how to replace hald-addon-bme and libbmeipc as part of any BME replacements
 * Details usefull to replace the stock touchscreen keypad lock screen