Libsamsung-ril » History » Revision 28
Revision 27 (Paul Kocialkowski, 12/03/2012 08:59 PM) → Revision 28/48 (Denis 'GNUtoo' Carikli, 12/03/2012 09:46 PM)
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:
<pre>
usage: ipc-modemctrl <command>
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
</pre>
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:
<pre>
[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
</pre>
h2. ipc-modemctrl 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