Project

General

Profile

Libsamsung-ipc » History » Version 4

Paul Kocialkowski, 08/28/2014 09:00 PM

1 1 Paul Kocialkowski
h1. libsamsung-ipc
2
3 3 Paul Kocialkowski
libsamsung-ipc is a free software implementation of the Samsung IPC modem protocol, found in many Samsung devices.
4 1 Paul Kocialkowski
libsamsung-ipc contains the device-specific code for transport between the kernel interface and the upper layer (usually, the Radio Interface Layer) and the definition of the data structures and values used ion the protocol.
5
6
h2. Development
7
8 4 Paul Kocialkowski
libsamsung-ipc sources are hosted at: http://gitorious.org/replicant/external_libsamsung-ipc branch @master@. It has support for both the Android build system and autotools.
9 1 Paul Kocialkowski
10
h2. Status
11
12
The library itself is mostly complete: the actual protocol work takes places in the upper layer implementations, so only new devices support is left to be added.
13
14 4 Paul Kocialkowski
h2. Tools
15 1 Paul Kocialkowski
16 4 Paul Kocialkowski
libsamsung-ipc ships with some tools to ease development.
17 1 Paul Kocialkowski
18 4 Paul Kocialkowski
h3. ipc-modem
19
20
ipc-modem 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), using libsamsung-ipc.
21
22 1 Paul Kocialkowski
<pre>
23 4 Paul Kocialkowski
usage: ipc-modem <command>
24 1 Paul Kocialkowski
commands:
25 4 Paul Kocialkowski
	start                 boot modem and start read loop
26
	boot                  boot modem only
27 1 Paul Kocialkowski
	power-on              power on the modem
28
	power-off             power off the modem
29
arguments:
30
	--debug               enable debug messages
31
	--pin=[PIN]           provide SIM card PIN
32
</pre>
33
34 4 Paul Kocialkowski
h3. ipc-test
35 1 Paul Kocialkowski
36 4 Paul Kocialkowski
ipc-test is a very minimalistic tool that simply boots up the modem and receives messages as they arrive. It is intended to ease boot code development by providing a standalone binary.