SlideShare uma empresa Scribd logo
1 de 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

Mais conteúdo relacionado

Mais procurados

Gsm architecture and call flow
Gsm architecture and call flowGsm architecture and call flow
Gsm architecture and call flowMohd Nazir Shakeel
 
Overview of Android binder IPC implementation
Overview of Android binder IPC implementationOverview of Android binder IPC implementation
Overview of Android binder IPC implementationChethan Pchethan
 
Mobile Networks Overview (2G / 3G / 4G-LTE)
Mobile Networks Overview (2G / 3G / 4G-LTE)Mobile Networks Overview (2G / 3G / 4G-LTE)
Mobile Networks Overview (2G / 3G / 4G-LTE)Hamidreza Bolhasani
 
Matrix Telecom Solutions: SETU VTEP - Fixed VoIP to T1/E1 PRI Gateway
Matrix Telecom Solutions: SETU VTEP - Fixed VoIP to T1/E1 PRI GatewayMatrix Telecom Solutions: SETU VTEP - Fixed VoIP to T1/E1 PRI Gateway
Matrix Telecom Solutions: SETU VTEP - Fixed VoIP to T1/E1 PRI GatewayMatrix Comsec
 
Ss7 Introduction Li In
Ss7 Introduction Li InSs7 Introduction Li In
Ss7 Introduction Li Inmhaviv
 
Basic GSM Call Flows
Basic GSM Call FlowsBasic GSM Call Flows
Basic GSM Call Flowsemyl97
 
Complete umts call flow
Complete umts call flowComplete umts call flow
Complete umts call flowsivakumar D
 
Android graphic system (SurfaceFlinger) : Design Pattern's perspective
Android graphic system (SurfaceFlinger) : Design Pattern's perspectiveAndroid graphic system (SurfaceFlinger) : Design Pattern's perspective
Android graphic system (SurfaceFlinger) : Design Pattern's perspectiveBin Chen
 
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.
 
Android Binder IPC for Linux
Android Binder IPC for LinuxAndroid Binder IPC for Linux
Android Binder IPC for LinuxYu-Hsin Hung
 

Mais procurados (20)

Android Internals
Android InternalsAndroid Internals
Android Internals
 
Embedded Android : System Development - Part III
Embedded Android : System Development - Part IIIEmbedded Android : System Development - Part III
Embedded Android : System Development - Part III
 
Gsm architecture and call flow
Gsm architecture and call flowGsm architecture and call flow
Gsm architecture and call flow
 
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 Internals
Android InternalsAndroid Internals
Android Internals
 
Mobile Networks Overview (2G / 3G / 4G-LTE)
Mobile Networks Overview (2G / 3G / 4G-LTE)Mobile Networks Overview (2G / 3G / 4G-LTE)
Mobile Networks Overview (2G / 3G / 4G-LTE)
 
Matrix Telecom Solutions: SETU VTEP - Fixed VoIP to T1/E1 PRI Gateway
Matrix Telecom Solutions: SETU VTEP - Fixed VoIP to T1/E1 PRI GatewayMatrix Telecom Solutions: SETU VTEP - Fixed VoIP to T1/E1 PRI Gateway
Matrix Telecom Solutions: SETU VTEP - Fixed VoIP to T1/E1 PRI Gateway
 
Android Things : Building Embedded Devices
Android Things : Building Embedded DevicesAndroid Things : Building Embedded Devices
Android Things : Building Embedded Devices
 
Ss7 Introduction Li In
Ss7 Introduction Li InSs7 Introduction Li In
Ss7 Introduction Li In
 
Basic GSM Call Flows
Basic GSM Call FlowsBasic GSM Call Flows
Basic GSM Call Flows
 
Wcdma callflow
Wcdma callflowWcdma callflow
Wcdma callflow
 
Lte protocols
Lte protocolsLte protocols
Lte protocols
 
Complete umts call flow
Complete umts call flowComplete umts call flow
Complete umts call flow
 
Introduction to Android Window System
Introduction to Android Window SystemIntroduction to Android Window System
Introduction to Android Window System
 
Android graphic system (SurfaceFlinger) : Design Pattern's perspective
Android graphic system (SurfaceFlinger) : Design Pattern's perspectiveAndroid graphic system (SurfaceFlinger) : Design Pattern's perspective
Android graphic system (SurfaceFlinger) : Design Pattern's perspective
 
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...
 
Embedded Android : System Development - Part I
Embedded Android : System Development - Part IEmbedded Android : System Development - Part I
Embedded Android : System Development - Part I
 
Android Binder IPC for Linux
Android Binder IPC for LinuxAndroid Binder IPC for Linux
Android Binder IPC for Linux
 
2 g data call flow
2 g data call flow2 g data call flow
2 g data call flow
 

Semelhante a Android Radio Layer Interface

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 AndroidTetsuyuki Kobayashi
 
Android porting for dummies @droidconin 2011
Android porting for dummies @droidconin 2011Android porting for dummies @droidconin 2011
Android porting for dummies @droidconin 2011pundiramit
 
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’ NeedsRedis Labs
 
Sysdig Tokyo Meetup 2018 02-27
Sysdig Tokyo Meetup 2018 02-27Sysdig Tokyo Meetup 2018 02-27
Sysdig Tokyo Meetup 2018 02-27Michael Ducy
 
Rumba presentation at FEC2
Rumba presentation at FEC2Rumba presentation at FEC2
Rumba presentation at FEC2ARCFIRE ICT
 
DPDK & Layer 4 Packet Processing
DPDK & Layer 4 Packet ProcessingDPDK & Layer 4 Packet Processing
DPDK & Layer 4 Packet ProcessingMichelle Holley
 
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 platformsean chen
 
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.2Stanley Ho
 
Android crash debugging
Android crash debuggingAndroid crash debugging
Android crash debuggingAshish Agrawal
 
Introduction to computer architecture .pptx
Introduction to computer architecture .pptxIntroduction to computer architecture .pptx
Introduction to computer architecture .pptxFatma Sayed Ibrahim
 
20081114 Friday Food iLabt Bart Joris
20081114 Friday Food iLabt Bart Joris20081114 Friday Food iLabt Bart Joris
20081114 Friday Food iLabt Bart Jorisimec.archive
 
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 zSecureNico Chillemi
 
Stability issues of user space
Stability issues of user spaceStability issues of user space
Stability issues of user space晓东 杜
 
Code Red Security
Code Red SecurityCode Red Security
Code Red SecurityAmr Ali
 
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 CallAbdelrahman Al-Ogail
 

Semelhante a 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