SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Downloaden Sie, um offline zu lesen
Mesh network implementation
                 between
Nokia Internet Tablet and OLPC/XO devices

                   Arina Rudakova
                  (Open Source Linux Lab,
     Saint-Petersburg Electrotechnical University «LETI»)




                  5th FRUCT seminar


                     Saint-Petersburg
                     30th of April 2009
Introduction
        Goal
        Heterogeneous Mesh Network
        between:
        1) Nokia N8x0
        2) OLPC XO

        Steps
        1. Nokia Internet Tablet
            1) mesh driver upgrade
            2) kernel upgrade
        2. OLPC XO
            1) mesh driver upgrade
            2) kernel upgrade
        3. Other needed drivers patching



                                      2
Mesh Network
Mesh Networking – network
 technology providing multi-
 hop data forwarding and
 self-configuration.
It makes higher levels think
   that the network is fully
   connected.
The matter of our concern is
  IEEE 802.11s network – a
  wireless Mesh Network
  based on Wi-Fi technology.
IEEE 802.11s standard has a
  status of draft.



                                 3
Hardware details
                  Nokia N800 Networking:
                       STLC4560 chip
                       802.11b/g (2.45GHz)




Nokia N810 Networking:                       OLPC XO Networking:
 STLC4560 chip                                 Marvell Libertas chipset
 802.11b/g (2.45GHz)                           802.11b/g (2.4GHz)




                                                                    4
Prerequisites
Prism54 is a family of Wi-Fi PHY chips which may be wired to the host
computer through PCI/USB/SPI interface.
STLC4560 is a member of this family with SPI interface. Nokia's N800
and N810 carry this chip on-board.




                                                                        5
Prerequisites
p54 driver that existed in Linux could work with chips connected through
PCI and USB. It is well modularized, with all common code in
p54common.c and bus-specific code in p54pci.c and p54usb.c
respectively. This driver supported all modes of Wi-Fi operation.
stlc45xx driver by Nokia can only work with STLC4550 and STLC4560.
This driver only supported Managed Mode of operation, i.e. a client of an
access point.




                                                                            6
Initial Plan
1. Proof of concept.
Linux kernel from 2.6.26 supports mesh through mac80211 module.
Step: connection of two different adapters using 2.6.27 kernel:
       1) rt73usb-based adapter
       2) b43-based adapter
2. Patch STLC45xx driver for Nokia N8x0 for 2.6.27 kernel.
STLC45xx is mac80211-based driver.
Step: patching the driver for 2.6.27 kernel to enable Mesh on Nokia N8x0.
3. Libertas_tf set-up on XO for 2.6.27 kernel.
Libertas driver is a FullMAC driver so it doesn't work with mac80211.
Libertas_tf is a mac80211-based driver.
Step: the driver set-up for 2.6.27 kernel to enable Mesh on OLPC XO.
4. Connect N810 and XO via mesh.
Step: the devices' Mesh interfaces enabling.
Mesh Network configures automatically!


                                                                            7
Timeline




           8
IBSS-1 p54 -> stlc45xx




                         9
SPI stlc45xx -> p54spi




                         10
IBSS-2 stlc45xx -> x
            +
IBSS/Mesh p54 -> stlc45xx




                            11
SPI p54spi fixes




                   12
Functional IBSS in stlc45xx




                              13
Nokia N8x0 test-plan
1. Common
 1) Split-join cycles (by the loss of radio visibility): verify that
         high level connection gets restored after split-join cycle.
 2) Firmware buffer accounting
     on beacon updates: verify that
         firmware buffer doesn't get filled by abandoned frames;
     on high load: verify that
         flow control properly stops incoming packet queues once tx
         space gets exhausted & restarts them when space appears.
2. IBSS
 1) Establishing IBSS: verify that
         beaconing starts in absence of other participants.
 2) Joining IBSS (beacon update): verify that
         TSF beacon gets updated and STAs are in sync.
 3) Taking beacon ownership
     on joining IBSS with one station: verify that
         beaconing occurs at even interval, perhaps by different nodes;
     on disappearing of beacon owner: verify that
         on shutdown of initial IBSS starter beaconing doesn't stop.
3. Mesh
 1) Establishing peer link.
 2) Finding mesh path.                                                    14
Testing scenario
1. Establish IP ping between two N8x0 and two OLPC XO
    located close to each other.
2. Surround a building with mesh points
    located at the corners of the surrounding square.
3. Make sure that two furthermost nodes can only see the closest
    intermediate nodes and intermediate nodes can see each other.
4. Capture ping packets walking by the line of people with devices.
5. Display hardware addresses in captured packets, showing that
    packets are retransmitted by the intermediate nodes.




                                                                      15
