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 GPLv3+ at: https://github.com/morphis/libsamsung-ipc (master branch).
ipc-modemctrl
ipc-modemctrl is the tool that comes to test libsamsung-ipc. It currently implements basic functionalities (mostly SIM unlocking and network registration).
Usage:
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
Please run ipc-modemctrl like this (from host pc): ./adb shell ipc-modemctrl start --pin=1234
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
If something goes wrong, please add the --debug argument to get in debug mode.
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
![(please configure the [header_logo] section in trac.ini)](/trac/replicant/chrome/site/your_project_logo.png)