SlideShare une entreprise Scribd logo
1  sur  78
Android Radio Layer Interface
Summary ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Background ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Summary ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
RIL Overview Android RIL stack
Summary ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
RIL daemon (rild) ,[object Object],[object Object],[object Object],[object Object]
RILD internal structure
Component naming ,[object Object],[object Object],[object Object]
RIL stack component ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
RIL daemon (rild) ,[object Object],[object Object],[object Object],[object Object]
RIL daemon startup flow ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
RIL daemon startup flow watch_table
eventLoop Event Name : s_wakeupfd_event Watch Fd :  s_fdWakeupRead Persist :  true Callback :  processWakeupCallback Extra param :  null It do nothing more than just read s_fdWakeupRead
Introduction to RIL Event timer_list linking list Store event related with time watch_table Max Size: 8  Store event related with fd ( socket , pipe , and device node)
Introduction to RIL Event(2) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Introduction to RIL Event(3)  Time event
Introduction to RIL Event(4)  add time event flow
Introduction to RIL Event(5)  I/O event
Introduction to RIL Event(6)  insert I/O event flow
Introduction to RIL Event(7)  schedule and fire event
ril_event_loop
RIL_Register Event Name : s_listen_event Watch Fd :  s_fdListen Persist :  false Callback :  listenCallback Extra param :  null
Event listenCallback Event Name : s_commands_event Watch Fd :  s_fdCommand Persist :  1 Callback :  processCommandsCallback Extra param :  RecordStream *p_rs
Event  processCommandsCallback
processCommandBuffer
The usage of RequestInfo, CommandInfo and UnsolResponseInfo  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
The structure of RequestInfo, CommandInfo
dispatchDial
RIL onRequest Handler flow
mainLoop
readerLoop
Event initializeCallback
RIL daemon (rild) Solicited request flow ,[object Object],[object Object],[object Object],[object Object],Request Path Response Path
Solicited request flow RILC RIL Mc39i rild RILSender RILReceiver sendResponse(p); rild Call Setup readerLoop Send Dial Event Fire Dial event at_send_command Fetch next event to fire RILJ
Generalization Solicited Reqeust
RIL daemon (rild)   Unsolicited request flow ,[object Object],[object Object],[object Object],[object Object],Response Path
Unsolicited request flow RIL Mc39i RILC readerLoop sendResponse(p); RILReceiver rild RILJ
Generalization Unsolicited Request
Summary ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
RIL with Mc39i on versatile ,[object Object],[object Object]
Building process ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Building process ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Building process ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Building process ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Building process ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Building process ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Building process ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Building process ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Reference ,[object Object],[object Object],[object Object]
RIL with Mc39i on versatile ,[object Object],[object Object]
Turn on telephony service ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
flag device_provisioned usage ,[object Object],[object Object],[object Object],[object Object]
flag device_provisioned usage ,[object Object],[object Object],[object Object]
android.provider.Settings.Secure.NameValueCache.getString()
Summary ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
RIL with E169 on Eeepc 900 ,[object Object],[object Object]
Building Process ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],+ =
Building Process ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Building Process ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Building Process ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Building Process ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Building Process ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Building Process ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Building Process ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Building Process ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Building Process ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Building Process ,[object Object],[object Object],[object Object],[object Object],[object Object]
I915 resolution solution ,[object Object],[object Object],[object Object],[object Object],[object Object]
RIL with E169 on Eeepc 900 ,[object Object],[object Object]
Surfing internet ,[object Object],[object Object],[object Object],[object Object]
Summary ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Screenshots
Screenshots
Screenshots
Screenshots
Screenshots
RILJ Overview Connect to “rild” Handle solicited and unsolicited response Store solicited request that sent by  mSender All request args. would be stored to Parcel object for holding solicited request code, EX:  REQUEST_DIAL for sending response to the activity that solicits this request

Contenu connexe

Tendances

ELCE 2012 - Dive into Android Networking: Adding Ethernet Connectivity
ELCE 2012 - Dive into Android Networking: Adding Ethernet ConnectivityELCE 2012 - Dive into Android Networking: Adding Ethernet Connectivity
ELCE 2012 - Dive into Android Networking: Adding Ethernet Connectivity
Benjamin Zores
 