References to sources
Initial stlc45xx IBSS patch:
       https://garage.maemo.org/pipermail
               /stlc45xx-devel/2008-November/000084.html

Thread with 2nd stlc45xx IBSS patches:
       https://garage.maemo.org/pipermail
               /stlc45xx-devel/2009-January/thread.html

P54spi patches are present in wireless-testing git tree
after v2.6.30-rc1 label:
       http://git.kernel.org/?p=linux/kernel
                /git/linville/wireless-testing.git;a=summary

OSLL site:
      http://osll.spb.ru/



                                                               16
Questions are welcome




                        17

Weitere ähnliche Inhalte

Was ist angesagt?

Micro XRCE-DDS and micro-ROS
Micro XRCE-DDS and micro-ROSMicro XRCE-DDS and micro-ROS
Micro XRCE-DDS and micro-ROSeProsima
 
Using Software-Defined WAN implementation to turn on advanced connectivity se...
Using Software-Defined WAN implementation to turn on advanced connectivity se...Using Software-Defined WAN implementation to turn on advanced connectivity se...
Using Software-Defined WAN implementation to turn on advanced connectivity se...RedHatTelco
 
Open comrtos formally_developed _rtos_for_heterogeneous_systems
Open comrtos formally_developed _rtos_for_heterogeneous_systemsOpen comrtos formally_developed _rtos_for_heterogeneous_systems
Open comrtos formally_developed _rtos_for_heterogeneous_systemsEric Verhulst
 
FIWARE Robotics
FIWARE RoboticsFIWARE Robotics
FIWARE RoboticseProsima
 
neutron_icehouse_update
neutron_icehouse_updateneutron_icehouse_update
neutron_icehouse_updateAkihiro Motoki
 
OCP Engineering Workshop at UNH
OCP Engineering Workshop at UNH OCP Engineering Workshop at UNH
OCP Engineering Workshop at UNH 호용 류
 
Introduce to OpenVirteX
Introduce to OpenVirteXIntroduce to OpenVirteX
Introduce to OpenVirteXsangyun han
 
Route flow autoconf demo 2nd sdn world congress 2013
Route flow autoconf demo   2nd sdn world congress 2013Route flow autoconf demo   2nd sdn world congress 2013
Route flow autoconf demo 2nd sdn world congress 2013FIBRE Testbed
 
micro-ROS: bringing ROS 2 to MCUs
micro-ROS: bringing ROS 2 to MCUsmicro-ROS: bringing ROS 2 to MCUs
micro-ROS: bringing ROS 2 to MCUseProsima
 
micro-ROS - New client library and middleware features
micro-ROS - New client library and middleware featuresmicro-ROS - New client library and middleware features
micro-ROS - New client library and middleware featureseProsima
 
micro-ROS Galactic
micro-ROS Galacticmicro-ROS Galactic
micro-ROS GalacticeProsima
 
Python Basics for Operators Troubleshooting OpenStack
Python Basics for Operators Troubleshooting OpenStackPython Basics for Operators Troubleshooting OpenStack
Python Basics for Operators Troubleshooting OpenStackJames Dennis
 
Red Hat demo of OpenStack and ODL at ODL summit 2016
Red Hat demo of OpenStack and ODL at ODL summit 2016 Red Hat demo of OpenStack and ODL at ODL summit 2016
Red Hat demo of OpenStack and ODL at ODL summit 2016 RedHatTelco
 
Open stack advanced_part
Open stack advanced_partOpen stack advanced_part
Open stack advanced_partlilliput12
 
Neutron: br-ex is now deprecated! what is modern way?
Neutron: br-ex is now deprecated! what is modern way?Neutron: br-ex is now deprecated! what is modern way?
Neutron: br-ex is now deprecated! what is modern way?Akihiro Motoki
 
Deploy STM32 family on Zephyr - SFO17-102
Deploy STM32 family on Zephyr - SFO17-102Deploy STM32 family on Zephyr - SFO17-102
Deploy STM32 family on Zephyr - SFO17-102Linaro
 
Osdc2014 openstack networking yves_fauser
Osdc2014 openstack networking yves_fauserOsdc2014 openstack networking yves_fauser
Osdc2014 openstack networking yves_fauseryfauser
 

Was ist angesagt? (20)

Micro XRCE-DDS and micro-ROS
Micro XRCE-DDS and micro-ROSMicro XRCE-DDS and micro-ROS
Micro XRCE-DDS and micro-ROS
 
