SlideShare una empresa de Scribd logo
1 de 37
Descargar para leer sin conexión
Linux-wpan: IEEE 802.15.4
and 6LoWPAN in Linux
Linaro Connect BUD17
2017-03-06, Budapest
Stefan Schmidt
stefan@osg.samsung.com
Samsung Open Source Group
Agenda
● Motivation
● Linux-wpan Project
● Hardware
● Configuration
● Communication
● Edge Node OS
Motivation
IEEE 802.15.4
● IEEE specifications for Low-Rate Wireless
Personal Area Networks
● Not only low-rate, but also low-power
● Designed for small sensors to run months/years
on battery with the right duty cycle
● 127 bytes MTU and 250 kbit/s
● Sometimes confused with ZigBee as it is used
as PHY and MAC layer there
6LoWPAN
● A series of IETF specifications, started in 2007
● IPv6 over LoWPAN (IEEE 802.15.4)
● Direct IP addressing of nodes
● Adaptation layer between data-link and network
layer
● Address autoconfiguration
● Frame encapsulation and fragmentation
● Header compressions
6LoWPAN
● Physical and MAC layer defined by IEEE 802.15.4
from 2003 onwards (latest update from 2015)
● Series of IETF specifications from 2007 onwards
(RFCs 4944, 6282, etc)
L3 Network Layer
L4 Transport Layer
L1 Physical Layer
L5 Application Layer
L2 Data Link Layer
IP
TCP | UDP | ICMP
Ethernet PHY
Application
Ethernet MAC
IPv6
UDP | ICMPv6
6LoWPAN
IEEE 802.15.4 PHY
Application
IEEE 802.15.4 MAC
The Header Size Problem
● Worst-case scenario calculations
● Maximum frame size in IEEE 802.15.4: 127 bytes
● Reduced by the max. frame header (25 bytes): 102 bytes
● Reduced by highest link-layer security (21 bytes): 81 bytes
● Reduced by standard IPv6 header (40 bytes): 41 bytes
● Reduced by standard UDP header (8 bytes): 33 bytes
● This leaves only 33 bytes for actual payload
● The rest of the space is used by headers (~ 3:1 ratio)
Frame Header (25) LLSEC (21) IPv6 Header (40) UDP Payload (33)
The Header Size Solution
● IPv6 with link-local and UDP on top
● IPHC with NHC for UDP
● The 48 bytes IPv6 + UDP header could in
the best cases be reduced to 6 bytes
● That allows for a payload of 75 bytes (~ 2:3
ratio)
Frame Header (25) LLSEC (21) 6 Payload (75)
Dispatch (1) LOWPAN_IPHC (1) LOWPAN_NHC (1) UDP Ports (1) UDP Checksum (2)
Linux-wpan
● Platforms already running Linux would benefit from
native IEEE 802.15.4 and 6LoWPAN subsystems
● IEEE 802.15.4 transceivers can easily be added to
existing hardware designs
● Battery powered sensors on the other hand are
more likely to run an OS like RIOT or Contiki
● Example 1: Google OnHub AP which already comes
with, de-activated, IEEE 802.15.4 hardware
● Example 2: Ci40 Creator board as home IoT hub
Linux-wpan Project
Linux-wpan Project
● IEEE 802.15.4 and 6LoWPAN support in mainline
● Started in 2008 as linux-zigbee project, from 2012
mainline
● New project name to avoid confusion: linux-wpan
● Normal kernel development model
● Patches are posted and reviewed on the mailing list
● Small community: 2 core devs and ~4 additional people
for specific drivers
● Linux-wpan mailing list (~96 people), IRC (~29 people)
Current Status
● ieee802154 layer with softMAC driver for various
transceivers
●
6LoWPAN with fragmentation and reassembly (RFC 4944)
●
Header compression with IPHC and NHC for UDP
(RFC 6282), shared with Bluetooth subsystem
●
Link Layer Security
●
Testing between Linux, RIOT and Contiki
●
Mainline 4.1 onwards recommended
●
Active development, newer is better :-)
Hardware
Development Boards
● MIPS based Ci40 Creator (CA-8210)
● Raspberry Pi with Openlabs shield (AT86RF233)
● Transceivers can be hooked up via SPI
(all drivers have devicetree bindings)
● ATUSB dongle
● 96 board with on-board transceiver?
Werner Almesberger, CC-BY-SA 3.0
Permission granted by Imagination Technologies
Hardware
Requirements
● Very easy to add to your current dev
board or product
● Free SPI port plus some additional free
GPIO pins (number varies by transceiver)
● Off the shelf modules or directly added to
your design
● Alternatively you could use USB
Devicetree Bindings
● Boards need
devicetree support
● All our drivers have
bindings
● Example for the
at86rf233:
&spi {
status = "okay";
at86rf233@0 {
compatible = "atmel,at86rf233";
spi-max-frequency = <6000000>;
reg = <0>;
interrupts = <23 4>;
interrupt-parent = <&gpio>;
reset-gpio = <&gpio 24 1>;
sleep-gpio = <&gpio 25 1>;
xtal-trim = /bits/ 8 <0x0F>;
};
};
Hardware Support
● Mainline drivers for at86rf2xx, mrf24j40,
cc2520, atusb and adf7242
● Pending driver for ca-8210
● Driver for MCR20A in the works
● Old out of tree driver for Xbee
● ATUSB dongle to be used on your
workstation
Transceiver Comparison
Chipset Interface Driver 2.4 GHz Sub GHz ARET IEEE specs
ADF7242 SPI or PMOD ✔ ✔ ✘ ✔ 2003-2006
AT86RF212 SPI + GPIO ✔ ✘ ✔ ✔ 2003-2006
AT86RF212b SPI + GPIO ✔ ✘ ✔ ✔ 2003-2011
AT86RF215 SPI + GPIO +
LVDS
✘ ✔ ✔ ✔ 2003-2011,
15.4g
AT86RF230 SPI + GPIO ✘ ✔ ✘ ✔ 2003
AT86RF231 SPI + GPIO ✔ ✔ ✘ ✔ 2003-2006
AT86RF233 SPI + GPIO ✔ ✔ ✘ ✔ 2003-2011
ATUSB (AT86RF231) USB ✔ ✔ ✘ ✔ 2003-2006
RZUSB (AT86RF230) USB ✔ ✔ ✘ ✔* 2003
CA8210 SPI + GPIO ✔* ✔ ✘ ✔ 2003-2006
CC2420 SPI + GPIO ✘ ✔ ✘ ✘ 2003
CC2520 SPI + GPIO ✔ ✔ ✘ ✘ 2003-2006
CC2531 USB ✘ ✔ ✘ ✘* 2003-2006
MRF24J40 SPI + GPIO ✔ ✔ ✘ ✔ 2003
XBee UART ✘* ✔ ✘ ✔ 2003??
Virtual Driver
● Fake loopback driver (similar to hwsim of wireless)
● Great for testing
● Support for RIOT and OpenThread to use this when
running as native Linux process
● Will help interoperation testing between the different
network stacks in an virtual environment
$ modprobe fakelb numlbs=4
$ Configure e.g. Linux, RIOT, OpenThread and monitor
Configuration
Wpan-tools: iwpan
● Userspace configuration utility
● Netlink interface ideas as well as code borrowed from the
iw utility
●
Used to configure PHY and MAC layer parameters
● Including: channel, PAN ID, power settings, short address,
frame retries, etc
●
Packaged by some distributions (Fedora and Debian up to
date with 0.7, Ubuntu and OpenEmbedded older versions)
Wpan-tools: wpan-ping
● Ping utility on the IEEE 802.15.4 layer
● Not a full ICMP ping replacement, but good
enough for some basic testing and measurements
# run on server side
$ wpan-ping –-daemon
# run on client side
$ wpan-ping –-count 100 –-extended –-address
00:11:22:33:44:55:66:77
Interface Bringup
● The wpan0 interface shows up automatically
● Setting up the basic parameters:
$ ip link set lowpan0 down
$ ip link set wpan0 down
$ iwpan dev wpan0 set pan_id 0xabcd
$ iwpan phy phy0 set channel 0 26
$ ip link add link wpan0 name lowpan0 type lowpan
$ ip link set wpan0 up
$ ip link set lowpan0 up
Monitoring
● Setting up the interface in promiscuous mode:
$ iwpan dev wpan0 del
$ iwpan phy phy0 interface add monitor%d type monitor
$ iwpan phy phy0 set channel 0 26
$ ip link set monitor0 up
$ wireshark -i monitor0
● No automatic channel hopping (you can change the
channel manually in the background)
Communication
AF_INET6 Socket
● Can be used like a normal IPv6 socket
● Transparently handled in adaptation
sd = socket(PF_INET6, SOCK_DGRAM, 0);
dst.sin6_family = AF_INET6;
sendto(sd, ...);
AF_IEEE802154 Socket
●
Direct IEEE 802.15.4 communication
●
Short and extended addressing schemes as well as network PAN ID handling
sd = socket(PF_IEEE802154, SOCK_DGRAM, 0);
dst.family = AF_IEEE802154;
dst.addr.pan_id = 0x0023;
dst.addr.addr_type = IEEE802154_ADDR_LONG;
memcpy(&dst.addr.hwaddr, long_addr, IEEE802154_ADDR_LEN);
or
dst.addr.addr_type = IEEE802154_ADDR_SHORT;
dst.addr.short_addr = 0x0002;
sendto(sd, ...);
Edge Node OS
Edge Node OS
● Linux most likely to serve as border
router of such networks
● Different operating system running on the
smaller edge nodes of a network
● Picked the ones with IEEE 802.15.4 and
6LoWPAN support
Operating Systems
● Contiki: very fragmented project, many academic or
commercial forks
● RIOT: community driven project, testing against Linux-wpan
is part of the release testing process
● Zephyr: new network stack not tested yet, something for this
week :-)
● mbed OS: Nanostack network stack is closed source, no
incentive to test on my side
● OpenThread: open source Thread implementation
Comparison
Feature Linux RIOT Contiki
IEEE 802.15.4: data and ACK frames ✔ ✔ ✔
IEEE 802.15.4: beacon and MAC command frames ✘ ✘ ✘
IEEE 802.15.4: scanning, joining, PAN coordinator ✘ ✘ ✘
IEEE 802.15.4: link layer security ✔ ✘ ✔
6LoWPAN: frame encapsulation, fragmentation, addressing (RFC 4944) ✔ ✔ ✔
6LoWPAN: IP header compression (RFC 6282) ✔ ✔ ✔
6LoWPAN: next header compression, UDP only (RFC 6282) ✔ ✔ ✔
6LoWPAN: generic header compression (RFC 7400) ✘ ✘ ✘
6LoWPAN: neighbour discovery optimizations (RFC 6775) Partial ✔ ✘
RPL: IPv6 Routing Protocol for Low-Power and Lossy Networks ✔ ✔ ✔
Mesh link establishment draft ✘ ✘ ✘
Future
Linux-wpan Future
●
Implement missing parts of the IEEE 802.15.4 specification
● Beacon and MAC command frame support
● Coordinator support in MAC layer and wpan-tools
● Scanning
● Add better support for HardMAC transceivers
● Neighbour Discovery Optimizations (RFC 6775), started
●
Evaluate running OpenThread on top of linux-wpan
●
Configuration interface for various header compression
modules
●
Expose information for route-over and mesh-under protocols
Summary
Take away
● Running an IEEE 802.15.4 wireless
network under Linux is not hard
● Tooling and kernel support is already
there
● Border router scenario most likely use
case but nodes or routers also possible
Thank you!
http://www.slideshare.net/SamsungOSG
References
● IEEE 802.15.4 specification (PHY and MAC layer)
http://standards.ieee.org/about/get/802/802.15.html
● RFC 4944: Transmission of IPv6 Packets over IEEE 802.15.4 Networks
https://tools.ietf.org/html/rfc4944
● RFC 6282: Compression Format for IPv6 Datagrams over IEEE 802.15.4-Based Networks
https://tools.ietf.org/html/rfc6282
● RFC 7400: 6LoWPAN-GHC: Generic Header Compression for IPv6 over Low-Power Wireless
Personal Area Networks (6LoWPANs)
https://tools.ietf.org/html/rfc7400
● Linux-wpan source and project pages
https://github.com/linux-wpan
http://wpan.cakelab.org/

