SlideShare a Scribd company logo
1 of 64
Download to read offline
打造自己的IoT
Cellular Technology with Embedded Linux
SZ LIN
szlin@cs.nctu.edu.tw
1
Date: 2016/8/21
2
SZLIN
➔ Taiwan Industrial Grade Linux Distribution
➔ Debian Maintainer
➔ Blog: https://szlin.me
About Me
3
4
5
6
7
8
Prepare Cellular
Interface
Enable device driver
and cellular utility
Get proper
Cellular Module
and SIM card
4321
Steps to Build Your Own IoT
Hands-on Experience
9
Analog Cellular
- AMPS
-TACS
- NMT
* 14.4 kbps
Digital
NarrowBand
Circuit Data
- GSM
- D-AMPS
- PHS
* 9.6/ 14.4 kbps
Packet Data
- GPRS
- CDMA2000
1xRTT
- EDGE
* 171.2 kbps
Digital
Broadband
Packet Data
- UMTS
- CDMA2000
1xEV-DO
* 3.1 Mbps
Digital
Broadband
Packet Data
- HSPA+
- LTE
- WiMAX
(IEEE 802.16e)
* 14.4 Mbps
Digital
Broadband
Packet Data
* All IP network
- LTE Advanced
- WiMAX
(IEEE 802.16m)
* Cat. 6: 300/50
Mbps
1G
2G
3G
4 G
Cellular Network Generation
2.5/
2.75G
3.5/ 3.75/
3.9 G
10
Analog Cellular
- AMPS
-TACS
- NMT
* 14.4 kbps
Digital
NarrowBand
Circuit Data
- GSM
- D-AMPS
- PHS
* 9.6/ 14.4 kbps
Packet Data
- GPRS
- CDMA2000
1xRTT
- EDGE
* 171.2 kbps
Digital
Broadband
Packet Data
- UMTS
- CDMA2000
1xEV-DO
* 3.1 Mbps
Digital
Broadband
Packet Data
- HSPA+
- LTE
- WiMAX
(IEEE 802.16e)
* 14.4 Mbps
Digital
Broadband
Packet Data
All IP network
- LTE Advanced
- WiMAX
(IEEE 802.16m)
* Cat. 6: 300/50
Mbps
1G
2G
3G
4 G
Cellular Network Generation
2.5/
2.75G
3.5/ 3.75/
3.9 G
Taiwan is phasing out 2G cellular on 2017-6-30
to make way for more 4G bandwidth
ref:
http://www.ncc.gov.tw/chinese/print.aspx?table_name=news&site_content_sn=8&sn_f=33421
11
Prepare Cellular
Interface
Get proper
Cellular Module
and SIM card
4321
Steps to Build Your Own IoT
Enable device driver
and cellular utility
FAQ
12
BANANA
13
BANANA
SoC Built-in
cellular function
Board buit-in
Mini-PCIe slot
Mini-PCIe to USB
Connector
14
SoC Built-in Cellular Function
15
Board Built-in Mini-PCIe Slot
USB signal
16
Mini PCI-E to USB Adapter
With SIM Card and Case Slot
USB signal
17
Prepare Cellular
Interface
Get proper
Cellular Module
and SIM card
4321
Enable device driver
and cellular utility
Hands-on Experience
18
LTE frequency bands
➢ 3GPP Release 8 defines 5 LTE user
equipment categories depending on
maximum peak data rate and MIMO
capabilities support [1]
➢ CAT 3, CAT 4 modules took up a dominant
share of cellular market so far
➢ Some new modules start to support CAT6
LTE Category
➢ The definition is in 3GPP TS 36.101
➢ The available band might be different
in different country
Get Proper Cellular Module
Module PIN definition
➢ Make sure the PIN definition between
slot and module are the same
19
LTE frequency bands [11][15]
20
LTE category [9]
Aggregating up to 40 MHz of bandwidth
21
Prepare Cellular
Interface
Get proper
Cellular Module
and SIM card
4321
Enable device driver
and cellular utility
Hands-on Experience
22
Data Path Interface
Control Path ProtocolBANANA
23
Control Path Protocol Data Path Interface
1. AT commands
2. QMI (after kernel v3.4 )
3. MBIM (after kernel v3.8)
1. ppp (ttyUSB or cdc-acm)
2. RNDIS (cdc-ecm)
3. QMI (cdc-wdm)
4. MBIM (cdc-mbim)
* This table only lists information which I have handled
24
Control Path Protocol Data Path Interface
1. AT commands
2. QMI (after kernel v3.4 )
3. MBIM (after kernel v3.8)
1. ppp (ttyUSB or cdc-acm)
2. RNDIS (cdc-ecm)
3. QMI (cdc-wdm)
4. MBIM (cdc-mbim)
25
AT commands - Hayes command set [2][3]
❏ Developed by Dennis Hayes
❏ A series of short text strings which can be combined to produce commands for operations
• dialing
• hanging up
• changing the parameters
❏ “AT” meaning 'attention’
26
AT commands - Hayes command set [2][3]
Standard format of AT commands
AT+
Proprietary format of AT commands
AT!, AT^ or AT$ etc..
27
AT commands - Utility
28
Control Path Protocol Data Path Interface
1. AT commands
2. QMI (after kernel v3.4 )
3. MBIM (after kernel v3.8)
1. ppp (ttyUSB or cdc-acm)
2. RNDIS (cdc-ecm)
3. QMI (cdc-wdm)
4. MBIM (cdc-mbim)
29
Dial-up by using PPP [5]
Not a Recommended way
6+ steps to dial up with ppp
1. Install the packages in Debian/ Ubuntu
➢ apt-get install netbase ifupdown ppp
2. Create a file /etc/ppp/peers/gprs with this
content
3. Edit /etc/ppp/chap-secrets
4. Edit /etc/ppp/pap-secrets
5. Edit /etc/network/interfaces
6. ifup gprs
7. !@#$%^&*()_
ref: https://c1.staticflickr.com/5/4150/5067471752_1fa8a4ab15.jpg
30
Dial-up by using wvdial [6]
31
1. apt-get install wvdial
2. edit /etc/wvdial.conf
3. wvdial
Dial-up by using wvdial [6]
32
Get IP by using DHCP
33
Control Path Protocol Data Path Interface
1. AT commands
2. QMI (after kernel v3.4 )
3. MBIM (after kernel v3.8)
1. ppp (ttyUSB or cdc-acm)
2. RNDIS (cdc-ecm)
3. QMI (cdc-wdm)
4. MBIM (cdc-mbim)
serial interface
Non serial interface
34
Ethernet Networking Control Model
CDC_ECM + RNDIS - Ethernet over USB [16]
Virtual
Interface
RNDIS
Virtual
Interface
…
Cellular Module – Router mode
IPTABLES - NAT
IP Stack
DHCPDNS➢ RNDIS - Proprietary protocol developed
by Microsoft
➢ “virtual Ethernet” functionality
➢ Support USB high speed
○ Not suitable for the module which
are for more than CAT 6
35
Ethernet Networking Control Model
CDC_ECM + RNDIS - Ethernet over USB
Virtual
Interface
RNDIS
Virtual
Interface
…
Cellular Module – Router mode
IPTABLES - NAT
IP Stack
DHCPDNS
Virtual
Interface
RNDIS
Virtual
Interface
…
Cellular Module – Bridge mode
IPTABLES - NATIP Stack
DHCPDNS
36
Ethernet Networking Control Model
Driver option in Linux kernel
37
Ethernet Networking Control Model
CDC_ECM + RNDIS
38
Control Path Protocol Data Path Interface
1. AT commands
2. QMI (after kernel v3.4 )
3. MBIM (after kernel v3.8)
1. ppp (ttyUSB or cdc-acm)
2. RNDIS (cdc-ecm)
3. QMI (cdc-wdm)
4. MBIM (cdc-mbim)
39
➔ LTE baseband market with 65% [17]
➔ Obsolete AT command and serial
interface
• Compatibility
• Logical Bandwidth
➔ Propose unique value proposition
40
QMI (Qualcomm MSM Interface)
◆ Linux Kernel 3.4
• qmi_wwan
◆ Define network services
• NAS (network access)
• PDS (gps location)
• UIM (user identity module)
• WDS (wireless data)
• DMS (device management)
• …
◆ Binary protocol
41
QMI (Qualcomm MSM Interface)
Device Driver Owner User-space
GobiSerial
GobiNet
qcserial
option
qmi_wwan
Qualcomm
Open Source Community
GobiAPI
•Sierra Wireless SDK
•…
libqmi (freedesktop.org)
uqmi (openWRT)
ofono (INTEL)
42
QMI (Qualcomm MSM Interface)
drivers/net/usb/qmi_wwan.c
➢ Net Driver dependence
➢ Related information
43
QMI (Qualcomm MSM Interface)
drivers/usb/serial/qcserial.c & drivers/usb/serial/option.c
➢ Serial Driver dependence
qcserial option
44
QMI (Qualcomm MSM Interface)
When to use option instead of qcserial
45
QMI (Qualcomm MSM Interface)
Move qcserial to option
46
QMI (Qualcomm MSM Interface)
LIBQMI
Mailing lists
libqmi-devel@lists.freedesktop.org
47
Control Path Protocol Data Path Interface
1. AT commands
2. QMI (after kernel v3.4 )
3. MBIM (after kernel v3.8)
1. ppp (ttyUSB or cdc-acm)
2. RNDIS (cdc-ecm)
3. QMI (cdc-wdm)
4. MBIM (cdc-mbim)
➔ extends cdc-ncm (Network Control Model)
48
Mobile Broadband Interface Model (MBIM)
◆USB-IF Standard (Extends NCM)
• Microsoft
• Intel
• HP
• …
◆Linux Kernel 3.8
• cdc_mbim
◆Binary protocol
◆Raw IP
◆MBIM could embedded different protocols
• QMI
• …
49
Mobile Broadband Interface Model (MBIM)
➢ MBIM extends the NCM as a protocol with
the difference that devices transfer raw IP packets
instead of packets with 802.3 headers
➢ NCM
○ 802.3 headers
➢ NCM/ MBIM
○ Raw IP
○ Control path
50
Mobile Broadband Interface Model (MBIM)
Device Driver Owner User-space
cdc_mbim Open Source Community libmbim (freedesktop.org)
umbim (openWRT)
51
Mobile Broadband Interface Model (MBIM)
LIBMBIM
Mailing lists
libmbim-devel@lists.freedesktop.org
52
Prepare Cellular
Interface
Get proper
Cellular Module
and SIM card
4321
Enable device driver
and cellular utility
Hands-on Experience
53
ref: http://www.safetysign.com/products/p3249/warning-read-manual-label
54
ref: http://www.safetysign.com/products/p3249/warning-read-manual-label
55
Use command “dmesg” to find out the
idVendor and idProduct of cellular module.
Use command “grep -r "1199" drivers/net/usb/” to
find out which driver does it use.
Lazy is the greatest motivation behind progress
56
Hands-on Experience – FAQ
Dial-up failed !
Check steps one by one
• Check the band of SIM card is matched with cellular module
• Check SIM card is ready or not (Make sure PIN code is correct)
• Check cellular signal is good enough
• Make sure SIM card's supporting band is the same with the cellular module
• Make sure the firmware of cellular module is the same with the ISP
• Make sure cellular module is connected properly to your antenna (MAIN/ AUX)
• Make sure the mode of module firmware is configured properly
• Make sure wireless disable function is OFF
57
Hands-on Experience – FAQ
My connection is disconnected !
Check steps one by one
• Check cellular signal from base station
• Make sure cellular module is not in idle mode
• Make sure MTU is configured properly
58
Internet
Ping
eth0
59
Internet
Open browser
eth0
60
Hands-on Experience – FAQ
Make sure MTU is configured properly
This forces the packet to be fragmented, and the fragmented packets are not be re-assembled.
M2M IoT Network Usage Guidelines [25]
61
Conclusion
Enable LTE-A module require more fundamental
knowledge
➢ Band, carrier, firmware, antenna, etc…
1
2
3
Future Prospects
➢ MBIM
➢ 3GPP Rel. 12
○ LTE-U
➢ 3GPP Rel. 13
○ LTE-LAA
Fault tolerance mechanism
➢ We cannot control status of base station and carrier
62
Thank you
63
References
1. E-UTRA
https://en.wikipedia.org/wiki/E-UTRA
2.海斯命令集
https://zh.wikipedia.org/wiki/%E6%B5%B7%E6%96%AF%E5%91%BD%E4%BB%A4%E9%9B
%86
3. Hayes_command_set
https://en.wikipedia.org/wiki/Hayes_command_set
4. Wvdial
https://en.wikipedia.org/wiki/WvDial
5. Modem3G
https://wiki.debian.org/Modem/3G
6. Wvdial - github
https://github.com/wlach/wvdial
7. modem-cmd
https://github.com/imZack/modem-cmd
8. E-UTRA
https://en.wikipedia.org/wiki/E-UTRA
9. LTE UE Category & Class Definitions
http://www.radio-electronics.com/info/cellulartelecomms/lte-long-term-evolution/ue-cat
egory-categories-classes.php
10. Qualcomm Gobi devices in Linux based systems
http://www.lanedo.com/documents/Qualcomm%20Gobi%20devices%20on%20Linux.pdf
11. LTE band
http://niviuk.free.fr/lte_band.php
12. Cellular network
https://en.wikipedia.org/wiki/Cellular_network
13. 1g 2g 2.5g 3g 3.5g 4g comparisons, peak speed, real speed, carriers
https://www.youtube.com/watch?v=_3k5Iic4pWI
14. Project mangOH
http://source.sierrawireless.com/blog/2016/3/next-on-mangoh/
15.長期演進技術
https://zh.wikipedia.org/wiki/%E9%95%B7%E6%9C%9F%E6%BC%94%E9%80%B2%E6%
8A%80%E8%A1%93
16. RNDIS
https://en.wikipedia.org/wiki/RNDIS
17. Qualcomm news
http://www.prnewswire.com/news-releases/abi-research-reports-qualcomm-maintain
s-clear-leadership-in-the-lte-baseband-market-with-65-share-but-faces-mou
nting-captive-market-competition-300222968.html
18. Mobile broadband modem control protocols
http://www.lanedo.com/users/amorgado/talks/FOSDEM2013%20-%20Mobile%20broa
dband%20modem%20control%20protocols.pdf
19. Qualcomm Gobi devices in Linux based systems
http://www.lanedo.com/documents/Qualcomm%20Gobi%20devices%20on%20Linux.p
df
64
References
20. libqmi
https://www.freedesktop.org/wiki/Software/libqmi/
21. uqmi
http://git.openwrt.org/?p=project/uqmi.git;a=summary
22. ofono
https://01.org/zh/ofono?langredirect=1
23. Linux Kernel
https://www.kernel.org
24. USB: qcserial/option: make AT URCs work for Sierra Wireless MC73xx
https://patchwork.ozlabs.org/patch/433374/
25. M2M_IoTNetworkUsageGuidelines
https://m2mdeveloper.verizon.com/portals/M2M_Management_Center_
Help/images/a/a2/M2M_IoTNetworkUsageGuidelines.pdf
26. libmbim
https://www.freedesktop.org/wiki/Software/libmbim/
27. umbim
http://lxr.mein.io/source/umbim/
28. LTE-U與LAA發展趨勢介紹
http://www.ttc.org.tw/userfiles/file/20151104/20151104090423_
39805.pdf
29. Special thanks to Glen Chiang

