h1. samsung-ril The samsung ril is the library that interfaces libsamsung-ipc(see below) with the android framework. h2. Supported devices * Nexus S * Galaxy S/Galaxy Tab P1000 * Galaxy S2 * Galaxy Nexus h2. Features |_. Functionality |_. Status |_. Release status | | Modem bootstrap | Working | Released | | Modem transport | Working | Released | | Modem FMT | Working | Released | | Modem RFS | Working | Released | | Power to Normal (Airplane mode on) | Working | Released | | Power to LPM (Airplane mode off) | Working | Released | | RSSI infos | Working | Released | | Icon infos | Working | Released | | Modem firmware infos | Working | Released | | IMEI/IMEISV | Working | Released | | IMSI | Working | Released | | USSD | Working, needs testing | Released | | SIM PIN unlock | Working | Released | | SIM PIN set | Working | Released | | SIM PIN change | Working | Released | | SIM unlock with PUK | Working | Released | | SIM I/O | Partially working: infos, contacts are OK, stored SMS I/O is not | Released | | Network registration | Working | Released | | Operator strings | Working | Released | | Network type force | Working | Released | | Operator manual select | Working | Released | | SMS outgoing | Working | Released | | SMS incoming | Working | Released | | Call incoming | Working | Released | | Call outgoing | Working, but conferencing | Released | | DTMF | Working | Released | | Audio during calls | Working | Released | | Audio mic mute set | Working | Released | | Audio volume change | Working | Released | | Audio path change | Working | Released | | Data activation | Working | Released | | Data deactivation | Working | Released | | NV read item | Working | Released | | NV write item | Working | Released | h1. libsamsung-ipc libsamsung-ipc is a free implementation of the protocol to speak with modems found in most Samsung devices. It is the low-level library used to communicate with the modem and needs an upper-layer (RIL) to interface with the system. libsamsung-ipc is shared between SHR and Replicant projects. It's used in both for the Nexus S. Source code is available under the GPLv2+ at: https://github.com/morphis/libsamsung-ipc (master branch). The library is mostly complete h2. ipc-modemctrl ipc-modemctrl is a deprecated tool that was used at the beginning of the work for talking to the nexus S modem. It implemented basic functionalities (mostly SIM unlocking and network registration). Usage:
usage: ipc-modemctrl 
commands:
	start                 bootstrap modem and start read loop
	power-on              power on the modem
	power-off             power off the modem
arguments:
	--debug               enable debug messages
	--pin=[PIN]           provide SIM card PIN
Please run ipc-modemctrl like this (from host pc): assuming your SIM PIN is 1234. If you don't have any SIM pin, don't pass the --pin argument. It should go like this:
[I] Got SIM PIN!
[0] Starting modem on FMT client
[1] Starting modem_read_loop on FMT client
[2] Phone is powered up (LPM)!
[I] SIM card found
[I] SIM is initializing
[3] SIM init complete
[4] Modem is ready, requesting normal power mode
[I] SIM card found
[I] SIM is initializing
[3] SIM init complete
[5] Modem is fully ready
[I] Registered with network successfully!
[6] Registered with network! Got PLMN (Mobile Network Code): '20810'
[I] Registered with network successfully!
[6] Registered with network! Got PLMN (Mobile Network Code): '20810'
[I] Registered with network successfully!
[I] Registered with network successfully!
[6] Registered with network! Got PLMN (Mobile Network Code): '20810'
[I] SIM Phone Book init complete
h2. Status We were able to make the following work: * SMS (Rx/Tx) * Call (Rx/Tx) BUT NO AUDIO YET * GPRS * SIM I/O (stored contacts, etc) * SIM PIN unlocking