Más contenido relacionado

La actualidad más candente

LoRaWAN in Depth
LoRaWAN in DepthLoRaWAN in Depth
LoRaWAN in DepthAPNIC
 
GPEH, PCHR, CHR, MR, SIG, CTUM, CELL TRACE, UETR Parsers - Innovile
GPEH, PCHR, CHR, MR, SIG, CTUM, CELL TRACE, UETR Parsers - InnovileGPEH, PCHR, CHR, MR, SIG, CTUM, CELL TRACE, UETR Parsers - Innovile
GPEH, PCHR, CHR, MR, SIG, CTUM, CELL TRACE, UETR Parsers - InnovileAhmet Ozturk
 
Part 10: 5G Use cases - 5G for Absolute Beginners
Part 10: 5G Use cases - 5G for Absolute BeginnersPart 10: 5G Use cases - 5G for Absolute Beginners
Part 10: 5G Use cases - 5G for Absolute Beginners3G4G
 
Beginners: Introduction to 5G Reduced Capability (RedCap) Devices
Beginners: Introduction to 5G Reduced Capability (RedCap) DevicesBeginners: Introduction to 5G Reduced Capability (RedCap) Devices
Beginners: Introduction to 5G Reduced Capability (RedCap) Devices3G4G
 
Basics of Wireless sensor networks
Basics of Wireless sensor networksBasics of Wireless sensor networks
Basics of Wireless sensor networksRushin Shah
 