Overview of Android binder IPC implementation
Overview of Android binder IPC implementationOverview of Android binder IPC implementation
Overview of Android binder IPC implementation
Chethan Pchethan
 
Using and Customizing the Android Framework / part 4 of Embedded Android Work...
Using and Customizing the Android Framework / part 4 of Embedded Android Work...Using and Customizing the Android Framework / part 4 of Embedded Android Work...
Using and Customizing the Android Framework / part 4 of Embedded Android Work...
Opersys inc.
 

Tendances (20)

Explore Android Internals
Explore Android InternalsExplore Android Internals
Explore Android Internals
 
Android IPC Mechanism
Android IPC MechanismAndroid IPC Mechanism
Android IPC Mechanism
 
ELCE 2012 - Dive into Android Networking: Adding Ethernet Connectivity
ELCE 2012 - Dive into Android Networking: Adding Ethernet ConnectivityELCE 2012 - Dive into Android Networking: Adding Ethernet Connectivity
ELCE 2012 - Dive into Android Networking: Adding Ethernet Connectivity
 
Understanding android security model
Understanding android security modelUnderstanding android security model
Understanding android security model
 
Android Core Aula 5 - RIL (Radio Interface Layer)
Android Core Aula 5 -  RIL (Radio Interface Layer)Android Core Aula 5 -  RIL (Radio Interface Layer)
Android Core Aula 5 - RIL (Radio Interface Layer)
 
Android Binder: Deep Dive
Android Binder: Deep DiveAndroid Binder: Deep Dive
Android Binder: Deep Dive
 
Android Internals
Android InternalsAndroid Internals
Android Internals
 
Android presentation
Android presentationAndroid presentation
Android presentation
 
Embedded Android : System Development - Part IV
Embedded Android : System Development - Part IVEmbedded Android : System Development - Part IV
Embedded Android : System Development - Part IV
 
Android Automotive
Android AutomotiveAndroid Automotive
Android Automotive
 
Android resources
Android resourcesAndroid resources
Android resources
 
Understanding the Android System Server
Understanding the Android System ServerUnderstanding the Android System Server
Understanding the Android System Server
 
Automotive android
Automotive androidAutomotive android
Automotive android
 
Outgoing Call Flow ~ Android ( < Nougat).
Outgoing Call Flow ~ Android ( < Nougat).Outgoing Call Flow ~ Android ( < Nougat).
Outgoing Call Flow ~ Android ( < Nougat).
 
Android internals By Rajesh Khetan
Android internals By Rajesh KhetanAndroid internals By Rajesh Khetan
Android internals By Rajesh Khetan
 
Overview of Android binder IPC implementation
Overview of Android binder IPC implementationOverview of Android binder IPC implementation
Overview of Android binder IPC implementation
 
Embedded Android : System Development - Part II (HAL)
Embedded Android : System Development - Part II (HAL)Embedded Android : System Development - Part II (HAL)
Embedded Android : System Development - Part II (HAL)
 
Android security
Android securityAndroid security
Android security
 
Using and Customizing the Android Framework / part 4 of Embedded Android Work...
Using and Customizing the Android Framework / part 4 of Embedded Android Work...Using and Customizing the Android Framework / part 4 of Embedded Android Work...
Using and Customizing the Android Framework / part 4 of Embedded Android Work...
 
Binder: Android IPC
Binder: Android IPCBinder: Android IPC
Binder: Android IPC
 

Similaire à Android Radio Layer Interface

Tailoring Redis Modules For Your Users’ Needs
Tailoring Redis Modules For Your Users’ NeedsTailoring Redis Modules For Your Users’ Needs
Tailoring Redis Modules For Your Users’ Needs
Redis Labs
 
Stranger in These Parts. A Hired Gun in the JS Corral (JSConf US 2012)
Stranger in These Parts. A Hired Gun in the JS Corral (JSConf US 2012)Stranger in These Parts. A Hired Gun in the JS Corral (JSConf US 2012)
Stranger in These Parts. A Hired Gun in the JS Corral (JSConf US 2012)
Igalia
 
