SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

Android Telephony Manager and SMS
Android Telephony Manager and SMSAndroid Telephony Manager and SMS
Android Telephony Manager and SMS
Jussi Pohjolainen
 
Android booting sequece and setup and debugging
Android booting sequece and setup and debuggingAndroid booting sequece and setup and debugging
Android booting sequece and setup and debugging
Utkarsh Mankad
 

Was ist angesagt? (20)

Inside Android's UI
Inside Android's UIInside Android's UI
Inside Android's UI
 
Android Automotive
Android AutomotiveAndroid Automotive
Android Automotive
 
Binder: Android IPC
Binder: Android IPCBinder: Android IPC
Binder: Android IPC
 
Embedded Android : System Development - Part III (Audio / Video HAL)
Embedded Android : System Development - Part III (Audio / Video HAL)Embedded Android : System Development - Part III (Audio / Video HAL)
Embedded Android : System Development - Part III (Audio / Video HAL)
 
Android internals By Rajesh Khetan
Android internals By Rajesh KhetanAndroid internals By Rajesh Khetan
Android internals By Rajesh Khetan
 
Android's Multimedia Framework
Android's Multimedia FrameworkAndroid's Multimedia Framework
Android's Multimedia Framework
 
Embedded Android : System Development - Part IV
Embedded Android : System Development - Part IVEmbedded Android : System Development - Part IV
Embedded Android : System Development - Part IV
 
Embedded Android : System Development - Part I
Embedded Android : System Development - Part IEmbedded Android : System Development - Part I
Embedded Android : System Development - Part I
 
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 Binder IPC for Linux
Android Binder IPC for LinuxAndroid Binder IPC for Linux
Android Binder IPC for Linux
 
AIDL - Android Interface Definition Language
AIDL  - Android Interface Definition LanguageAIDL  - Android Interface Definition Language
AIDL - Android Interface Definition Language
 
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)"Learning AOSP" - Android Hardware Abstraction Layer (HAL)
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)
 
Android Internals
Android InternalsAndroid Internals
Android Internals
 
Android Telephony Manager and SMS
Android Telephony Manager and SMSAndroid Telephony Manager and SMS
Android Telephony Manager and SMS
 
Introduction to Android Window System
Introduction to Android Window SystemIntroduction to Android Window System
Introduction to Android Window System
 
Android booting sequece and setup and debugging
Android booting sequece and setup and debuggingAndroid booting sequece and setup and debugging
Android booting sequece and setup and debugging
 
Hacking Android OS
Hacking Android OSHacking Android OS
Hacking Android OS
 
Android Things : Building Embedded Devices
Android Things : Building Embedded DevicesAndroid Things : Building Embedded Devices
Android Things : Building Embedded Devices
 
Everything You Need to Know About the Intel® MPI Library
Everything You Need to Know About the Intel® MPI LibraryEverything You Need to Know About the Intel® MPI Library
Everything You Need to Know About the Intel® MPI Library
 
Gsm architecture
Gsm architectureGsm architecture
Gsm architecture
 

Ähnlich wie 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
 

Ähnlich wie 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