Introduction to LoRa for developers
Introduction to LoRa for developersIntroduction to LoRa for developers
Introduction to LoRa for developersRobin Harris
 
NFV +SDN (Network Function Virtualization)
NFV +SDN (Network Function Virtualization)NFV +SDN (Network Function Virtualization)
NFV +SDN (Network Function Virtualization)Hamidreza Bolhasani
 
Wi-max Technology PPT
Wi-max Technology PPTWi-max Technology PPT
Wi-max Technology PPTVinay Krishna
 
Beginners: 5G Terminology (Updated - Feb 2019)
Beginners: 5G Terminology (Updated - Feb 2019)Beginners: 5G Terminology (Updated - Feb 2019)
Beginners: 5G Terminology (Updated - Feb 2019)3G4G
 
Intermediate: 5G Network Architecture Options (Updated)
Intermediate: 5G Network Architecture Options (Updated)Intermediate: 5G Network Architecture Options (Updated)
Intermediate: 5G Network Architecture Options (Updated)3G4G
 
Overview 3GPP NR Physical Layer
Overview 3GPP NR Physical LayerOverview 3GPP NR Physical Layer
Overview 3GPP NR Physical LayerEiko Seidel
 
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under LinuxPractical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under LinuxSamsung Open Source Group
 
5G Network Architecture and Design
5G Network Architecture and Design5G Network Architecture and Design
5G Network Architecture and Design3G4G
 
Cloud RAN and Evolution to 5G
Cloud RAN and Evolution to 5GCloud RAN and Evolution to 5G
Cloud RAN and Evolution to 5GSmall Cell Forum
 
M2M Protocols for Constrained Environments in the Context of IoT: A Compariso...
M2M Protocols for Constrained Environments in the Context of IoT: A Compariso...M2M Protocols for Constrained Environments in the Context of IoT: A Compariso...
M2M Protocols for Constrained Environments in the Context of IoT: A Compariso...Edielson P. Frigieri
 
Making 5G New Radio a Reality - by Qualcomm
Making 5G New Radio a Reality - by QualcommMaking 5G New Radio a Reality - by Qualcomm
Making 5G New Radio a Reality - by QualcommAydin Karaer
 
Small cell Evolution
Small cell Evolution Small cell Evolution
Small cell Evolution Ericsson
 

La actualidad más candente (20)

Sensor networks: 6LoWPAN & LPWAN
Sensor networks: 6LoWPAN & LPWANSensor networks: 6LoWPAN & LPWAN
Sensor networks: 6LoWPAN & LPWAN
 
LoRaWAN in Depth
LoRaWAN in DepthLoRaWAN in Depth
LoRaWAN in Depth
 
GPEH, PCHR, CHR, MR, SIG, CTUM, CELL TRACE, UETR Parsers - Innovile
GPEH, PCHR, CHR, MR, SIG, CTUM, CELL TRACE, UETR Parsers - InnovileGPEH, PCHR, CHR, MR, SIG, CTUM, CELL TRACE, UETR Parsers - Innovile
GPEH, PCHR, CHR, MR, SIG, CTUM, CELL TRACE, UETR Parsers - Innovile
 
Part 10: 5G Use cases - 5G for Absolute Beginners
Part 10: 5G Use cases - 5G for Absolute BeginnersPart 10: 5G Use cases - 5G for Absolute Beginners
Part 10: 5G Use cases - 5G for Absolute Beginners
 
Beginners: Introduction to 5G Reduced Capability (RedCap) Devices
Beginners: Introduction to 5G Reduced Capability (RedCap) DevicesBeginners: Introduction to 5G Reduced Capability (RedCap) Devices
Beginners: Introduction to 5G Reduced Capability (RedCap) Devices
 