More Related Content

What's hot

High-Performance Networking Using eBPF, XDP, and io_uring
High-Performance Networking Using eBPF, XDP, and io_uringHigh-Performance Networking Using eBPF, XDP, and io_uring
High-Performance Networking Using eBPF, XDP, and io_uringScyllaDB
 
Analysis of Open-Source Drivers for IEEE 802.11 WLANs
Analysis of Open-Source Drivers for IEEE 802.11 WLANsAnalysis of Open-Source Drivers for IEEE 802.11 WLANs
Analysis of Open-Source Drivers for IEEE 802.11 WLANsDanh Nguyen
 
Openwrt wireless
Openwrt wirelessOpenwrt wireless
Openwrt wireless晓东 杜
 
Page cache in Linux kernel
Page cache in Linux kernelPage cache in Linux kernel
Page cache in Linux kernelAdrian Huang
 
Kernel Recipes 2015: Representing device-tree peripherals in ACPI
Kernel Recipes 2015: Representing device-tree peripherals in ACPIKernel Recipes 2015: Representing device-tree peripherals in ACPI
Kernel Recipes 2015: Representing device-tree peripherals in ACPIAnne Nicolas
 
LCA14: LCA14-418: Testing a secure framework
LCA14: LCA14-418: Testing a secure frameworkLCA14: LCA14-418: Testing a secure framework
LCA14: LCA14-418: Testing a secure frameworkLinaro
 