Using Software-Defined WAN implementation to turn on advanced connectivity se...
Using Software-Defined WAN implementation to turn on advanced connectivity se...Using Software-Defined WAN implementation to turn on advanced connectivity se...
Using Software-Defined WAN implementation to turn on advanced connectivity se...
 
6LoWPAN: An Open IoT Networking Protocol
6LoWPAN: An Open IoT Networking Protocol6LoWPAN: An Open IoT Networking Protocol
6LoWPAN: An Open IoT Networking Protocol
 
Open comrtos formally_developed _rtos_for_heterogeneous_systems
Open comrtos formally_developed _rtos_for_heterogeneous_systemsOpen comrtos formally_developed _rtos_for_heterogeneous_systems
Open comrtos formally_developed _rtos_for_heterogeneous_systems
 
FIWARE Robotics
FIWARE RoboticsFIWARE Robotics
FIWARE Robotics
 
neutron_icehouse_update
neutron_icehouse_updateneutron_icehouse_update
neutron_icehouse_update
 
OCP Engineering Workshop at UNH
OCP Engineering Workshop at UNH OCP Engineering Workshop at UNH
OCP Engineering Workshop at UNH
 
ON.LAB Mininet
ON.LAB MininetON.LAB Mininet
ON.LAB Mininet
 
Introduce to OpenVirteX
Introduce to OpenVirteXIntroduce to OpenVirteX
Introduce to OpenVirteX
 
Route flow autoconf demo 2nd sdn world congress 2013
Route flow autoconf demo   2nd sdn world congress 2013Route flow autoconf demo   2nd sdn world congress 2013
Route flow autoconf demo 2nd sdn world congress 2013
 
Training open stack networking -neutron
Training open stack networking -neutronTraining open stack networking -neutron
Training open stack networking -neutron
 
micro-ROS: bringing ROS 2 to MCUs
micro-ROS: bringing ROS 2 to MCUsmicro-ROS: bringing ROS 2 to MCUs
micro-ROS: bringing ROS 2 to MCUs
 
micro-ROS - New client library and middleware features
micro-ROS - New client library and middleware featuresmicro-ROS - New client library and middleware features
micro-ROS - New client library and middleware features
 
micro-ROS Galactic
micro-ROS Galacticmicro-ROS Galactic
micro-ROS Galactic
 
Python Basics for Operators Troubleshooting OpenStack
Python Basics for Operators Troubleshooting OpenStackPython Basics for Operators Troubleshooting OpenStack
Python Basics for Operators Troubleshooting OpenStack
 
Red Hat demo of OpenStack and ODL at ODL summit 2016
Red Hat demo of OpenStack and ODL at ODL summit 2016 Red Hat demo of OpenStack and ODL at ODL summit 2016
Red Hat demo of OpenStack and ODL at ODL summit 2016
 
Open stack advanced_part
Open stack advanced_partOpen stack advanced_part
Open stack advanced_part
 
Neutron: br-ex is now deprecated! what is modern way?
Neutron: br-ex is now deprecated! what is modern way?Neutron: br-ex is now deprecated! what is modern way?
Neutron: br-ex is now deprecated! what is modern way?
 
Deploy STM32 family on Zephyr - SFO17-102
Deploy STM32 family on Zephyr - SFO17-102Deploy STM32 family on Zephyr - SFO17-102
Deploy STM32 family on Zephyr - SFO17-102
 
Osdc2014 openstack networking yves_fauser
Osdc2014 openstack networking yves_fauserOsdc2014 openstack networking yves_fauser
Osdc2014 openstack networking yves_fauser
 

Andere mochten auch

OLPC Mesh networking improvements
OLPC Mesh networking improvementsOLPC Mesh networking improvements
OLPC Mesh networking improvementsOSLL
 
[MDBCI] Mariadb continuous integration tool
[MDBCI] Mariadb continuous integration tool[MDBCI] Mariadb continuous integration tool
[MDBCI] Mariadb continuous integration toolOSLL
 
MOOCs Virtual Lab in Modern Education
MOOCs Virtual Lab in Modern EducationMOOCs Virtual Lab in Modern Education
MOOCs Virtual Lab in Modern EducationOSLL
 
Обзор Btrfs
Обзор BtrfsОбзор Btrfs
Обзор BtrfsOSLL
 
Обзор файловой системы GlusterFS
Обзор файловой системы GlusterFSОбзор файловой системы GlusterFS
Обзор файловой системы GlusterFSOSLL
 
Implementation of the new REST API for Open Source LBS-platform Geo2Tag
Implementation of the new REST API for Open Source LBS-platform Geo2TagImplementation of the new REST API for Open Source LBS-platform Geo2Tag
Implementation of the new REST API for Open Source LBS-platform Geo2TagOSLL
 