Basics of Wireless sensor networks
Basics of Wireless sensor networksBasics of Wireless sensor networks
Basics of Wireless sensor networks
 
5G
5G5G
5G
 
Zig Bee
Zig BeeZig Bee
Zig Bee
 
Introduction to LoRa for developers
Introduction to LoRa for developersIntroduction to LoRa for developers
Introduction to LoRa for developers
 
NFV +SDN (Network Function Virtualization)
NFV +SDN (Network Function Virtualization)NFV +SDN (Network Function Virtualization)
NFV +SDN (Network Function Virtualization)
 
Wi-max Technology PPT
Wi-max Technology PPTWi-max Technology PPT
Wi-max Technology PPT
 
Beginners: 5G Terminology (Updated - Feb 2019)
Beginners: 5G Terminology (Updated - Feb 2019)Beginners: 5G Terminology (Updated - Feb 2019)
Beginners: 5G Terminology (Updated - Feb 2019)
 
Intermediate: 5G Network Architecture Options (Updated)
Intermediate: 5G Network Architecture Options (Updated)Intermediate: 5G Network Architecture Options (Updated)
Intermediate: 5G Network Architecture Options (Updated)
 
Overview 3GPP NR Physical Layer
Overview 3GPP NR Physical LayerOverview 3GPP NR Physical Layer
Overview 3GPP NR Physical Layer
 
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under LinuxPractical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
 
5G Network Architecture and Design
5G Network Architecture and Design5G Network Architecture and Design
5G Network Architecture and Design
 
Cloud RAN and Evolution to 5G
Cloud RAN and Evolution to 5GCloud RAN and Evolution to 5G
Cloud RAN and Evolution to 5G
 
M2M Protocols for Constrained Environments in the Context of IoT: A Compariso...
M2M Protocols for Constrained Environments in the Context of IoT: A Compariso...M2M Protocols for Constrained Environments in the Context of IoT: A Compariso...
M2M Protocols for Constrained Environments in the Context of IoT: A Compariso...
 
Making 5G New Radio a Reality - by Qualcomm
Making 5G New Radio a Reality - by QualcommMaking 5G New Radio a Reality - by Qualcomm
Making 5G New Radio a Reality - by Qualcomm
 
Small cell Evolution
Small cell Evolution Small cell Evolution
Small cell Evolution
 

Destacado

BUD17-104: Scripting Languages in IoT: Challenges and Approaches
BUD17-104: Scripting Languages in IoT: Challenges and ApproachesBUD17-104: Scripting Languages in IoT: Challenges and Approaches
BUD17-104: Scripting Languages in IoT: Challenges and ApproachesLinaro
 
BUD17-400: Secure Data Path with OPTEE
BUD17-400: Secure Data Path with OPTEE BUD17-400: Secure Data Path with OPTEE
BUD17-400: Secure Data Path with OPTEE Linaro
 
BUD17-405: Building a reference IoT product with Zephyr
BUD17-405: Building a reference IoT product with Zephyr BUD17-405: Building a reference IoT product with Zephyr
BUD17-405: Building a reference IoT product with Zephyr Linaro
 
BUD17-416: Benchmark and profiling in OP-TEE
BUD17-416: Benchmark and profiling in OP-TEE BUD17-416: Benchmark and profiling in OP-TEE
BUD17-416: Benchmark and profiling in OP-TEE Linaro
 
HHVM on AArch64 - BUD17-400K1
HHVM on AArch64 - BUD17-400K1HHVM on AArch64 - BUD17-400K1
HHVM on AArch64 - BUD17-400K1Linaro
 
BUD17-302: LLVM Internals #2
BUD17-302: LLVM Internals #2 BUD17-302: LLVM Internals #2
BUD17-302: LLVM Internals #2 Linaro
 
The HPE Machine and Gen-Z - BUD17-503
The HPE Machine and Gen-Z - BUD17-503The HPE Machine and Gen-Z - BUD17-503
The HPE Machine and Gen-Z - BUD17-503Linaro
 

Destacado (7)

BUD17-104: Scripting Languages in IoT: Challenges and Approaches
BUD17-104: Scripting Languages in IoT: Challenges and ApproachesBUD17-104: Scripting Languages in IoT: Challenges and Approaches
BUD17-104: Scripting Languages in IoT: Challenges and Approaches
 
BUD17-400: Secure Data Path with OPTEE
BUD17-400: Secure Data Path with OPTEE BUD17-400: Secure Data Path with OPTEE
BUD17-400: Secure Data Path with OPTEE
 
BUD17-405: Building a reference IoT product with Zephyr
BUD17-405: Building a reference IoT product with Zephyr BUD17-405: Building a reference IoT product with Zephyr
BUD17-405: Building a reference IoT product with Zephyr
 
BUD17-416: Benchmark and profiling in OP-TEE
BUD17-416: Benchmark and profiling in OP-TEE BUD17-416: Benchmark and profiling in OP-TEE
BUD17-416: Benchmark and profiling in OP-TEE
 
HHVM on AArch64 - BUD17-400K1
HHVM on AArch64 - BUD17-400K1HHVM on AArch64 - BUD17-400K1
HHVM on AArch64 - BUD17-400K1
 
BUD17-302: LLVM Internals #2
BUD17-302: LLVM Internals #2 BUD17-302: LLVM Internals #2
BUD17-302: LLVM Internals #2
 
The HPE Machine and Gen-Z - BUD17-503
The HPE Machine and Gen-Z - BUD17-503The HPE Machine and Gen-Z - BUD17-503
The HPE Machine and Gen-Z - BUD17-503
 

Similar a Linux-wpan: IEEE 802.15.4 and 6LoWPAN in the Linux Kernel - BUD17-120

Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux DeviceAdding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux DeviceSamsung Open Source Group
 