Fun with PRB, VRFs and NetNS on Linux - What is it, how does it work, what ca...
Fun with PRB, VRFs and NetNS on Linux - What is it, how does it work, what ca...Fun with PRB, VRFs and NetNS on Linux - What is it, how does it work, what ca...
Fun with PRB, VRFs and NetNS on Linux - What is it, how does it work, what ca...Maximilan Wilhelm
 
re:Invent 2019 BPF Performance Analysis at Netflix
re:Invent 2019 BPF Performance Analysis at Netflixre:Invent 2019 BPF Performance Analysis at Netflix
re:Invent 2019 BPF Performance Analysis at NetflixBrendan Gregg
 
A Journey into Hexagon: Dissecting Qualcomm Basebands
A Journey into Hexagon: Dissecting Qualcomm BasebandsA Journey into Hexagon: Dissecting Qualcomm Basebands
A Journey into Hexagon: Dissecting Qualcomm BasebandsPriyanka Aash
 
Performance Wins with eBPF: Getting Started (2021)
Performance Wins with eBPF: Getting Started (2021)Performance Wins with eBPF: Getting Started (2021)
Performance Wins with eBPF: Getting Started (2021)Brendan Gregg
 
The Linux Block Layer - Built for Fast Storage
The Linux Block Layer - Built for Fast StorageThe Linux Block Layer - Built for Fast Storage
The Linux Block Layer - Built for Fast StorageKernel TLV
 
Linux : The Common Mailbox Framework
Linux : The Common Mailbox FrameworkLinux : The Common Mailbox Framework
Linux : The Common Mailbox FrameworkMr. Vengineer
 
U boot porting guide for SoC
U boot porting guide for SoCU boot porting guide for SoC
U boot porting guide for SoCMacpaul Lin
 
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...Linaro
 
Malware Detection with OSSEC HIDS - OSSECCON 2014
Malware Detection with OSSEC HIDS - OSSECCON 2014Malware Detection with OSSEC HIDS - OSSECCON 2014
Malware Detection with OSSEC HIDS - OSSECCON 2014Santiago Bassett
 
L2/L3 für Fortgeschrittene - Helle und dunkle Magie im Linux-Netzwerkstack
L2/L3 für Fortgeschrittene - Helle und dunkle Magie im Linux-NetzwerkstackL2/L3 für Fortgeschrittene - Helle und dunkle Magie im Linux-Netzwerkstack
L2/L3 für Fortgeschrittene - Helle und dunkle Magie im Linux-NetzwerkstackMaximilan Wilhelm
 
Introduction to eBPF and XDP
Introduction to eBPF and XDPIntroduction to eBPF and XDP
Introduction to eBPF and XDPlcplcp1
 
Linux kernel debugging
Linux kernel debuggingLinux kernel debugging
Linux kernel debugginglibfetion
 
LinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking WalkthroughLinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking WalkthroughThomas Graf
 
Evolution of Openstack Networking at CERN
Evolution of Openstack Networking at CERNEvolution of Openstack Networking at CERN
Evolution of Openstack Networking at CERNBelmiro Moreira
 

What's hot (20)

High-Performance Networking Using eBPF, XDP, and io_uring
High-Performance Networking Using eBPF, XDP, and io_uringHigh-Performance Networking Using eBPF, XDP, and io_uring
High-Performance Networking Using eBPF, XDP, and io_uring
 
Analysis of Open-Source Drivers for IEEE 802.11 WLANs
Analysis of Open-Source Drivers for IEEE 802.11 WLANsAnalysis of Open-Source Drivers for IEEE 802.11 WLANs
Analysis of Open-Source Drivers for IEEE 802.11 WLANs
 
Openwrt wireless
Openwrt wirelessOpenwrt wireless
Openwrt wireless
 
Page cache in Linux kernel
Page cache in Linux kernelPage cache in Linux kernel
Page cache in Linux kernel
 
Kernel Recipes 2015: Representing device-tree peripherals in ACPI
Kernel Recipes 2015: Representing device-tree peripherals in ACPIKernel Recipes 2015: Representing device-tree peripherals in ACPI
Kernel Recipes 2015: Representing device-tree peripherals in ACPI
 
LCA14: LCA14-418: Testing a secure framework
LCA14: LCA14-418: Testing a secure frameworkLCA14: LCA14-418: Testing a secure framework
LCA14: LCA14-418: Testing a secure framework
 
Fun with PRB, VRFs and NetNS on Linux - What is it, how does it work, what ca...
Fun with PRB, VRFs and NetNS on Linux - What is it, how does it work, what ca...Fun with PRB, VRFs and NetNS on Linux - What is it, how does it work, what ca...
Fun with PRB, VRFs and NetNS on Linux - What is it, how does it work, what ca...
 
re:Invent 2019 BPF Performance Analysis at Netflix
re:Invent 2019 BPF Performance Analysis at Netflixre:Invent 2019 BPF Performance Analysis at Netflix
re:Invent 2019 BPF Performance Analysis at Netflix
 
A Journey into Hexagon: Dissecting Qualcomm Basebands
A Journey into Hexagon: Dissecting Qualcomm BasebandsA Journey into Hexagon: Dissecting Qualcomm Basebands
A Journey into Hexagon: Dissecting Qualcomm Basebands
 
Performance Wins with eBPF: Getting Started (2021)
Performance Wins with eBPF: Getting Started (2021)Performance Wins with eBPF: Getting Started (2021)
Performance Wins with eBPF: Getting Started (2021)
 
The Linux Block Layer - Built for Fast Storage
The Linux Block Layer - Built for Fast StorageThe Linux Block Layer - Built for Fast Storage
The Linux Block Layer - Built for Fast Storage
 
Linux : The Common Mailbox Framework
Linux : The Common Mailbox FrameworkLinux : The Common Mailbox Framework
Linux : The Common Mailbox Framework
 
U boot porting guide for SoC
U boot porting guide for SoCU boot porting guide for SoC
U boot porting guide for SoC
 
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
 
Malware Detection with OSSEC HIDS - OSSECCON 2014
Malware Detection with OSSEC HIDS - OSSECCON 2014Malware Detection with OSSEC HIDS - OSSECCON 2014
Malware Detection with OSSEC HIDS - OSSECCON 2014
 
L2/L3 für Fortgeschrittene - Helle und dunkle Magie im Linux-Netzwerkstack
L2/L3 für Fortgeschrittene - Helle und dunkle Magie im Linux-NetzwerkstackL2/L3 für Fortgeschrittene - Helle und dunkle Magie im Linux-Netzwerkstack
L2/L3 für Fortgeschrittene - Helle und dunkle Magie im Linux-Netzwerkstack
 