Virtual platform
Virtual platformVirtual platform
Virtual platform
sean chen
 
20081114 Friday Food iLabt Bart Joris
20081114 Friday Food iLabt Bart Joris20081114 Friday Food iLabt Bart Joris
20081114 Friday Food iLabt Bart Joris
imec.archive
 
Introduction to C++ Remote Procedure Call (RPC)
Introduction to C++ Remote Procedure Call (RPC)Introduction to C++ Remote Procedure Call (RPC)
Introduction to C++ Remote Procedure Call (RPC)
Abdelrahman Al-Ogail
 
Introduction to Remote Procedure Call
Introduction to Remote Procedure CallIntroduction to Remote Procedure Call
Introduction to Remote Procedure Call
Abdelrahman Al-Ogail
 

Similaire à Android Radio Layer Interface (20)

Embedded Android
Embedded AndroidEmbedded Android
Embedded Android
 
Inter-process communication of Android
Inter-process communication of AndroidInter-process communication of Android
Inter-process communication of Android
 
Android porting for dummies @droidconin 2011
Android porting for dummies @droidconin 2011Android porting for dummies @droidconin 2011
Android porting for dummies @droidconin 2011
 
Tailoring Redis Modules For Your Users’ Needs
Tailoring Redis Modules For Your Users’ NeedsTailoring Redis Modules For Your Users’ Needs
Tailoring Redis Modules For Your Users’ Needs
 
Sysdig Tokyo Meetup 2018 02-27
Sysdig Tokyo Meetup 2018 02-27Sysdig Tokyo Meetup 2018 02-27
Sysdig Tokyo Meetup 2018 02-27
 
Rumba presentation at FEC2
Rumba presentation at FEC2Rumba presentation at FEC2
Rumba presentation at FEC2
 
DPDK & Layer 4 Packet Processing
DPDK & Layer 4 Packet ProcessingDPDK & Layer 4 Packet Processing
DPDK & Layer 4 Packet Processing
 
Stranger in These Parts. A Hired Gun in the JS Corral (JSConf US 2012)
Stranger in These Parts. A Hired Gun in the JS Corral (JSConf US 2012)Stranger in These Parts. A Hired Gun in the JS Corral (JSConf US 2012)
Stranger in These Parts. A Hired Gun in the JS Corral (JSConf US 2012)
 
Virtual platform
Virtual platformVirtual platform
Virtual platform
 
1032 cs208 g operation system ip camera case share.v0.2
1032 cs208 g operation system ip camera case share.v0.21032 cs208 g operation system ip camera case share.v0.2
1032 cs208 g operation system ip camera case share.v0.2
 
Android crash debugging
Android crash debuggingAndroid crash debugging
Android crash debugging
 
Introduction to computer architecture .pptx
Introduction to computer architecture .pptxIntroduction to computer architecture .pptx
Introduction to computer architecture .pptx
 
20081114 Friday Food iLabt Bart Joris
20081114 Friday Food iLabt Bart Joris20081114 Friday Food iLabt Bart Joris
20081114 Friday Food iLabt Bart Joris
 
IBM Workload Scheduler for z/OS Security with RACF & IBM zSecure
IBM Workload Scheduler for z/OS Security with RACF & IBM zSecureIBM Workload Scheduler for z/OS Security with RACF & IBM zSecure
IBM Workload Scheduler for z/OS Security with RACF & IBM zSecure
 
Stability issues of user space
Stability issues of user spaceStability issues of user space
Stability issues of user space
 
Red5 - PHUG Workshops
Red5 - PHUG WorkshopsRed5 - PHUG Workshops
Red5 - PHUG Workshops
 
Code Red Security
Code Red SecurityCode Red Security
Code Red Security
 
Book
BookBook
Book
 
Introduction to C++ Remote Procedure Call (RPC)
Introduction to C++ Remote Procedure Call (RPC)Introduction to C++ Remote Procedure Call (RPC)
Introduction to C++ Remote Procedure Call (RPC)
 
Introduction to Remote Procedure Call
Introduction to Remote Procedure CallIntroduction to Remote Procedure Call
Introduction to Remote Procedure Call
 

Android Radio Layer Interface