Introduction to Linux-wpan and Potential Collaboration
Introduction to Linux-wpan and Potential CollaborationIntroduction to Linux-wpan and Potential Collaboration
Introduction to Linux-wpan and Potential CollaborationSamsung Open Source Group
 
Let's Have an IEEE 802.15.4 over LoRa Linux Device Driver for IoT
Let's Have an IEEE 802.15.4 over LoRa Linux Device Driver for IoTLet's Have an IEEE 802.15.4 over LoRa Linux Device Driver for IoT
Let's Have an IEEE 802.15.4 over LoRa Linux Device Driver for IoTJian-Hong Pan
 
Summit 16: How to Compose a New OPNFV Solution Stack?
Summit 16: How to Compose a New OPNFV Solution Stack?Summit 16: How to Compose a New OPNFV Solution Stack?
Summit 16: How to Compose a New OPNFV Solution Stack?OPNFV
 
CodiLime Tech Talk - Adam Kułagowski: IPv6 - introduction
CodiLime Tech Talk - Adam Kułagowski: IPv6 - introductionCodiLime Tech Talk - Adam Kułagowski: IPv6 - introduction
CodiLime Tech Talk - Adam Kułagowski: IPv6 - introductionCodiLime
 
[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
 
Getting started with IPv6
Getting started with IPv6Getting started with IPv6
Getting started with IPv6Private
 
Stacks and Layers: Integrating P4, C, OVS and OpenStack
Stacks and Layers: Integrating P4, C, OVS and OpenStackStacks and Layers: Integrating P4, C, OVS and OpenStack
Stacks and Layers: Integrating P4, C, OVS and OpenStackOpen-NFP
 
Openwrt wireless
Openwrt wirelessOpenwrt wireless
Openwrt wireless晓东 杜
 
OSDC 2014: Nat Morris - Open Network Install Environment
OSDC 2014: Nat Morris - Open Network Install EnvironmentOSDC 2014: Nat Morris - Open Network Install Environment
OSDC 2014: Nat Morris - Open Network Install EnvironmentNETWAYS
 
6lowpan 110828234426-phpapp01
6lowpan 110828234426-phpapp016lowpan 110828234426-phpapp01
6lowpan 110828234426-phpapp01mrmr2010i
 
”モノ”のインターネットへのつながり方:L3より下層について
”モノ”のインターネットへのつながり方:L3より下層について”モノ”のインターネットへのつながり方:L3より下層について
”モノ”のインターネットへのつながり方:L3より下層についてShoichi Sakane
 
Linux Kernel Status Report for IEEE 802.15.4 & 6LoWPAN
Linux Kernel Status Report for IEEE 802.15.4 & 6LoWPANLinux Kernel Status Report for IEEE 802.15.4 & 6LoWPAN
Linux Kernel Status Report for IEEE 802.15.4 & 6LoWPANSamsung Open Source Group
 
PLNOG16: Obsługa 100M pps na platformie PC , Przemysław Frasunek, Paweł Mała...
PLNOG16: Obsługa 100M pps na platformie PC, Przemysław Frasunek, Paweł Mała...PLNOG16: Obsługa 100M pps na platformie PC, Przemysław Frasunek, Paweł Mała...
PLNOG16: Obsługa 100M pps na platformie PC , Przemysław Frasunek, Paweł Mała...PROIDEA
 
2014/09/02 Cisco UCS HPC @ ANL
2014/09/02 Cisco UCS HPC @ ANL2014/09/02 Cisco UCS HPC @ ANL
2014/09/02 Cisco UCS HPC @ ANLdgoodell
 

Similar a Linux-wpan: IEEE 802.15.4 and 6LoWPAN in the Linux Kernel - BUD17-120 (20)

Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux DeviceAdding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
 
Run Your Own 6LoWPAN Based IoT Network
Run Your Own 6LoWPAN Based IoT NetworkRun Your Own 6LoWPAN Based IoT Network
Run Your Own 6LoWPAN Based IoT Network
 
6LoWPAN: An open IoT Networking Protocol
6LoWPAN: An open IoT Networking Protocol6LoWPAN: An open IoT Networking Protocol
6LoWPAN: An open IoT Networking Protocol
 
6LoWPAN: An Open IoT Networking Protocol
6LoWPAN: An Open IoT Networking Protocol6LoWPAN: An Open IoT Networking Protocol
6LoWPAN: An Open IoT Networking Protocol
 
Introduction to Linux-wpan and Potential Collaboration
Introduction to Linux-wpan and Potential CollaborationIntroduction to Linux-wpan and Potential Collaboration
Introduction to Linux-wpan and Potential Collaboration
 
SFScon 21 - Stefan Schmidt - The Rise of IPv6 in IoT Protocols
SFScon 21 - Stefan Schmidt - The Rise of IPv6 in IoT ProtocolsSFScon 21 - Stefan Schmidt - The Rise of IPv6 in IoT Protocols
SFScon 21 - Stefan Schmidt - The Rise of IPv6 in IoT Protocols
 
Let's Have an IEEE 802.15.4 over LoRa Linux Device Driver for IoT
Let's Have an IEEE 802.15.4 over LoRa Linux Device Driver for IoTLet's Have an IEEE 802.15.4 over LoRa Linux Device Driver for IoT
Let's Have an IEEE 802.15.4 over LoRa Linux Device Driver for IoT
 
Summit 16: How to Compose a New OPNFV Solution Stack?
Summit 16: How to Compose a New OPNFV Solution Stack?Summit 16: How to Compose a New OPNFV Solution Stack?
Summit 16: How to Compose a New OPNFV Solution Stack?
 
CodiLime Tech Talk - Adam Kułagowski: IPv6 - introduction
CodiLime Tech Talk - Adam Kułagowski: IPv6 - introductionCodiLime Tech Talk - Adam Kułagowski: IPv6 - introduction
CodiLime Tech Talk - Adam Kułagowski: IPv6 - introduction
 
[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 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...
 
Getting started with IPv6
Getting started with IPv6Getting started with IPv6
Getting started with IPv6
 
Stacks and Layers: Integrating P4, C, OVS and OpenStack
Stacks and Layers: Integrating P4, C, OVS and OpenStackStacks and Layers: Integrating P4, C, OVS and OpenStack
Stacks and Layers: Integrating P4, C, OVS and OpenStack
 
Openwrt wireless
Openwrt wirelessOpenwrt wireless
Openwrt wireless
 
OSDC 2014: Nat Morris - Open Network Install Environment
OSDC 2014: Nat Morris - Open Network Install EnvironmentOSDC 2014: Nat Morris - Open Network Install Environment
OSDC 2014: Nat Morris - Open Network Install Environment
 
6lowpan 110828234426-phpapp01
6lowpan 110828234426-phpapp016lowpan 110828234426-phpapp01
6lowpan 110828234426-phpapp01
 
”モノ”のインターネットへのつながり方:L3より下層について
”モノ”のインターネットへのつながり方:L3より下層について”モノ”のインターネットへのつながり方:L3より下層について
”モノ”のインターネットへのつながり方:L3より下層について
 
Linux Kernel Status Report for IEEE 802.15.4 & 6LoWPAN
Linux Kernel Status Report for IEEE 802.15.4 & 6LoWPANLinux Kernel Status Report for IEEE 802.15.4 & 6LoWPAN
Linux Kernel Status Report for IEEE 802.15.4 & 6LoWPAN
 
L6 6 lowpan
L6 6 lowpanL6 6 lowpan
L6 6 lowpan
 
PLNOG16: Obsługa 100M pps na platformie PC , Przemysław Frasunek, Paweł Mała...
PLNOG16: Obsługa 100M pps na platformie PC, Przemysław Frasunek, Paweł Mała...PLNOG16: Obsługa 100M pps na platformie PC, Przemysław Frasunek, Paweł Mała...
PLNOG16: Obsługa 100M pps na platformie PC , Przemysław Frasunek, Paweł Mała...
 
2014/09/02 Cisco UCS HPC @ ANL
2014/09/02 Cisco UCS HPC @ ANL2014/09/02 Cisco UCS HPC @ ANL
2014/09/02 Cisco UCS HPC @ ANL
 

Más de Linaro

Deep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Deep Learning Neural Network Acceleration at the Edge - Andrea GalloDeep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Deep Learning Neural Network Acceleration at the Edge - Andrea GalloLinaro
 
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta VekariaArm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta VekariaLinaro
 
Huawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
Huawei’s requirements for the ARM based HPC solution readiness - Joshua MoraHuawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
Huawei’s requirements for the ARM based HPC solution readiness - Joshua MoraLinaro
 
Bud17 113: distribution ci using qemu and open qa
Bud17 113: distribution ci using qemu and open qaBud17 113: distribution ci using qemu and open qa
Bud17 113: distribution ci using qemu and open qaLinaro
 
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018Linaro
 
HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018Linaro
 
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...Linaro
 
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...Linaro
 
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...Linaro
 
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...Linaro
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineLinaro
 
HKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening KeynoteHKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening KeynoteLinaro
 
HKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP WorkshopHKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP WorkshopLinaro
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineLinaro
 
HKG18-315 - Why the ecosystem is a wonderful thing, warts and all
HKG18-315 - Why the ecosystem is a wonderful thing, warts and allHKG18-315 - Why the ecosystem is a wonderful thing, warts and all
HKG18-315 - Why the ecosystem is a wonderful thing, warts and allLinaro
 
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse HypervisorHKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse HypervisorLinaro
 
HKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMUHKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMULinaro
 
HKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8MHKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8MLinaro
 
HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation Linaro
 
HKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted bootHKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted bootLinaro
 

Más de Linaro (20)

Deep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Deep Learning Neural Network Acceleration at the Edge - Andrea GalloDeep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Deep Learning Neural Network Acceleration at the Edge - Andrea Gallo
 
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta VekariaArm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
 
Huawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
Huawei’s requirements for the ARM based HPC solution readiness - Joshua MoraHuawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
Huawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
 
Bud17 113: distribution ci using qemu and open qa
Bud17 113: distribution ci using qemu and open qaBud17 113: distribution ci using qemu and open qa
Bud17 113: distribution ci using qemu and open qa
 
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
 
HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018
 
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
 
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
 
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
 
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
 
HKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening KeynoteHKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening Keynote
 
HKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP WorkshopHKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP Workshop
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
 
HKG18-315 - Why the ecosystem is a wonderful thing, warts and all
HKG18-315 - Why the ecosystem is a wonderful thing, warts and allHKG18-315 - Why the ecosystem is a wonderful thing, warts and all
HKG18-315 - Why the ecosystem is a wonderful thing, warts and all
 
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse HypervisorHKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
 
HKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMUHKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMU
 
HKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8MHKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8M
 
HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation
 
HKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted bootHKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted boot
 

Último

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 

Último (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 

Linux-wpan: IEEE 802.15.4 and 6LoWPAN in the Linux Kernel - BUD17-120

  • 1. Linux-wpan: IEEE 802.15.4 and 6LoWPAN in Linux Linaro Connect BUD17 2017-03-06, Budapest Stefan Schmidt stefan@osg.samsung.com Samsung Open Source Group
  • 2. Agenda ● Motivation ● Linux-wpan Project ● Hardware ● Configuration ● Communication ● Edge Node OS
  • 4. IEEE 802.15.4 ● IEEE specifications for Low-Rate Wireless Personal Area Networks ● Not only low-rate, but also low-power ● Designed for small sensors to run months/years on battery with the right duty cycle ● 127 bytes MTU and 250 kbit/s ● Sometimes confused with ZigBee as it is used as PHY and MAC layer there
  • 5. 6LoWPAN ● A series of IETF specifications, started in 2007 ● IPv6 over LoWPAN (IEEE 802.15.4) ● Direct IP addressing of nodes ● Adaptation layer between data-link and network layer ● Address autoconfiguration ● Frame encapsulation and fragmentation ● Header compressions
  • 6. 6LoWPAN ● Physical and MAC layer defined by IEEE 802.15.4 from 2003 onwards (latest update from 2015) ● Series of IETF specifications from 2007 onwards (RFCs 4944, 6282, etc) L3 Network Layer L4 Transport Layer L1 Physical Layer L5 Application Layer L2 Data Link Layer IP TCP | UDP | ICMP Ethernet PHY Application Ethernet MAC IPv6 UDP | ICMPv6 6LoWPAN IEEE 802.15.4 PHY Application IEEE 802.15.4 MAC
  • 7. The Header Size Problem ● Worst-case scenario calculations ● Maximum frame size in IEEE 802.15.4: 127 bytes ● Reduced by the max. frame header (25 bytes): 102 bytes ● Reduced by highest link-layer security (21 bytes): 81 bytes ● Reduced by standard IPv6 header (40 bytes): 41 bytes ● Reduced by standard UDP header (8 bytes): 33 bytes ● This leaves only 33 bytes for actual payload ● The rest of the space is used by headers (~ 3:1 ratio) Frame Header (25) LLSEC (21) IPv6 Header (40) UDP Payload (33)
  • 8. The Header Size Solution ● IPv6 with link-local and UDP on top ● IPHC with NHC for UDP ● The 48 bytes IPv6 + UDP header could in the best cases be reduced to 6 bytes ● That allows for a payload of 75 bytes (~ 2:3 ratio) Frame Header (25) LLSEC (21) 6 Payload (75) Dispatch (1) LOWPAN_IPHC (1) LOWPAN_NHC (1) UDP Ports (1) UDP Checksum (2)
  • 9. Linux-wpan ● Platforms already running Linux would benefit from native IEEE 802.15.4 and 6LoWPAN subsystems ● IEEE 802.15.4 transceivers can easily be added to existing hardware designs ● Battery powered sensors on the other hand are more likely to run an OS like RIOT or Contiki ● Example 1: Google OnHub AP which already comes with, de-activated, IEEE 802.15.4 hardware ● Example 2: Ci40 Creator board as home IoT hub
  • 11. Linux-wpan Project ● IEEE 802.15.4 and 6LoWPAN support in mainline ● Started in 2008 as linux-zigbee project, from 2012 mainline ● New project name to avoid confusion: linux-wpan ● Normal kernel development model ● Patches are posted and reviewed on the mailing list ● Small community: 2 core devs and ~4 additional people for specific drivers ● Linux-wpan mailing list (~96 people), IRC (~29 people)
  • 12. Current Status ● ieee802154 layer with softMAC driver for various transceivers ● 6LoWPAN with fragmentation and reassembly (RFC 4944) ● Header compression with IPHC and NHC for UDP (RFC 6282), shared with Bluetooth subsystem ● Link Layer Security ● Testing between Linux, RIOT and Contiki ● Mainline 4.1 onwards recommended ● Active development, newer is better :-)
  • 14. Development Boards ● MIPS based Ci40 Creator (CA-8210) ● Raspberry Pi with Openlabs shield (AT86RF233) ● Transceivers can be hooked up via SPI (all drivers have devicetree bindings) ● ATUSB dongle ● 96 board with on-board transceiver? Werner Almesberger, CC-BY-SA 3.0 Permission granted by Imagination Technologies
  • 15. Hardware Requirements ● Very easy to add to your current dev board or product ● Free SPI port plus some additional free GPIO pins (number varies by transceiver) ● Off the shelf modules or directly added to your design ● Alternatively you could use USB
  • 16. Devicetree Bindings ● Boards need devicetree support ● All our drivers have bindings ● Example for the at86rf233: &spi { status = "okay"; at86rf233@0 { compatible = "atmel,at86rf233"; spi-max-frequency = <6000000>; reg = <0>; interrupts = <23 4>; interrupt-parent = <&gpio>; reset-gpio = <&gpio 24 1>; sleep-gpio = <&gpio 25 1>; xtal-trim = /bits/ 8 <0x0F>; }; };
  • 17. Hardware Support ● Mainline drivers for at86rf2xx, mrf24j40, cc2520, atusb and adf7242 ● Pending driver for ca-8210 ● Driver for MCR20A in the works ● Old out of tree driver for Xbee ● ATUSB dongle to be used on your workstation
  • 18. Transceiver Comparison Chipset Interface Driver 2.4 GHz Sub GHz ARET IEEE specs ADF7242 SPI or PMOD ✔ ✔ ✘ ✔ 2003-2006 AT86RF212 SPI + GPIO ✔ ✘ ✔ ✔ 2003-2006 AT86RF212b SPI + GPIO ✔ ✘ ✔ ✔ 2003-2011 AT86RF215 SPI + GPIO + LVDS ✘ ✔ ✔ ✔ 2003-2011, 15.4g AT86RF230 SPI + GPIO ✘ ✔ ✘ ✔ 2003 AT86RF231 SPI + GPIO ✔ ✔ ✘ ✔ 2003-2006 AT86RF233 SPI + GPIO ✔ ✔ ✘ ✔ 2003-2011 ATUSB (AT86RF231) USB ✔ ✔ ✘ ✔ 2003-2006 RZUSB (AT86RF230) USB ✔ ✔ ✘ ✔* 2003 CA8210 SPI + GPIO ✔* ✔ ✘ ✔ 2003-2006 CC2420 SPI + GPIO ✘ ✔ ✘ ✘ 2003 CC2520 SPI + GPIO ✔ ✔ ✘ ✘ 2003-2006 CC2531 USB ✘ ✔ ✘ ✘* 2003-2006 MRF24J40 SPI + GPIO ✔ ✔ ✘ ✔ 2003 XBee UART ✘* ✔ ✘ ✔ 2003??
  • 19. Virtual Driver ● Fake loopback driver (similar to hwsim of wireless) ● Great for testing ● Support for RIOT and OpenThread to use this when running as native Linux process ● Will help interoperation testing between the different network stacks in an virtual environment $ modprobe fakelb numlbs=4 $ Configure e.g. Linux, RIOT, OpenThread and monitor
  • 21. Wpan-tools: iwpan ● Userspace configuration utility ● Netlink interface ideas as well as code borrowed from the iw utility ● Used to configure PHY and MAC layer parameters ● Including: channel, PAN ID, power settings, short address, frame retries, etc ● Packaged by some distributions (Fedora and Debian up to date with 0.7, Ubuntu and OpenEmbedded older versions)
  • 22. Wpan-tools: wpan-ping ● Ping utility on the IEEE 802.15.4 layer ● Not a full ICMP ping replacement, but good enough for some basic testing and measurements # run on server side $ wpan-ping –-daemon # run on client side $ wpan-ping –-count 100 –-extended –-address 00:11:22:33:44:55:66:77
  • 23. Interface Bringup ● The wpan0 interface shows up automatically ● Setting up the basic parameters: $ ip link set lowpan0 down $ ip link set wpan0 down $ iwpan dev wpan0 set pan_id 0xabcd $ iwpan phy phy0 set channel 0 26 $ ip link add link wpan0 name lowpan0 type lowpan $ ip link set wpan0 up $ ip link set lowpan0 up
  • 24. Monitoring ● Setting up the interface in promiscuous mode: $ iwpan dev wpan0 del $ iwpan phy phy0 interface add monitor%d type monitor $ iwpan phy phy0 set channel 0 26 $ ip link set monitor0 up $ wireshark -i monitor0 ● No automatic channel hopping (you can change the channel manually in the background)
  • 26. AF_INET6 Socket ● Can be used like a normal IPv6 socket ● Transparently handled in adaptation sd = socket(PF_INET6, SOCK_DGRAM, 0); dst.sin6_family = AF_INET6; sendto(sd, ...);
  • 27. AF_IEEE802154 Socket ● Direct IEEE 802.15.4 communication ● Short and extended addressing schemes as well as network PAN ID handling sd = socket(PF_IEEE802154, SOCK_DGRAM, 0); dst.family = AF_IEEE802154; dst.addr.pan_id = 0x0023; dst.addr.addr_type = IEEE802154_ADDR_LONG; memcpy(&dst.addr.hwaddr, long_addr, IEEE802154_ADDR_LEN); or dst.addr.addr_type = IEEE802154_ADDR_SHORT; dst.addr.short_addr = 0x0002; sendto(sd, ...);
  • 29. Edge Node OS ● Linux most likely to serve as border router of such networks ● Different operating system running on the smaller edge nodes of a network ● Picked the ones with IEEE 802.15.4 and 6LoWPAN support
  • 30. Operating Systems ● Contiki: very fragmented project, many academic or commercial forks ● RIOT: community driven project, testing against Linux-wpan is part of the release testing process ● Zephyr: new network stack not tested yet, something for this week :-) ● mbed OS: Nanostack network stack is closed source, no incentive to test on my side ● OpenThread: open source Thread implementation
  • 31. Comparison Feature Linux RIOT Contiki IEEE 802.15.4: data and ACK frames ✔ ✔ ✔ IEEE 802.15.4: beacon and MAC command frames ✘ ✘ ✘ IEEE 802.15.4: scanning, joining, PAN coordinator ✘ ✘ ✘ IEEE 802.15.4: link layer security ✔ ✘ ✔ 6LoWPAN: frame encapsulation, fragmentation, addressing (RFC 4944) ✔ ✔ ✔ 6LoWPAN: IP header compression (RFC 6282) ✔ ✔ ✔ 6LoWPAN: next header compression, UDP only (RFC 6282) ✔ ✔ ✔ 6LoWPAN: generic header compression (RFC 7400) ✘ ✘ ✘ 6LoWPAN: neighbour discovery optimizations (RFC 6775) Partial ✔ ✘ RPL: IPv6 Routing Protocol for Low-Power and Lossy Networks ✔ ✔ ✔ Mesh link establishment draft ✘ ✘ ✘
  • 33. Linux-wpan Future ● Implement missing parts of the IEEE 802.15.4 specification ● Beacon and MAC command frame support ● Coordinator support in MAC layer and wpan-tools ● Scanning ● Add better support for HardMAC transceivers ● Neighbour Discovery Optimizations (RFC 6775), started ● Evaluate running OpenThread on top of linux-wpan ● Configuration interface for various header compression modules ● Expose information for route-over and mesh-under protocols
  • 35. Take away ● Running an IEEE 802.15.4 wireless network under Linux is not hard ● Tooling and kernel support is already there ● Border router scenario most likely use case but nodes or routers also possible
  • 37. References ● IEEE 802.15.4 specification (PHY and MAC layer) http://standards.ieee.org/about/get/802/802.15.html ● RFC 4944: Transmission of IPv6 Packets over IEEE 802.15.4 Networks https://tools.ietf.org/html/rfc4944 ● RFC 6282: Compression Format for IPv6 Datagrams over IEEE 802.15.4-Based Networks https://tools.ietf.org/html/rfc6282 ● RFC 7400: 6LoWPAN-GHC: Generic Header Compression for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs) https://tools.ietf.org/html/rfc7400 ● Linux-wpan source and project pages https://github.com/linux-wpan http://wpan.cakelab.org/