Introduction to eBPF and XDP
Introduction to eBPF and XDPIntroduction to eBPF and XDP
Introduction to eBPF and XDP
 
Linux kernel debugging
Linux kernel debuggingLinux kernel debugging
Linux kernel debugging
 
LinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking WalkthroughLinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking Walkthrough
 
Evolution of Openstack Networking at CERN
Evolution of Openstack Networking at CERNEvolution of Openstack Networking at CERN
Evolution of Openstack Networking at CERN
 

Viewers also liked

Fast boot
Fast bootFast boot
Fast bootSZ Lin
 
Embedded Linux/ Debian with ARM64 Platform
Embedded Linux/ Debian with ARM64 PlatformEmbedded Linux/ Debian with ARM64 Platform
Embedded Linux/ Debian with ARM64 PlatformSZ Lin
 
y2038 issue
y2038 issuey2038 issue
y2038 issueSZ Lin
 
Learning notes on Open Source License
Learning notes on Open Source License Learning notes on Open Source License
Learning notes on Open Source License SZ Lin
 
Distributed Compiler Icecc
Distributed Compiler IceccDistributed Compiler Icecc
Distributed Compiler IceccSZ Lin
 
Debian 套件打包教學指南 - 繁體中文翻譯
Debian 套件打包教學指南 - 繁體中文翻譯Debian 套件打包教學指南 - 繁體中文翻譯
Debian 套件打包教學指南 - 繁體中文翻譯SZ Lin
 
Debian 套件打包教學指南 v0.19 - 繁體中文翻譯
Debian 套件打包教學指南 v0.19 - 繁體中文翻譯Debian 套件打包教學指南 v0.19 - 繁體中文翻譯
Debian 套件打包教學指南 v0.19 - 繁體中文翻譯SZ Lin
 
淺談 Live patching technology
淺談 Live patching technology淺談 Live patching technology
淺談 Live patching technologySZ Lin
 
QMI Services - Capabilities 2015
QMI Services - Capabilities 2015QMI Services - Capabilities 2015
QMI Services - Capabilities 2015Sean Robinson
 
Marius Oprea - Adevarata fata a lui Traian Basescu
Marius Oprea - Adevarata fata a lui Traian BasescuMarius Oprea - Adevarata fata a lui Traian Basescu
Marius Oprea - Adevarata fata a lui Traian BasescuBalaceanca.net
 
Implementing a Security strategy in IoT, Practical example Automotive Grade L...
Implementing a Security strategy in IoT, Practical example Automotive Grade L...Implementing a Security strategy in IoT, Practical example Automotive Grade L...
Implementing a Security strategy in IoT, Practical example Automotive Grade L...LibreCon
 
Homa Bay has no evidence of Sh342 million spent in 2014-15
Homa Bay has no evidence of Sh342 million spent in 2014-15Homa Bay has no evidence of Sh342 million spent in 2014-15
Homa Bay has no evidence of Sh342 million spent in 2014-15The Star Newspaper
 
TIZEN Application Validation
TIZEN Application ValidationTIZEN Application Validation
TIZEN Application ValidationRyo Jin
 
COS: A Configurable OS for Embedded SoC Systems
COS: A Configurable OS for Embedded SoC SystemsCOS: A Configurable OS for Embedded SoC Systems
COS: A Configurable OS for Embedded SoC SystemsPrateek Anand
 
Contributing to Automotive Grade Linux (AGL) and GENIVI Development Platform ...
Contributing to Automotive Grade Linux (AGL) and GENIVI Development Platform ...Contributing to Automotive Grade Linux (AGL) and GENIVI Development Platform ...
Contributing to Automotive Grade Linux (AGL) and GENIVI Development Platform ...Leon Anavi
 
Opensource將如何對第五代行動通訊(5g)造成革命性的改變
Opensource將如何對第五代行動通訊(5g)造成革命性的改變Opensource將如何對第五代行動通訊(5g)造成革命性的改變
Opensource將如何對第五代行動通訊(5g)造成革命性的改變Chiahan Wu
 
Point-to-Point Protocol(PPP) CCN ppt
Point-to-Point Protocol(PPP) CCN pptPoint-to-Point Protocol(PPP) CCN ppt
Point-to-Point Protocol(PPP) CCN pptNiaz Shaikh
 
Introduction to Optee (26 may 2016)
Introduction to Optee (26 may 2016)Introduction to Optee (26 may 2016)
Introduction to Optee (26 may 2016)Yannick Gicquel
 
LAS16-203: Platform security architecture for embedded devices
LAS16-203: Platform security architecture for embedded devicesLAS16-203: Platform security architecture for embedded devices
LAS16-203: Platform security architecture for embedded devicesLinaro
 

Viewers also liked (20)

Fast boot
Fast bootFast boot
Fast boot
 
Embedded Linux/ Debian with ARM64 Platform
Embedded Linux/ Debian with ARM64 PlatformEmbedded Linux/ Debian with ARM64 Platform
Embedded Linux/ Debian with ARM64 Platform
 
y2038 issue
y2038 issuey2038 issue
y2038 issue
 
Learning notes on Open Source License
Learning notes on Open Source License Learning notes on Open Source License
Learning notes on Open Source License
 
Distributed Compiler Icecc
Distributed Compiler IceccDistributed Compiler Icecc
Distributed Compiler Icecc
 
Debian 套件打包教學指南 - 繁體中文翻譯
Debian 套件打包教學指南 - 繁體中文翻譯Debian 套件打包教學指南 - 繁體中文翻譯
Debian 套件打包教學指南 - 繁體中文翻譯
 
Debian 套件打包教學指南 v0.19 - 繁體中文翻譯
Debian 套件打包教學指南 v0.19 - 繁體中文翻譯Debian 套件打包教學指南 v0.19 - 繁體中文翻譯
Debian 套件打包教學指南 v0.19 - 繁體中文翻譯
 
淺談 Live patching technology
淺談 Live patching technology淺談 Live patching technology
淺談 Live patching technology
 
What is nodejs
What is nodejsWhat is nodejs
What is nodejs
 
QMI Services - Capabilities 2015
QMI Services - Capabilities 2015QMI Services - Capabilities 2015
QMI Services - Capabilities 2015
 
Marius Oprea - Adevarata fata a lui Traian Basescu
Marius Oprea - Adevarata fata a lui Traian BasescuMarius Oprea - Adevarata fata a lui Traian Basescu
Marius Oprea - Adevarata fata a lui Traian Basescu
 
Implementing a Security strategy in IoT, Practical example Automotive Grade L...
Implementing a Security strategy in IoT, Practical example Automotive Grade L...Implementing a Security strategy in IoT, Practical example Automotive Grade L...
Implementing a Security strategy in IoT, Practical example Automotive Grade L...
 
Homa Bay has no evidence of Sh342 million spent in 2014-15
Homa Bay has no evidence of Sh342 million spent in 2014-15Homa Bay has no evidence of Sh342 million spent in 2014-15
Homa Bay has no evidence of Sh342 million spent in 2014-15
 
TIZEN Application Validation
TIZEN Application ValidationTIZEN Application Validation
TIZEN Application Validation
 
COS: A Configurable OS for Embedded SoC Systems
COS: A Configurable OS for Embedded SoC SystemsCOS: A Configurable OS for Embedded SoC Systems
COS: A Configurable OS for Embedded SoC Systems
 
Contributing to Automotive Grade Linux (AGL) and GENIVI Development Platform ...
Contributing to Automotive Grade Linux (AGL) and GENIVI Development Platform ...Contributing to Automotive Grade Linux (AGL) and GENIVI Development Platform ...
Contributing to Automotive Grade Linux (AGL) and GENIVI Development Platform ...
 