SVG-player plugin for ns2 simulations
SVG-player plugin for ns2 simulationsSVG-player plugin for ns2 simulations
SVG-player plugin for ns2 simulationsOSLL
 
E.Kalishenko, K.Krinkin, S.P.Shiva Prakash. Process Mining Approach for Traff...
E.Kalishenko, K.Krinkin, S.P.Shiva Prakash. Process Mining Approach for Traff...E.Kalishenko, K.Krinkin, S.P.Shiva Prakash. Process Mining Approach for Traff...
E.Kalishenko, K.Krinkin, S.P.Shiva Prakash. Process Mining Approach for Traff...OSLL
 
Обзор архитектуры [файловой] системы Ceph
Обзор архитектуры [файловой] системы CephОбзор архитектуры [файловой] системы Ceph
Обзор архитектуры [файловой] системы CephOSLL
 
Testing with Selenium
Testing with SeleniumTesting with Selenium
Testing with SeleniumOSLL
 
Работа с геоданными в MongoDb
Работа с геоданными в MongoDbРабота с геоданными в MongoDb
Работа с геоданными в MongoDbOSLL
 
Обзор Linux Control Groups
Обзор Linux Control GroupsОбзор Linux Control Groups
Обзор Linux Control GroupsOSLL
 
Open Source implementation of ZigBee
Open Source implementation of ZigBeeOpen Source implementation of ZigBee
Open Source implementation of ZigBeeOSLL
 
Пространства имен Linux (linux namespaces)
Пространства имен Linux (linux namespaces)Пространства имен Linux (linux namespaces)
Пространства имен Linux (linux namespaces)OSLL
 
Virtual-HSM: Virtualization of Hardware Security Modules in Linux Containers
Virtual-HSM: Virtualization of Hardware Security Modules in Linux ContainersVirtual-HSM: Virtualization of Hardware Security Modules in Linux Containers
Virtual-HSM: Virtualization of Hardware Security Modules in Linux ContainersOSLL
 
Кратчайшее введение в docker по-русски
Кратчайшее введение в docker по-русскиКратчайшее введение в docker по-русски
Кратчайшее введение в docker по-русскиOSLL
 
Geo2tag LBS platform training at FRUCT12
Geo2tag LBS platform training at FRUCT12Geo2tag LBS platform training at FRUCT12
Geo2tag LBS platform training at FRUCT12OSLL
 
Linuxvirt seminar-csc-2015
Linuxvirt seminar-csc-2015Linuxvirt seminar-csc-2015
Linuxvirt seminar-csc-2015OSLL
 
Fast Artificial Landmark Detection for indoor mobile robots AIMAVIG'2015
Fast Artificial Landmark Detection for indoor mobile robots AIMAVIG'2015Fast Artificial Landmark Detection for indoor mobile robots AIMAVIG'2015
Fast Artificial Landmark Detection for indoor mobile robots AIMAVIG'2015OSLL
 
Студентам и не только. Как выступить с докладом по своей научной работе
Студентам и не только. Как выступить с докладом по своей научной работеСтудентам и не только. Как выступить с докладом по своей научной работе
Студентам и не только. Как выступить с докладом по своей научной работеOSLL
 

Andere mochten auch (20)

OLPC Mesh networking improvements
OLPC Mesh networking improvementsOLPC Mesh networking improvements
OLPC Mesh networking improvements
 
[MDBCI] Mariadb continuous integration tool
[MDBCI] Mariadb continuous integration tool[MDBCI] Mariadb continuous integration tool
[MDBCI] Mariadb continuous integration tool
 
MOOCs Virtual Lab in Modern Education
MOOCs Virtual Lab in Modern EducationMOOCs Virtual Lab in Modern Education
MOOCs Virtual Lab in Modern Education
 
Обзор Btrfs
Обзор BtrfsОбзор Btrfs
Обзор Btrfs
 
Обзор файловой системы GlusterFS
Обзор файловой системы GlusterFSОбзор файловой системы GlusterFS
Обзор файловой системы GlusterFS
 
Implementation of the new REST API for Open Source LBS-platform Geo2Tag
Implementation of the new REST API for Open Source LBS-platform Geo2TagImplementation of the new REST API for Open Source LBS-platform Geo2Tag
Implementation of the new REST API for Open Source LBS-platform Geo2Tag
 
SVG-player plugin for ns2 simulations
SVG-player plugin for ns2 simulationsSVG-player plugin for ns2 simulations
SVG-player plugin for ns2 simulations
 
