Project

General

Profile

Libsamsung-ril » History » Version 21

Paul Kocialkowski, 02/24/2012 12:15 AM

1 6 Denis 'GNUtoo' Carikli
h1. samsung-ril
2 1 Paul Kocialkowski
3 6 Denis 'GNUtoo' Carikli
The samsung ril is the library that interfaces libsamsung-ipc(see below) with the android framework.
4
Status per devices below:
5 1 Paul Kocialkowski
6 6 Denis 'GNUtoo' Carikli
h2. Nexus S
7 13 Paul Kocialkowski
8
|_. Functionality |_. Status |_. Released |
9
| Modem bootstrap | Working | replicant-2.3 0002 images |
10
| Modem transport | Working | replicant-2.3 0002 images |
11
| Modem FMT | Working | replicant-2.3 0002 images |
12
| Modem RFS | Working | replicant-2.3 0002 images |
13
| Power to Normal | Working | replicant-2.3 0002 images |
14 16 Paul Kocialkowski
| Power to LPM | Working, needs testing and review | git |
15 13 Paul Kocialkowski
| RSSI infos | Working | replicant-2.3 0002 images |
16 18 Paul Kocialkowski
| Icon infos | Working | git |
17 13 Paul Kocialkowski
| Modem firmware infos | Working | replicant-2.3 0002 images |
18 20 Paul Kocialkowski
| IMEI/IMEISV | Working | replicant-2.3 0002 images, works best in git |
19 19 Paul Kocialkowski
| IMSI | Working | replicant-2.3 0002 images |
20 16 Paul Kocialkowski
| USSD | Working, needs testing | git |
21 13 Paul Kocialkowski
| SIM PIN unlock | Working | replicant-2.3 0002 images |
22
| SIM PIN set | Missing | |
23 21 Paul Kocialkowski
| SIM unlock with PUK | Missing | |
24 13 Paul Kocialkowski
| SIM I/O | Partially working: infos, contacts are OK, stored SMS I/O is not | replicant-2.3 0002 images |
25
| Network registration | Working | replicant-2.3 0002 images, works best in git |
26
| Operator strings | Working | replicant-2.3 0002 images |
27 17 Paul Kocialkowski
| Network type force | Working | git |
28
| Operator manual select | Working | git |
29 13 Paul Kocialkowski
| SMS outgoing | Working, sometimes crashes! | replicant-2.3 0002 images |
30
| SMS incoming | Working | replicant-2.3 0002 images |
31
| Call incoming | Working | replicant-2.3 0002 images |
32
| Call outgoing | Working, but conferencing | replicant-2.3 0002 images |
33
| DTMF | Working, code needs cleanup | replicant-2.3 0002 images |
34
| Audio during calls | Working | replicant-2.3 0002 images |
35
| Audio mic mute set | Working | replicant-2.3 0002 images |
36
| Audio volume change | Working | replicant-2.3 0002 images |
37
| Audio path change | Working | replicant-2.3 0002 images |
38
| Data activation | Working, code needs cleanup | replicant-2.3 0002 images |
39
| Data deactivation | Working, code needs cleanup | git |
40
| NV read item | Working | replicant-2.3 0002 images |
41
| NV write item | Working | replicant-2.3 0002 images |
42 6 Denis 'GNUtoo' Carikli
43
h1. libsamsung-ipc
44
45 4 Paul Kocialkowski
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.
46 1 Paul Kocialkowski
47
libsamsung-ipc is shared between SHR and Replicant projects. It's used in both for the Nexus S.
48
49
Source code is available under the GPLv3+ at: https://github.com/morphis/libsamsung-ipc (master branch).
50
51 6 Denis 'GNUtoo' Carikli
The library is mostly complete
52 4 Paul Kocialkowski
53
h2. ipc-modemctrl
54 1 Paul Kocialkowski
55 5 Denis 'GNUtoo' Carikli
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).
56 1 Paul Kocialkowski
57
Usage:
58 4 Paul Kocialkowski
<pre>
59 1 Paul Kocialkowski
usage: ipc-modemctrl <command>
60
commands:
61
	start                 bootstrap modem and start read loop
62
	power-on              power on the modem
63
	power-off             power off the modem
64
arguments:
65 2 Paul Kocialkowski
	--debug               enable debug messages
66
	--pin=[PIN]           provide SIM card PIN
67 4 Paul Kocialkowski
</pre>
68 1 Paul Kocialkowski
69
Please run ipc-modemctrl like this (from host pc): 
70
71
assuming your SIM PIN is 1234. If you don't have any SIM pin, don't pass the --pin argument. 
72
73
It should go like this:
74 11 Paul Kocialkowski
75 4 Paul Kocialkowski
<pre>
76 1 Paul Kocialkowski
[I] Got SIM PIN!
77 11 Paul Kocialkowski
[0] Starting modem on FMT client
78
[1] Starting modem_read_loop on FMT client
79
[2] Phone is powered up (LPM)!
80 1 Paul Kocialkowski
[I] SIM card found
81
[I] SIM is initializing
82 11 Paul Kocialkowski
[3] SIM init complete
83
[4] Modem is ready, requesting normal power mode
84 1 Paul Kocialkowski
[I] SIM card found
85 2 Paul Kocialkowski
[I] SIM is initializing
86 11 Paul Kocialkowski
[3] SIM init complete
87
[5] Modem is fully ready
88 2 Paul Kocialkowski
[I] Registered with network successfully!
89 11 Paul Kocialkowski
[6] Registered with network! Got PLMN (Mobile Network Code): '20810'
90 4 Paul Kocialkowski
[I] Registered with network successfully!
91 11 Paul Kocialkowski
[6] Registered with network! Got PLMN (Mobile Network Code): '20810'
92 4 Paul Kocialkowski
[I] Registered with network successfully!
93 2 Paul Kocialkowski
[I] Registered with network successfully!
94 11 Paul Kocialkowski
[6] Registered with network! Got PLMN (Mobile Network Code): '20810'
95 2 Paul Kocialkowski
[I] SIM Phone Book init complete
96
</pre>
97 4 Paul Kocialkowski
98
h2. Status
99
100 3 Paul Kocialkowski
We were able to make the following work:
101 4 Paul Kocialkowski
* SMS (Rx/Tx)
102
* Call (Rx/Tx) BUT NO AUDIO YET
103
* GPRS 
104
* SIM I/O (stored contacts, etc)
105
* SIM PIN unlocking