Opensource將如何對第五代行動通訊(5g)造成革命性的改變
Opensource將如何對第五代行動通訊(5g)造成革命性的改變Opensource將如何對第五代行動通訊(5g)造成革命性的改變
Opensource將如何對第五代行動通訊(5g)造成革命性的改變
 
Point-to-Point Protocol(PPP) CCN ppt
Point-to-Point Protocol(PPP) CCN pptPoint-to-Point Protocol(PPP) CCN ppt
Point-to-Point Protocol(PPP) CCN ppt
 
Introduction to Optee (26 may 2016)
Introduction to Optee (26 may 2016)Introduction to Optee (26 may 2016)
Introduction to Optee (26 may 2016)
 
LAS16-203: Platform security architecture for embedded devices
LAS16-203: Platform security architecture for embedded devicesLAS16-203: Platform security architecture for embedded devices
LAS16-203: Platform security architecture for embedded devices
 

Similar to Cellular technology with Embedded Linux - COSCUP 2016

2015_01 - Networking Session - SPHMMC ICT workshop
2015_01 - Networking Session - SPHMMC ICT workshop2015_01 - Networking Session - SPHMMC ICT workshop
2015_01 - Networking Session - SPHMMC ICT workshopKathleen Ludewig Omollo
 
Tesla Hacking to FreedomEV
Tesla Hacking to FreedomEVTesla Hacking to FreedomEV
Tesla Hacking to FreedomEVJasper Nuyens
 
20160927-tierney-improving-performance-40G-100G-data-transfer-nodes.pdf
20160927-tierney-improving-performance-40G-100G-data-transfer-nodes.pdf20160927-tierney-improving-performance-40G-100G-data-transfer-nodes.pdf
20160927-tierney-improving-performance-40G-100G-data-transfer-nodes.pdfJunZhao68
 
Black Hat USA 2022 - Arsenal Labs - Vehicle Control Systems - Red vs Blue
Black Hat USA 2022 - Arsenal Labs - Vehicle Control Systems - Red vs BlueBlack Hat USA 2022 - Arsenal Labs - Vehicle Control Systems - Red vs Blue
Black Hat USA 2022 - Arsenal Labs - Vehicle Control Systems - Red vs BlueChris Sistrunk
 
cFrame framework slides
cFrame framework slidescFrame framework slides
cFrame framework slideskestasj
 
Rete di casa e raspberry pi - Home network and Raspberry Pi
Rete di casa e raspberry pi - Home network and Raspberry Pi Rete di casa e raspberry pi - Home network and Raspberry Pi
Rete di casa e raspberry pi - Home network and Raspberry Pi Daniele Albrizio
 
CIF16: Building the Superfluid Cloud with Unikernels (Simon Kuenzer, NEC Europe)
CIF16: Building the Superfluid Cloud with Unikernels (Simon Kuenzer, NEC Europe)CIF16: Building the Superfluid Cloud with Unikernels (Simon Kuenzer, NEC Europe)
CIF16: Building the Superfluid Cloud with Unikernels (Simon Kuenzer, NEC Europe)The Linux Foundation
 