E.Kalishenko, K.Krinkin, S.P.Shiva Prakash. Process Mining Approach for Traff...
E.Kalishenko, K.Krinkin, S.P.Shiva Prakash. Process Mining Approach for Traff...E.Kalishenko, K.Krinkin, S.P.Shiva Prakash. Process Mining Approach for Traff...
E.Kalishenko, K.Krinkin, S.P.Shiva Prakash. Process Mining Approach for Traff...
 
Обзор архитектуры [файловой] системы Ceph
Обзор архитектуры [файловой] системы CephОбзор архитектуры [файловой] системы Ceph
Обзор архитектуры [файловой] системы Ceph
 
Testing with Selenium
Testing with SeleniumTesting with Selenium
Testing with Selenium
 
Работа с геоданными в MongoDb
Работа с геоданными в MongoDbРабота с геоданными в MongoDb
Работа с геоданными в MongoDb
 
Обзор Linux Control Groups
Обзор Linux Control GroupsОбзор Linux Control Groups
Обзор Linux Control Groups
 
Open Source implementation of ZigBee
Open Source implementation of ZigBeeOpen Source implementation of ZigBee
Open Source implementation of ZigBee
 
Пространства имен Linux (linux namespaces)
Пространства имен Linux (linux namespaces)Пространства имен Linux (linux namespaces)
Пространства имен Linux (linux namespaces)
 
Virtual-HSM: Virtualization of Hardware Security Modules in Linux Containers
Virtual-HSM: Virtualization of Hardware Security Modules in Linux ContainersVirtual-HSM: Virtualization of Hardware Security Modules in Linux Containers
Virtual-HSM: Virtualization of Hardware Security Modules in Linux Containers
 
Кратчайшее введение в docker по-русски
Кратчайшее введение в docker по-русскиКратчайшее введение в docker по-русски
Кратчайшее введение в docker по-русски
 
Geo2tag LBS platform training at FRUCT12
Geo2tag LBS platform training at FRUCT12Geo2tag LBS platform training at FRUCT12
Geo2tag LBS platform training at FRUCT12
 
Linuxvirt seminar-csc-2015
Linuxvirt seminar-csc-2015Linuxvirt seminar-csc-2015
Linuxvirt seminar-csc-2015
 
Fast Artificial Landmark Detection for indoor mobile robots AIMAVIG'2015
Fast Artificial Landmark Detection for indoor mobile robots AIMAVIG'2015Fast Artificial Landmark Detection for indoor mobile robots AIMAVIG'2015
Fast Artificial Landmark Detection for indoor mobile robots AIMAVIG'2015
 
Студентам и не только. Как выступить с докладом по своей научной работе
Студентам и не только. Как выступить с докладом по своей научной работеСтудентам и не только. Как выступить с докладом по своей научной работе
Студентам и не только. Как выступить с докладом по своей научной работе
 

Ähnlich wie N8xx olpc connectivity

An FPGA for high end Open Networking
An FPGA for high end Open NetworkingAn FPGA for high end Open Networking
An FPGA for high end Open Networkingrinnocente
 
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
 
Analise NetFlow in Real Time
Analise NetFlow in Real TimeAnalise NetFlow in Real Time
Analise NetFlow in Real TimePiotr Perzyna
 
"One network to rule them all" - OpenStack Summit Austin 2016
"One network to rule them all" - OpenStack Summit Austin 2016"One network to rule them all" - OpenStack Summit Austin 2016
"One network to rule them all" - OpenStack Summit Austin 2016Phil Estes
 
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
 
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDNOpenStack Korea Community
 
20151222_Interoperability with ML2: LinuxBridge, OVS and SDN
20151222_Interoperability with ML2: LinuxBridge, OVS and SDN20151222_Interoperability with ML2: LinuxBridge, OVS and SDN
20151222_Interoperability with ML2: LinuxBridge, OVS and SDNSungman Jang
 
Neutron behind the scenes
Neutron   behind the scenesNeutron   behind the scenes
Neutron behind the scenesinbroker
 
Openstack Neutron Insights
Openstack Neutron InsightsOpenstack Neutron Insights
Openstack Neutron InsightsAtul Pandey
 
Yu linux-tsm2004
Yu linux-tsm2004Yu linux-tsm2004
Yu linux-tsm2004alegara
 
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
 
Open stack networking_101_update_2014-os-meetups
Open stack networking_101_update_2014-os-meetupsOpen stack networking_101_update_2014-os-meetups
Open stack networking_101_update_2014-os-meetupsyfauser
 
Gluing the iot world (ICT)
Gluing the iot world (ICT)Gluing the iot world (ICT)
Gluing the iot world (ICT)Pance Cavkovski
 
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
 
