Tuesday, February 16, 2016

RIL + Modem

Why to I write ?   Mayb sometime to look back and see what I was doing at a particular age.


My love with technology is like loving a girl who who adore ...are crazy about ...but can't marry since ....irrespective of all the things she is good at ...you didn't fall in love with her on first sight....

Same way even though I love technology...but aftertime I simply feel what is the use of learning all this.

But you never know...in that hope ...I keep on writing and loving :P


So there was I issue which i was checking and learnt something.

In android phones : There will be a application processor and baseband processor.

The application processor will run operating system Android and Baseband will run RTOS.

Now when we make call/sms/data ...what happens is

In android there first LAYER which comes in Android Framework which is kind of libraries and lot of other stuff. When you make application for Android you keep on calling these library functions.

Now after Android Framework, your request goes to RIL-J , radio interface layer-Java. It will have two process :

RILSender    and RILreceiver :

Now here Android kind of ends. Then we will have RIL-Daemon which will have Vendor RIL code.

Since every vendor have thier own way of communicating with baseband.

So  RIL-J will post request to RIL-D.

RIL-D will further communicate with Baseband processor.


Taking an example of vendor who uses AT cmd to communicate between AP and baseband.


Process -wise


RIL-J runs two different process ; Reciever and Sender
RIL-D has to check 
At Modem also there will be two different process, one for handling the REQUEST and one for handling the RESPONSE/INDICATION.

More Questions like :

Does RILJ stores any request or simply keeps on pumping them?
 Does RILD process commands one by one ?
There is socket between RILJ and RILD , so they will be two different task. Can in case of socket we can pump data continously to other side.

Between RILD and AT-CMD there will be shared memory.