Project

General

Profile

Actions

Samsung-RIL » History » Revision 26

« Previous | Revision 26/47 (diff) | Next »
Paul Kocialkowski, 12/03/2012 08:59 PM


samsung-ril

The samsung ril is the library that interfaces libsamsung-ipc(see below) with the android framework.

Supported devices

  • Nexus S
  • Galaxy S/Galaxy Tab P1000
  • Galaxy S2
  • Galaxy Nexus

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, works best in 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, works best in 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

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

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 <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):

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

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

Updated by Paul Kocialkowski almost 7 years ago · 26 revisions