DCCN 2016 - Tutorial 2 - 4G for SmartGrid ecosystem
DCCN 2016 - Tutorial 2 - 4G for SmartGrid ecosystemDCCN 2016 - Tutorial 2 - 4G for SmartGrid ecosystem
DCCN 2016 - Tutorial 2 - 4G for SmartGrid ecosystemrudndccn
 
CSC 451551 Computer Networks Fall 2016Project 4 Softwar.docx
CSC 451551 Computer Networks Fall 2016Project 4 Softwar.docxCSC 451551 Computer Networks Fall 2016Project 4 Softwar.docx
CSC 451551 Computer Networks Fall 2016Project 4 Softwar.docxannettsparrow
 

Ähnlich wie N8xx olpc connectivity (20)

OpenStack sdn
OpenStack sdnOpenStack sdn
OpenStack sdn
 
An FPGA for high end Open Networking
An FPGA for high end Open NetworkingAn FPGA for high end Open Networking
An FPGA for high end Open Networking
 
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
 
Analise NetFlow in Real Time
Analise NetFlow in Real TimeAnalise NetFlow in Real Time
Analise NetFlow in Real Time
 
Networking in Openstack - Neutron 101
Networking in Openstack - Neutron 101Networking in Openstack - Neutron 101
Networking in Openstack - Neutron 101
 
"One network to rule them all" - OpenStack Summit Austin 2016
"One network to rule them all" - OpenStack Summit Austin 2016"One network to rule them all" - OpenStack Summit Austin 2016
"One network to rule them all" - OpenStack Summit Austin 2016
 
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
 
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
 
20151222_Interoperability with ML2: LinuxBridge, OVS and SDN
20151222_Interoperability with ML2: LinuxBridge, OVS and SDN20151222_Interoperability with ML2: LinuxBridge, OVS and SDN
20151222_Interoperability with ML2: LinuxBridge, OVS and SDN
 
Neutron behind the scenes
Neutron   behind the scenesNeutron   behind the scenes
Neutron behind the scenes
 
Openstack Neutron Insights
Openstack Neutron InsightsOpenstack Neutron Insights
Openstack Neutron Insights
 
Yu linux-tsm2004
Yu linux-tsm2004Yu linux-tsm2004
Yu linux-tsm2004
 
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...
 
Open stack networking_101_update_2014-os-meetups
Open stack networking_101_update_2014-os-meetupsOpen stack networking_101_update_2014-os-meetups
Open stack networking_101_update_2014-os-meetups
 
Gluing the iot world (ICT)
Gluing the iot world (ICT)Gluing the iot world (ICT)
Gluing the iot world (ICT)
 
Userspace networking
Userspace networkingUserspace networking
Userspace networking
 
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)
 
Slideshare
SlideshareSlideshare
Slideshare
 
DCCN 2016 - Tutorial 2 - 4G for SmartGrid ecosystem
DCCN 2016 - Tutorial 2 - 4G for SmartGrid ecosystemDCCN 2016 - Tutorial 2 - 4G for SmartGrid ecosystem
DCCN 2016 - Tutorial 2 - 4G for SmartGrid ecosystem
 
CSC 451551 Computer Networks Fall 2016Project 4 Softwar.docx
CSC 451551 Computer Networks Fall 2016Project 4 Softwar.docxCSC 451551 Computer Networks Fall 2016Project 4 Softwar.docx
CSC 451551 Computer Networks Fall 2016Project 4 Softwar.docx
 

Mehr von OSLL

SLAM Constructor Framework for ROS
SLAM Constructor Framework for ROSSLAM Constructor Framework for ROS
SLAM Constructor Framework for ROSOSLL
 
Full Automated Continuous Integration and Testing Infrastructure for Maxscale...
Full Automated Continuous Integration and Testing Infrastructure for Maxscale...Full Automated Continuous Integration and Testing Infrastructure for Maxscale...
Full Automated Continuous Integration and Testing Infrastructure for Maxscale...OSLL
 
Microservice architecture for Geo2Tag
Microservice architecture for Geo2TagMicroservice architecture for Geo2Tag
Microservice architecture for Geo2TagOSLL
 
Block-level compression in Linux. Pro et contra
Block-level compression in Linux. Pro et contraBlock-level compression in Linux. Pro et contra
Block-level compression in Linux. Pro et contraOSLL
 
Raspberry Pi robot with ROS
Raspberry Pi robot with ROSRaspberry Pi robot with ROS
Raspberry Pi robot with ROSOSLL
 
Source code analyzer
Source code analyzer Source code analyzer
Source code analyzer OSLL
 