[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...
[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...
[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...OpenStack Korea Community
 
Building PoC ready ODM Platforms with Arm SystemReady v5.2.pdf
Building PoC ready ODM Platforms with Arm SystemReady v5.2.pdfBuilding PoC ready ODM Platforms with Arm SystemReady v5.2.pdf
Building PoC ready ODM Platforms with Arm SystemReady v5.2.pdfPaul Yang
 
Building the SD-Branch using uCPE
Building the SD-Branch using uCPEBuilding the SD-Branch using uCPE
Building the SD-Branch using uCPEMichelle Holley
 
Ocpeu14
Ocpeu14Ocpeu14
Ocpeu14KALRAY
 
Workshop: IMS & VoLTE in minutes
Workshop: IMS & VoLTE in minutesWorkshop: IMS & VoLTE in minutes
Workshop: IMS & VoLTE in minutesCarsten Bock
 
DEF CON 27 - XIAOHUIHUI - all the 4g modules could be hacked
DEF CON 27 - XIAOHUIHUI - all the 4g modules could be hackedDEF CON 27 - XIAOHUIHUI - all the 4g modules could be hacked
DEF CON 27 - XIAOHUIHUI - all the 4g modules could be hackedFelipe Prado
 
UGM 2015: X1149 workshop
UGM 2015: X1149 workshopUGM 2015: X1149 workshop
UGM 2015: X1149 workshopInterlatin
 
PLNOG 13: Krzysztof Konkowski: Cisco Access Architectures: GPON, Ethernet, Ac...
PLNOG 13: Krzysztof Konkowski: Cisco Access Architectures: GPON, Ethernet, Ac...PLNOG 13: Krzysztof Konkowski: Cisco Access Architectures: GPON, Ethernet, Ac...
PLNOG 13: Krzysztof Konkowski: Cisco Access Architectures: GPON, Ethernet, Ac...PROIDEA
 
Webinar: Comunicação TCP/IP segura
Webinar: Comunicação TCP/IP seguraWebinar: Comunicação TCP/IP segura
Webinar: Comunicação TCP/IP seguraEmbarcados
 

Similar to Cellular technology with Embedded Linux - COSCUP 2016 (20)

uCluster
uClusteruCluster
uCluster
 
2015_01 - Networking Session - SPHMMC ICT workshop
2015_01 - Networking Session - SPHMMC ICT workshop2015_01 - Networking Session - SPHMMC ICT workshop
2015_01 - Networking Session - SPHMMC ICT workshop
 
Tesla Hacking to FreedomEV
Tesla Hacking to FreedomEVTesla Hacking to FreedomEV
Tesla Hacking to FreedomEV
 
20160927-tierney-improving-performance-40G-100G-data-transfer-nodes.pdf
20160927-tierney-improving-performance-40G-100G-data-transfer-nodes.pdf20160927-tierney-improving-performance-40G-100G-data-transfer-nodes.pdf
20160927-tierney-improving-performance-40G-100G-data-transfer-nodes.pdf
 
Black Hat USA 2022 - Arsenal Labs - Vehicle Control Systems - Red vs Blue
Black Hat USA 2022 - Arsenal Labs - Vehicle Control Systems - Red vs BlueBlack Hat USA 2022 - Arsenal Labs - Vehicle Control Systems - Red vs Blue
Black Hat USA 2022 - Arsenal Labs - Vehicle Control Systems - Red vs Blue
 
cFrame framework slides
cFrame framework slidescFrame framework slides
cFrame framework slides
 
Rete di casa e raspberry pi - Home network and Raspberry Pi
Rete di casa e raspberry pi - Home network and Raspberry Pi Rete di casa e raspberry pi - Home network and Raspberry Pi
Rete di casa e raspberry pi - Home network and Raspberry Pi
 
CIF16: Building the Superfluid Cloud with Unikernels (Simon Kuenzer, NEC Europe)
CIF16: Building the Superfluid Cloud with Unikernels (Simon Kuenzer, NEC Europe)CIF16: Building the Superfluid Cloud with Unikernels (Simon Kuenzer, NEC Europe)
CIF16: Building the Superfluid Cloud with Unikernels (Simon Kuenzer, NEC Europe)
 
[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...
[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...
[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...
 
Building PoC ready ODM Platforms with Arm SystemReady v5.2.pdf
Building PoC ready ODM Platforms with Arm SystemReady v5.2.pdfBuilding PoC ready ODM Platforms with Arm SystemReady v5.2.pdf
Building PoC ready ODM Platforms with Arm SystemReady v5.2.pdf
 
Building the SD-Branch using uCPE
Building the SD-Branch using uCPEBuilding the SD-Branch using uCPE
Building the SD-Branch using uCPE
 
Ocpeu14
Ocpeu14Ocpeu14
Ocpeu14
 
Bell4GLTE
Bell4GLTEBell4GLTE
Bell4GLTE
 
Workshop: IMS & VoLTE in minutes
Workshop: IMS & VoLTE in minutesWorkshop: IMS & VoLTE in minutes
Workshop: IMS & VoLTE in minutes
 
Um basic config_l2p_rel71_en
Um basic config_l2p_rel71_enUm basic config_l2p_rel71_en
Um basic config_l2p_rel71_en
 
Ccna Imp Guide
Ccna Imp GuideCcna Imp Guide
Ccna Imp Guide
 
DEF CON 27 - XIAOHUIHUI - all the 4g modules could be hacked
DEF CON 27 - XIAOHUIHUI - all the 4g modules could be hackedDEF CON 27 - XIAOHUIHUI - all the 4g modules could be hacked
DEF CON 27 - XIAOHUIHUI - all the 4g modules could be hacked
 
UGM 2015: X1149 workshop
UGM 2015: X1149 workshopUGM 2015: X1149 workshop
UGM 2015: X1149 workshop
 
PLNOG 13: Krzysztof Konkowski: Cisco Access Architectures: GPON, Ethernet, Ac...
PLNOG 13: Krzysztof Konkowski: Cisco Access Architectures: GPON, Ethernet, Ac...PLNOG 13: Krzysztof Konkowski: Cisco Access Architectures: GPON, Ethernet, Ac...
PLNOG 13: Krzysztof Konkowski: Cisco Access Architectures: GPON, Ethernet, Ac...
 
Webinar: Comunicação TCP/IP segura
Webinar: Comunicação TCP/IP seguraWebinar: Comunicação TCP/IP segura
Webinar: Comunicação TCP/IP segura
 

More from SZ Lin

Industry Insights Common Pitfalls and Key Considerations in Using Software Bi...
Industry Insights Common Pitfalls and Key Considerations in Using Software Bi...Industry Insights Common Pitfalls and Key Considerations in Using Software Bi...
Industry Insights Common Pitfalls and Key Considerations in Using Software Bi...SZ Lin
 
Select, manage, and backport the long term stable kernels
Select, manage, and backport the long term stable kernelsSelect, manage, and backport the long term stable kernels
Select, manage, and backport the long term stable kernelsSZ Lin
 
Manage kernel vulnerabilities in the software development lifecycle
Manage kernel vulnerabilities in the software development lifecycleManage kernel vulnerabilities in the software development lifecycle
Manage kernel vulnerabilities in the software development lifecycleSZ Lin
 
OpenChain 2.0 specification in a nutshell
OpenChain 2.0 specification in a nutshellOpenChain 2.0 specification in a nutshell
OpenChain 2.0 specification in a nutshellSZ Lin
 
OpenChain - The Industry Standard for Open Source Compliance
OpenChain - The Industry Standard for Open Source ComplianceOpenChain - The Industry Standard for Open Source Compliance
OpenChain - The Industry Standard for Open Source ComplianceSZ Lin
 
Design, Build,and Maintain the Embedded Linux Platform
Design, Build,and Maintain the Embedded Linux PlatformDesign, Build,and Maintain the Embedded Linux Platform
Design, Build,and Maintain the Embedded Linux PlatformSZ Lin
 
[ELCE] Activities of super long term support kernel workgroup in civil infras...
[ELCE] Activities of super long term support kernel workgroup in civil infras...[ELCE] Activities of super long term support kernel workgroup in civil infras...
[ELCE] Activities of super long term support kernel workgroup in civil infras...SZ Lin
 
Using open source software to build an industrial grade embedded linux platfo...
Using open source software to build an industrial grade embedded linux platfo...Using open source software to build an industrial grade embedded linux platfo...
Using open source software to build an industrial grade embedded linux platfo...SZ Lin
 
Take a step forward from user to maintainer or developer in open source secur...
Take a step forward from user to maintainer or developer in open source secur...Take a step forward from user to maintainer or developer in open source secur...
Take a step forward from user to maintainer or developer in open source secur...SZ Lin
 
Software update for embedded systems
Software update for embedded systemsSoftware update for embedded systems
Software update for embedded systemsSZ Lin
 
OpenChain spec 2.0 繁體中文
OpenChain spec 2.0 繁體中文OpenChain spec 2.0 繁體中文
OpenChain spec 2.0 繁體中文SZ Lin
 
Introduction to Civil Infrastructure Platform
Introduction to Civil Infrastructure PlatformIntroduction to Civil Infrastructure Platform
Introduction to Civil Infrastructure PlatformSZ Lin
 
Long-term Maintenance Model of Embedded Industrial Linux Distribution
Long-term Maintenance Model of Embedded Industrial Linux DistributionLong-term Maintenance Model of Embedded Industrial Linux Distribution
Long-term Maintenance Model of Embedded Industrial Linux DistributionSZ Lin
 
Building, deploying and testing an industrial linux platform @ Open source su...
Building, deploying and testing an industrial linux platform @ Open source su...Building, deploying and testing an industrial linux platform @ Open source su...
Building, deploying and testing an industrial linux platform @ Open source su...SZ Lin
 

More from SZ Lin (14)

Industry Insights Common Pitfalls and Key Considerations in Using Software Bi...
Industry Insights Common Pitfalls and Key Considerations in Using Software Bi...Industry Insights Common Pitfalls and Key Considerations in Using Software Bi...
Industry Insights Common Pitfalls and Key Considerations in Using Software Bi...
 
Select, manage, and backport the long term stable kernels
Select, manage, and backport the long term stable kernelsSelect, manage, and backport the long term stable kernels
Select, manage, and backport the long term stable kernels
 
Manage kernel vulnerabilities in the software development lifecycle
Manage kernel vulnerabilities in the software development lifecycleManage kernel vulnerabilities in the software development lifecycle
Manage kernel vulnerabilities in the software development lifecycle
 
OpenChain 2.0 specification in a nutshell
OpenChain 2.0 specification in a nutshellOpenChain 2.0 specification in a nutshell
OpenChain 2.0 specification in a nutshell
 
OpenChain - The Industry Standard for Open Source Compliance
OpenChain - The Industry Standard for Open Source ComplianceOpenChain - The Industry Standard for Open Source Compliance
OpenChain - The Industry Standard for Open Source Compliance
 
Design, Build,and Maintain the Embedded Linux Platform
Design, Build,and Maintain the Embedded Linux PlatformDesign, Build,and Maintain the Embedded Linux Platform
Design, Build,and Maintain the Embedded Linux Platform
 
[ELCE] Activities of super long term support kernel workgroup in civil infras...
[ELCE] Activities of super long term support kernel workgroup in civil infras...[ELCE] Activities of super long term support kernel workgroup in civil infras...
[ELCE] Activities of super long term support kernel workgroup in civil infras...
 
Using open source software to build an industrial grade embedded linux platfo...
Using open source software to build an industrial grade embedded linux platfo...Using open source software to build an industrial grade embedded linux platfo...
Using open source software to build an industrial grade embedded linux platfo...
 
Take a step forward from user to maintainer or developer in open source secur...
Take a step forward from user to maintainer or developer in open source secur...Take a step forward from user to maintainer or developer in open source secur...
Take a step forward from user to maintainer or developer in open source secur...
 
Software update for embedded systems
Software update for embedded systemsSoftware update for embedded systems
Software update for embedded systems
 
OpenChain spec 2.0 繁體中文
OpenChain spec 2.0 繁體中文OpenChain spec 2.0 繁體中文
OpenChain spec 2.0 繁體中文
 
Introduction to Civil Infrastructure Platform
Introduction to Civil Infrastructure PlatformIntroduction to Civil Infrastructure Platform
Introduction to Civil Infrastructure Platform
 
Long-term Maintenance Model of Embedded Industrial Linux Distribution
Long-term Maintenance Model of Embedded Industrial Linux DistributionLong-term Maintenance Model of Embedded Industrial Linux Distribution
Long-term Maintenance Model of Embedded Industrial Linux Distribution
 
Building, deploying and testing an industrial linux platform @ Open source su...
Building, deploying and testing an industrial linux platform @ Open source su...Building, deploying and testing an industrial linux platform @ Open source su...
Building, deploying and testing an industrial linux platform @ Open source su...
 

Recently uploaded

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 

Recently uploaded (20)

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 

Cellular technology with Embedded Linux - COSCUP 2016

  • 1. 打造自己的IoT Cellular Technology with Embedded Linux SZ LIN szlin@cs.nctu.edu.tw 1 Date: 2016/8/21
  • 2. 2 SZLIN ➔ Taiwan Industrial Grade Linux Distribution ➔ Debian Maintainer ➔ Blog: https://szlin.me About Me
  • 3. 3
  • 4. 4
  • 5. 5
  • 6. 6
  • 7. 7
  • 8. 8 Prepare Cellular Interface Enable device driver and cellular utility Get proper Cellular Module and SIM card 4321 Steps to Build Your Own IoT Hands-on Experience
  • 9. 9 Analog Cellular - AMPS -TACS - NMT * 14.4 kbps Digital NarrowBand Circuit Data - GSM - D-AMPS - PHS * 9.6/ 14.4 kbps Packet Data - GPRS - CDMA2000 1xRTT - EDGE * 171.2 kbps Digital Broadband Packet Data - UMTS - CDMA2000 1xEV-DO * 3.1 Mbps Digital Broadband Packet Data - HSPA+ - LTE - WiMAX (IEEE 802.16e) * 14.4 Mbps Digital Broadband Packet Data * All IP network - LTE Advanced - WiMAX (IEEE 802.16m) * Cat. 6: 300/50 Mbps 1G 2G 3G 4 G Cellular Network Generation 2.5/ 2.75G 3.5/ 3.75/ 3.9 G
  • 10. 10 Analog Cellular - AMPS -TACS - NMT * 14.4 kbps Digital NarrowBand Circuit Data - GSM - D-AMPS - PHS * 9.6/ 14.4 kbps Packet Data - GPRS - CDMA2000 1xRTT - EDGE * 171.2 kbps Digital Broadband Packet Data - UMTS - CDMA2000 1xEV-DO * 3.1 Mbps Digital Broadband Packet Data - HSPA+ - LTE - WiMAX (IEEE 802.16e) * 14.4 Mbps Digital Broadband Packet Data All IP network - LTE Advanced - WiMAX (IEEE 802.16m) * Cat. 6: 300/50 Mbps 1G 2G 3G 4 G Cellular Network Generation 2.5/ 2.75G 3.5/ 3.75/ 3.9 G Taiwan is phasing out 2G cellular on 2017-6-30 to make way for more 4G bandwidth ref: http://www.ncc.gov.tw/chinese/print.aspx?table_name=news&site_content_sn=8&sn_f=33421
  • 11. 11 Prepare Cellular Interface Get proper Cellular Module and SIM card 4321 Steps to Build Your Own IoT Enable device driver and cellular utility FAQ
  • 13. 13 BANANA SoC Built-in cellular function Board buit-in Mini-PCIe slot Mini-PCIe to USB Connector
  • 15. 15 Board Built-in Mini-PCIe Slot USB signal
  • 16. 16 Mini PCI-E to USB Adapter With SIM Card and Case Slot USB signal
  • 17. 17 Prepare Cellular Interface Get proper Cellular Module and SIM card 4321 Enable device driver and cellular utility Hands-on Experience
  • 18. 18 LTE frequency bands ➢ 3GPP Release 8 defines 5 LTE user equipment categories depending on maximum peak data rate and MIMO capabilities support [1] ➢ CAT 3, CAT 4 modules took up a dominant share of cellular market so far ➢ Some new modules start to support CAT6 LTE Category ➢ The definition is in 3GPP TS 36.101 ➢ The available band might be different in different country Get Proper Cellular Module Module PIN definition ➢ Make sure the PIN definition between slot and module are the same
  • 20. 20 LTE category [9] Aggregating up to 40 MHz of bandwidth
  • 21. 21 Prepare Cellular Interface Get proper Cellular Module and SIM card 4321 Enable device driver and cellular utility Hands-on Experience
  • 22. 22 Data Path Interface Control Path ProtocolBANANA
  • 23. 23 Control Path Protocol Data Path Interface 1. AT commands 2. QMI (after kernel v3.4 ) 3. MBIM (after kernel v3.8) 1. ppp (ttyUSB or cdc-acm) 2. RNDIS (cdc-ecm) 3. QMI (cdc-wdm) 4. MBIM (cdc-mbim) * This table only lists information which I have handled
  • 24. 24 Control Path Protocol Data Path Interface 1. AT commands 2. QMI (after kernel v3.4 ) 3. MBIM (after kernel v3.8) 1. ppp (ttyUSB or cdc-acm) 2. RNDIS (cdc-ecm) 3. QMI (cdc-wdm) 4. MBIM (cdc-mbim)
  • 25. 25 AT commands - Hayes command set [2][3] ❏ Developed by Dennis Hayes ❏ A series of short text strings which can be combined to produce commands for operations • dialing • hanging up • changing the parameters ❏ “AT” meaning 'attention’
  • 26. 26 AT commands - Hayes command set [2][3] Standard format of AT commands AT+ Proprietary format of AT commands AT!, AT^ or AT$ etc..
  • 27. 27 AT commands - Utility
  • 28. 28 Control Path Protocol Data Path Interface 1. AT commands 2. QMI (after kernel v3.4 ) 3. MBIM (after kernel v3.8) 1. ppp (ttyUSB or cdc-acm) 2. RNDIS (cdc-ecm) 3. QMI (cdc-wdm) 4. MBIM (cdc-mbim)
  • 29. 29 Dial-up by using PPP [5] Not a Recommended way 6+ steps to dial up with ppp 1. Install the packages in Debian/ Ubuntu ➢ apt-get install netbase ifupdown ppp 2. Create a file /etc/ppp/peers/gprs with this content 3. Edit /etc/ppp/chap-secrets 4. Edit /etc/ppp/pap-secrets 5. Edit /etc/network/interfaces 6. ifup gprs 7. !@#$%^&*()_ ref: https://c1.staticflickr.com/5/4150/5067471752_1fa8a4ab15.jpg
  • 30. 30 Dial-up by using wvdial [6]
  • 31. 31 1. apt-get install wvdial 2. edit /etc/wvdial.conf 3. wvdial Dial-up by using wvdial [6]
  • 32. 32 Get IP by using DHCP
  • 33. 33 Control Path Protocol Data Path Interface 1. AT commands 2. QMI (after kernel v3.4 ) 3. MBIM (after kernel v3.8) 1. ppp (ttyUSB or cdc-acm) 2. RNDIS (cdc-ecm) 3. QMI (cdc-wdm) 4. MBIM (cdc-mbim) serial interface Non serial interface
  • 34. 34 Ethernet Networking Control Model CDC_ECM + RNDIS - Ethernet over USB [16] Virtual Interface RNDIS Virtual Interface … Cellular Module – Router mode IPTABLES - NAT IP Stack DHCPDNS➢ RNDIS - Proprietary protocol developed by Microsoft ➢ “virtual Ethernet” functionality ➢ Support USB high speed ○ Not suitable for the module which are for more than CAT 6
  • 35. 35 Ethernet Networking Control Model CDC_ECM + RNDIS - Ethernet over USB Virtual Interface RNDIS Virtual Interface … Cellular Module – Router mode IPTABLES - NAT IP Stack DHCPDNS Virtual Interface RNDIS Virtual Interface … Cellular Module – Bridge mode IPTABLES - NATIP Stack DHCPDNS
  • 36. 36 Ethernet Networking Control Model Driver option in Linux kernel
  • 37. 37 Ethernet Networking Control Model CDC_ECM + RNDIS
  • 38. 38 Control Path Protocol Data Path Interface 1. AT commands 2. QMI (after kernel v3.4 ) 3. MBIM (after kernel v3.8) 1. ppp (ttyUSB or cdc-acm) 2. RNDIS (cdc-ecm) 3. QMI (cdc-wdm) 4. MBIM (cdc-mbim)
  • 39. 39 ➔ LTE baseband market with 65% [17] ➔ Obsolete AT command and serial interface • Compatibility • Logical Bandwidth ➔ Propose unique value proposition
  • 40. 40 QMI (Qualcomm MSM Interface) ◆ Linux Kernel 3.4 • qmi_wwan ◆ Define network services • NAS (network access) • PDS (gps location) • UIM (user identity module) • WDS (wireless data) • DMS (device management) • … ◆ Binary protocol
  • 41. 41 QMI (Qualcomm MSM Interface) Device Driver Owner User-space GobiSerial GobiNet qcserial option qmi_wwan Qualcomm Open Source Community GobiAPI •Sierra Wireless SDK •… libqmi (freedesktop.org) uqmi (openWRT) ofono (INTEL)
  • 42. 42 QMI (Qualcomm MSM Interface) drivers/net/usb/qmi_wwan.c ➢ Net Driver dependence ➢ Related information
  • 43. 43 QMI (Qualcomm MSM Interface) drivers/usb/serial/qcserial.c & drivers/usb/serial/option.c ➢ Serial Driver dependence qcserial option
  • 44. 44 QMI (Qualcomm MSM Interface) When to use option instead of qcserial
  • 45. 45 QMI (Qualcomm MSM Interface) Move qcserial to option
  • 46. 46 QMI (Qualcomm MSM Interface) LIBQMI Mailing lists libqmi-devel@lists.freedesktop.org
  • 47. 47 Control Path Protocol Data Path Interface 1. AT commands 2. QMI (after kernel v3.4 ) 3. MBIM (after kernel v3.8) 1. ppp (ttyUSB or cdc-acm) 2. RNDIS (cdc-ecm) 3. QMI (cdc-wdm) 4. MBIM (cdc-mbim) ➔ extends cdc-ncm (Network Control Model)
  • 48. 48 Mobile Broadband Interface Model (MBIM) ◆USB-IF Standard (Extends NCM) • Microsoft • Intel • HP • … ◆Linux Kernel 3.8 • cdc_mbim ◆Binary protocol ◆Raw IP ◆MBIM could embedded different protocols • QMI • …
  • 49. 49 Mobile Broadband Interface Model (MBIM) ➢ MBIM extends the NCM as a protocol with the difference that devices transfer raw IP packets instead of packets with 802.3 headers ➢ NCM ○ 802.3 headers ➢ NCM/ MBIM ○ Raw IP ○ Control path
  • 50. 50 Mobile Broadband Interface Model (MBIM) Device Driver Owner User-space cdc_mbim Open Source Community libmbim (freedesktop.org) umbim (openWRT)
  • 51. 51 Mobile Broadband Interface Model (MBIM) LIBMBIM Mailing lists libmbim-devel@lists.freedesktop.org
  • 52. 52 Prepare Cellular Interface Get proper Cellular Module and SIM card 4321 Enable device driver and cellular utility Hands-on Experience
  • 55. 55 Use command “dmesg” to find out the idVendor and idProduct of cellular module. Use command “grep -r "1199" drivers/net/usb/” to find out which driver does it use. Lazy is the greatest motivation behind progress
  • 56. 56 Hands-on Experience – FAQ Dial-up failed ! Check steps one by one • Check the band of SIM card is matched with cellular module • Check SIM card is ready or not (Make sure PIN code is correct) • Check cellular signal is good enough • Make sure SIM card's supporting band is the same with the cellular module • Make sure the firmware of cellular module is the same with the ISP • Make sure cellular module is connected properly to your antenna (MAIN/ AUX) • Make sure the mode of module firmware is configured properly • Make sure wireless disable function is OFF
  • 57. 57 Hands-on Experience – FAQ My connection is disconnected ! Check steps one by one • Check cellular signal from base station • Make sure cellular module is not in idle mode • Make sure MTU is configured properly
  • 60. 60 Hands-on Experience – FAQ Make sure MTU is configured properly This forces the packet to be fragmented, and the fragmented packets are not be re-assembled. M2M IoT Network Usage Guidelines [25]
  • 61. 61 Conclusion Enable LTE-A module require more fundamental knowledge ➢ Band, carrier, firmware, antenna, etc… 1 2 3 Future Prospects ➢ MBIM ➢ 3GPP Rel. 12 ○ LTE-U ➢ 3GPP Rel. 13 ○ LTE-LAA Fault tolerance mechanism ➢ We cannot control status of base station and carrier
  • 63. 63 References 1. E-UTRA https://en.wikipedia.org/wiki/E-UTRA 2.海斯命令集 https://zh.wikipedia.org/wiki/%E6%B5%B7%E6%96%AF%E5%91%BD%E4%BB%A4%E9%9B %86 3. Hayes_command_set https://en.wikipedia.org/wiki/Hayes_command_set 4. Wvdial https://en.wikipedia.org/wiki/WvDial 5. Modem3G https://wiki.debian.org/Modem/3G 6. Wvdial - github https://github.com/wlach/wvdial 7. modem-cmd https://github.com/imZack/modem-cmd 8. E-UTRA https://en.wikipedia.org/wiki/E-UTRA 9. LTE UE Category & Class Definitions http://www.radio-electronics.com/info/cellulartelecomms/lte-long-term-evolution/ue-cat egory-categories-classes.php 10. Qualcomm Gobi devices in Linux based systems http://www.lanedo.com/documents/Qualcomm%20Gobi%20devices%20on%20Linux.pdf 11. LTE band http://niviuk.free.fr/lte_band.php 12. Cellular network https://en.wikipedia.org/wiki/Cellular_network 13. 1g 2g 2.5g 3g 3.5g 4g comparisons, peak speed, real speed, carriers https://www.youtube.com/watch?v=_3k5Iic4pWI 14. Project mangOH http://source.sierrawireless.com/blog/2016/3/next-on-mangoh/ 15.長期演進技術 https://zh.wikipedia.org/wiki/%E9%95%B7%E6%9C%9F%E6%BC%94%E9%80%B2%E6% 8A%80%E8%A1%93 16. RNDIS https://en.wikipedia.org/wiki/RNDIS 17. Qualcomm news http://www.prnewswire.com/news-releases/abi-research-reports-qualcomm-maintain s-clear-leadership-in-the-lte-baseband-market-with-65-share-but-faces-mou nting-captive-market-competition-300222968.html 18. Mobile broadband modem control protocols http://www.lanedo.com/users/amorgado/talks/FOSDEM2013%20-%20Mobile%20broa dband%20modem%20control%20protocols.pdf 19. Qualcomm Gobi devices in Linux based systems http://www.lanedo.com/documents/Qualcomm%20Gobi%20devices%20on%20Linux.p df
  • 64. 64 References 20. libqmi https://www.freedesktop.org/wiki/Software/libqmi/ 21. uqmi http://git.openwrt.org/?p=project/uqmi.git;a=summary 22. ofono https://01.org/zh/ofono?langredirect=1 23. Linux Kernel https://www.kernel.org 24. USB: qcserial/option: make AT URCs work for Sierra Wireless MC73xx https://patchwork.ozlabs.org/patch/433374/ 25. M2M_IoTNetworkUsageGuidelines https://m2mdeveloper.verizon.com/portals/M2M_Management_Center_ Help/images/a/a2/M2M_IoTNetworkUsageGuidelines.pdf 26. libmbim https://www.freedesktop.org/wiki/Software/libmbim/ 27. umbim http://lxr.mein.io/source/umbim/ 28. LTE-U與LAA發展趨勢介紹 http://www.ttc.org.tw/userfiles/file/20151104/20151104090423_ 39805.pdf 29. Special thanks to Glen Chiang