Fruct14 sholokhova
Fruct14 sholokhovaFruct14 sholokhova
Fruct14 sholokhovaOSLL
 
SECR'13 Lightweight linux shared libraries profiling
SECR'13 Lightweight linux shared libraries profilingSECR'13 Lightweight linux shared libraries profiling
SECR'13 Lightweight linux shared libraries profilingOSLL
 
Smart-M3 and Geo2Tag integration
Smart-M3 and Geo2Tag integrationSmart-M3 and Geo2Tag integration
Smart-M3 and Geo2Tag integrationOSLL
 
HTML5 Intro and Tizen Web API
HTML5 Intro and Tizen Web APIHTML5 Intro and Tizen Web API
HTML5 Intro and Tizen Web APIOSLL
 
Fruct13 geo2tag-training
Fruct13 geo2tag-trainingFruct13 geo2tag-training
Fruct13 geo2tag-trainingOSLL
 
Json protocol, Geo2tag REST API fundamentals
Json protocol, Geo2tag REST API fundamentalsJson protocol, Geo2tag REST API fundamentals
Json protocol, Geo2tag REST API fundamentalsOSLL
 
Introduction to geo-tagging and geo2tag platform
Introduction to geo-tagging and geo2tag platformIntroduction to geo-tagging and geo2tag platform
Introduction to geo-tagging and geo2tag platformOSLL
 
Detection pulse by video
Detection pulse by video Detection pulse by video
Detection pulse by video OSLL
 
Using Intel NAS-PT for testing NAS disks
Using Intel NAS-PT for testing NAS disksUsing Intel NAS-PT for testing NAS disks
Using Intel NAS-PT for testing NAS disksOSLL
 

Mehr von OSLL (15)

SLAM Constructor Framework for ROS
SLAM Constructor Framework for ROSSLAM Constructor Framework for ROS
SLAM Constructor Framework for ROS
 
Full Automated Continuous Integration and Testing Infrastructure for Maxscale...
Full Automated Continuous Integration and Testing Infrastructure for Maxscale...Full Automated Continuous Integration and Testing Infrastructure for Maxscale...
Full Automated Continuous Integration and Testing Infrastructure for Maxscale...
 
Microservice architecture for Geo2Tag
Microservice architecture for Geo2TagMicroservice architecture for Geo2Tag
Microservice architecture for Geo2Tag
 
Block-level compression in Linux. Pro et contra
Block-level compression in Linux. Pro et contraBlock-level compression in Linux. Pro et contra
Block-level compression in Linux. Pro et contra
 
Raspberry Pi robot with ROS
Raspberry Pi robot with ROSRaspberry Pi robot with ROS
Raspberry Pi robot with ROS
 
Source code analyzer
Source code analyzer Source code analyzer
Source code analyzer
 
Fruct14 sholokhova
Fruct14 sholokhovaFruct14 sholokhova
Fruct14 sholokhova
 
SECR'13 Lightweight linux shared libraries profiling
SECR'13 Lightweight linux shared libraries profilingSECR'13 Lightweight linux shared libraries profiling
SECR'13 Lightweight linux shared libraries profiling
 
Smart-M3 and Geo2Tag integration
Smart-M3 and Geo2Tag integrationSmart-M3 and Geo2Tag integration
Smart-M3 and Geo2Tag integration
 
HTML5 Intro and Tizen Web API
HTML5 Intro and Tizen Web APIHTML5 Intro and Tizen Web API
HTML5 Intro and Tizen Web API
 
Fruct13 geo2tag-training
Fruct13 geo2tag-trainingFruct13 geo2tag-training
Fruct13 geo2tag-training
 
Json protocol, Geo2tag REST API fundamentals
Json protocol, Geo2tag REST API fundamentalsJson protocol, Geo2tag REST API fundamentals
Json protocol, Geo2tag REST API fundamentals
 
Introduction to geo-tagging and geo2tag platform
Introduction to geo-tagging and geo2tag platformIntroduction to geo-tagging and geo2tag platform
Introduction to geo-tagging and geo2tag platform
 
Detection pulse by video
Detection pulse by video Detection pulse by video
Detection pulse by video
 
Using Intel NAS-PT for testing NAS disks
Using Intel NAS-PT for testing NAS disksUsing Intel NAS-PT for testing NAS disks
Using Intel NAS-PT for testing NAS disks
 

N8xx olpc connectivity

  • 1. Mesh network implementation between Nokia Internet Tablet and OLPC/XO devices Arina Rudakova (Open Source Linux Lab, Saint-Petersburg Electrotechnical University «LETI») 5th FRUCT seminar Saint-Petersburg 30th of April 2009
  • 2. Introduction Goal Heterogeneous Mesh Network between: 1) Nokia N8x0 2) OLPC XO Steps 1. Nokia Internet Tablet 1) mesh driver upgrade 2) kernel upgrade 2. OLPC XO 1) mesh driver upgrade 2) kernel upgrade 3. Other needed drivers patching 2
  • 3. Mesh Network Mesh Networking – network technology providing multi- hop data forwarding and self-configuration. It makes higher levels think that the network is fully connected. The matter of our concern is IEEE 802.11s network – a wireless Mesh Network based on Wi-Fi technology. IEEE 802.11s standard has a status of draft. 3
  • 4. Hardware details Nokia N800 Networking: STLC4560 chip 802.11b/g (2.45GHz) Nokia N810 Networking: OLPC XO Networking: STLC4560 chip Marvell Libertas chipset 802.11b/g (2.45GHz) 802.11b/g (2.4GHz) 4
  • 5. Prerequisites Prism54 is a family of Wi-Fi PHY chips which may be wired to the host computer through PCI/USB/SPI interface. STLC4560 is a member of this family with SPI interface. Nokia's N800 and N810 carry this chip on-board. 5
  • 6. Prerequisites p54 driver that existed in Linux could work with chips connected through PCI and USB. It is well modularized, with all common code in p54common.c and bus-specific code in p54pci.c and p54usb.c respectively. This driver supported all modes of Wi-Fi operation. stlc45xx driver by Nokia can only work with STLC4550 and STLC4560. This driver only supported Managed Mode of operation, i.e. a client of an access point. 6
  • 7. Initial Plan 1. Proof of concept. Linux kernel from 2.6.26 supports mesh through mac80211 module. Step: connection of two different adapters using 2.6.27 kernel: 1) rt73usb-based adapter 2) b43-based adapter 2. Patch STLC45xx driver for Nokia N8x0 for 2.6.27 kernel. STLC45xx is mac80211-based driver. Step: patching the driver for 2.6.27 kernel to enable Mesh on Nokia N8x0. 3. Libertas_tf set-up on XO for 2.6.27 kernel. Libertas driver is a FullMAC driver so it doesn't work with mac80211. Libertas_tf is a mac80211-based driver. Step: the driver set-up for 2.6.27 kernel to enable Mesh on OLPC XO. 4. Connect N810 and XO via mesh. Step: the devices' Mesh interfaces enabling. Mesh Network configures automatically! 7
  • 9. IBSS-1 p54 -> stlc45xx 9
  • 10. SPI stlc45xx -> p54spi 10
  • 11. IBSS-2 stlc45xx -> x + IBSS/Mesh p54 -> stlc45xx 11
  • 13. Functional IBSS in stlc45xx 13
  • 14. Nokia N8x0 test-plan 1. Common 1) Split-join cycles (by the loss of radio visibility): verify that high level connection gets restored after split-join cycle. 2) Firmware buffer accounting on beacon updates: verify that firmware buffer doesn't get filled by abandoned frames; on high load: verify that flow control properly stops incoming packet queues once tx space gets exhausted & restarts them when space appears. 2. IBSS 1) Establishing IBSS: verify that beaconing starts in absence of other participants. 2) Joining IBSS (beacon update): verify that TSF beacon gets updated and STAs are in sync. 3) Taking beacon ownership on joining IBSS with one station: verify that beaconing occurs at even interval, perhaps by different nodes; on disappearing of beacon owner: verify that on shutdown of initial IBSS starter beaconing doesn't stop. 3. Mesh 1) Establishing peer link. 2) Finding mesh path. 14
  • 15. Testing scenario 1. Establish IP ping between two N8x0 and two OLPC XO located close to each other. 2. Surround a building with mesh points located at the corners of the surrounding square. 3. Make sure that two furthermost nodes can only see the closest intermediate nodes and intermediate nodes can see each other. 4. Capture ping packets walking by the line of people with devices. 5. Display hardware addresses in captured packets, showing that packets are retransmitted by the intermediate nodes. 15
  • 16. References to sources Initial stlc45xx IBSS patch: https://garage.maemo.org/pipermail /stlc45xx-devel/2008-November/000084.html Thread with 2nd stlc45xx IBSS patches: https://garage.maemo.org/pipermail /stlc45xx-devel/2009-January/thread.html P54spi patches are present in wireless-testing git tree after v2.6.30-rc1 label: http://git.kernel.org/?p=linux/kernel /git/linville/wireless-testing.git;a=summary OSLL site: http://osll.spb.ru/ 16