SlideShare a Scribd company logo
Approach to a problem
    of mesh‐connectivity between
XO laptops and Nokia MAEMO devices


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




              4rd FRUCT seminar



                      Tampere
                  29 November 2008
Introduction

      Problem definition
      Nokia N8x0 and OLPC XO interaction
        (heterogeneous mesh network)

      Steps
      
          Mesh driver and kernel driver
          upgrade
            
               in Nokia Internet Tablet
            
               in OLPC XO
      
          Other drivers patching for mesh-
          interconnection enabling




                                             2
OLPC XO configuration

    Dimensions: 242mm × 228mm × 32mm

    CPU x86-compatible processor AMD Geode LX-
    700 433 Mhz, 64KB each L1 I and D cache; at least
    128KB L2 cache

    DRAM memory: 256 MiB dynamic RAM

    BIOS: 1024KiB SPI-interface flash ROM

    Mass storage: 1024 MiB SLC NAND flash, high-
    speed flash controller

    Wireless Networking:
    
      integrated 802.11b/g (2.4GHz) interface;
    
      Mesh networking is supported by
      
        Marvell Libertas wireless chipset,
      
        88W8388 controller and 88W8015 radio.




                                                        3
Mesh network

Mesh – wireless network technology with self-organizing
 architecture enabling fully connected network creation.
Features

  Self-organizing

  Self-healing

  Optimal routing

  Large scaling
Types

  Infrastructure networks

  Client networks

  Hybrid networks



                                                           4
802.11s and OLPC-mesh
Wireless chipset: Libertas - FullMAC driver - enables Wi-Fi and
mesh support.
Libertas is the Marvel 88w838X series of wireless chipsets.
FullMAC drivers can't be used by the mac80211 module.
The IEEE802.11s draft is mostly followed in Libertas, but it's an
old version of draft.
Differences OLPC-mesh from 802.11s standard:
   Main differences:     Non implemented features:
      - Path asymmetry      - Link establishment
      - Metrics             - Security
                            - Medium a protocol
                            - Congestion Control
                            - Power Savings mode


                                                                5
Libertas

        Kernel                                Modules                Layers



/net/mac80211/                                      mac80211.ko      MAC


                                      libertas.ko

drivers/net/wireless/libertas{_tf}                                   PHY
                                                    libertas_tf.ko

                                                                     RF




                                                                           6
Kernels' features
Nokia announced mac80211-based driver – stlc45xx.
Nokia and XO use different kernel's modules for their wireless
 adapters.

    old kernels:
     − missing Mesh support in Nokia N8xx kernel
     − support IEEE802.11s v0.1(current version is 2.0) in XO


    new Linux kernel of 2.6.26 version supports mesh




                                                                 7
Plan

  Proof of concept

  Patch stcl45xx driver for Nokia N810

  Setup libertas_tf on XO

  Connect N810 and XO via mesh




                                         8
Proof of concept

    Trying to connect two different adapters via wireless
    mesh network using 2.6.27 kernel


                        Result

    Two system based on kernel 2.6.27 with wireless
    adapters rt73usb-based and b43-based send and
    receive pings from each other



                                                            9
Patch stlc45xx-driver for N810

    Trying to include stlc45xx-driver, which was
    published by Maemo, in 2.6.27 kernel


                         Result

    Following the driver set-up instructions lead to
    permanent device reboot

    Installing driver in clear kernel with busybox doesn't
    give a working driver


                                                             10
Setup libertas_tf on XO

    Trying to include libertas_tf driver from wireless-
    testing kernel branch, in 2.6.27 kernel


                         Result

    libertas_tf is initialized

    mac80211 doesn't call libertas_tf




                                                          11
Connect N810 and XO via mesh

    Trying to connect N810 and XO, using 2.6.27 kernel
    and required drivers


                        Result

    Network didn't start as drivers didn't work

    Potentially the connection should work once drivers
    are tuned because of proof of concept step



                                                          12
Problems


  Existing mesh-drivers organization is unknown

  Network packet format is unknown




                                                  13
Future

Traffic control in Mesh Networks

  Mesh network infrastructure model development
   
     QoS control
   
     Dynamic topology reconfiguration
   
     Management traffic volume control
   
     Load balancing

  Routing algorithm development

  Open source implementation




                                                  14
Thank you!

Your questions, please.




                          15

More Related Content

Viewers also liked

[MDBCI] Mariadb continuous integration tool
[MDBCI] Mariadb continuous integration tool[MDBCI] Mariadb continuous integration tool
[MDBCI] Mariadb continuous integration tool
OSLL
 
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
OSLL
 
MOOCs Virtual Lab in Modern Education
MOOCs Virtual Lab in Modern EducationMOOCs Virtual Lab in Modern Education
MOOCs Virtual Lab in Modern Education
OSLL
 
Обзор Btrfs
Обзор BtrfsОбзор Btrfs
Обзор Btrfs
OSLL
 
OLPC Mesh networking improvements
OLPC Mesh networking improvementsOLPC Mesh networking improvements
OLPC Mesh networking improvements
OSLL
 
Обзор файловой системы GlusterFS
Обзор файловой системы GlusterFSОбзор файловой системы GlusterFS
Обзор файловой системы GlusterFS
OSLL
 
SVG-player plugin for ns2 simulations
SVG-player plugin for ns2 simulationsSVG-player plugin for ns2 simulations
SVG-player plugin for ns2 simulations
OSLL
 
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
Обзор архитектуры [файловой] системы Ceph
OSLL
 
Testing with Selenium
Testing with SeleniumTesting with Selenium
Testing with Selenium
OSLL
 
Работа с геоданными в MongoDb
Работа с геоданными в MongoDbРабота с геоданными в MongoDb
Работа с геоданными в MongoDb
OSLL
 
Open Source implementation of ZigBee
Open Source implementation of ZigBeeOpen Source implementation of ZigBee
Open Source implementation of ZigBee
OSLL
 
Обзор Linux Control Groups
Обзор Linux Control GroupsОбзор Linux Control Groups
Обзор Linux Control Groups
OSLL
 
Пространства имен 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 Containers
OSLL
 
Кратчайшее введение в docker по-русски
Кратчайшее введение в docker по-русскиКратчайшее введение в docker по-русски
Кратчайшее введение в docker по-русски
OSLL
 
форма художнього твору
форма художнього творуформа художнього твору
форма художнього творуWitusya
 
однорідні члени речення
однорідні члени реченняоднорідні члени речення
однорідні члени речення
Witusya
 
Linuxvirt seminar-csc-2015
Linuxvirt seminar-csc-2015Linuxvirt seminar-csc-2015
Linuxvirt seminar-csc-2015
OSLL
 
Geo2tag LBS platform training at FRUCT12
Geo2tag LBS platform training at FRUCT12Geo2tag LBS platform training at FRUCT12
Geo2tag LBS platform training at FRUCT12
OSLL
 

Viewers also liked (20)

[MDBCI] Mariadb continuous integration tool
[MDBCI] Mariadb continuous integration tool[MDBCI] Mariadb continuous integration tool
[MDBCI] Mariadb continuous integration tool
 
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
 
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
 
OLPC Mesh networking improvements
OLPC Mesh networking improvementsOLPC Mesh networking improvements
OLPC Mesh networking improvements
 
Обзор файловой системы GlusterFS
Обзор файловой системы GlusterFSОбзор файловой системы GlusterFS
Обзор файловой системы GlusterFS
 
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
 
Open Source implementation of ZigBee
Open Source implementation of ZigBeeOpen Source implementation of ZigBee
Open Source implementation of ZigBee
 
Обзор Linux Control Groups
Обзор Linux Control GroupsОбзор Linux Control Groups
Обзор Linux Control Groups
 
Пространства имен 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 по-русски
 
форма художнього твору
форма художнього творуформа художнього твору
форма художнього твору
 
однорідні члени речення
однорідні члени реченняоднорідні члени речення
однорідні члени речення
 
Linuxvirt seminar-csc-2015
Linuxvirt seminar-csc-2015Linuxvirt seminar-csc-2015
Linuxvirt seminar-csc-2015
 
Geo2tag LBS platform training at FRUCT12
Geo2tag LBS platform training at FRUCT12Geo2tag LBS platform training at FRUCT12
Geo2tag LBS platform training at FRUCT12
 

Similar to Fruct4 n8xx olpc-connectivity

Userspace networking
Userspace networkingUserspace networking
Userspace networking
Stephen Hemminger
 
International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)
ijceronline
 
Openstack Neutron Insights
Openstack Neutron InsightsOpenstack Neutron Insights
Openstack Neutron Insights
Atul Pandey
 
Gluing the iot world (ICT)
Gluing the iot world (ICT)Gluing the iot world (ICT)
Gluing the iot world (ICT)
Pance Cavkovski
 
Network Virtualization for Cloud Services Infrastructure
Network Virtualization for Cloud Services InfrastructureNetwork Virtualization for Cloud Services Infrastructure
Network Virtualization for Cloud Services Infrastructure
Shahryar Ali
 
OpenStack Networking and Automation
OpenStack Networking and AutomationOpenStack Networking and Automation
OpenStack Networking and Automation
Adam Johnson
 
Mcse notes
Mcse notesMcse notes
Mcse notes
Dreams Design
 
Tos tutorial
Tos tutorialTos tutorial
Tos tutorial
manikainth
 
Openstack Workshop (Networking/Storage)
Openstack Workshop (Networking/Storage)Openstack Workshop (Networking/Storage)
Openstack Workshop (Networking/Storage)
Affan Syed
 
Presentation11
Presentation11Presentation11
Presentation11
KellyCheah
 
Again music
Again musicAgain music
Again music
variable_orr
 
VOICE
VOICEVOICE
VOICE
CiscoV1
 
An Introduce of OPNFV (Open Platform for NFV)
An Introduce of OPNFV (Open Platform for NFV)An Introduce of OPNFV (Open Platform for NFV)
An Introduce of OPNFV (Open Platform for NFV)
Mario Cho
 
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
Samsung Open Source Group
 
Linux 802.11 subsystem and brcmsmac WLAN driver
Linux 802.11 subsystem and brcmsmac WLAN driverLinux 802.11 subsystem and brcmsmac WLAN driver
Linux 802.11 subsystem and brcmsmac WLAN driver
Midhun Lohidakshan
 
Calico and how interprets neutron api
Calico and how interprets neutron apiCalico and how interprets neutron api
Calico and how interprets neutron api
D.Rajesh Kumar
 
Mcse notes
Mcse notesMcse notes
Mcse notes
vrammn
 
Openstack Networking Internals - first part
Openstack Networking Internals - first partOpenstack Networking Internals - first part
Openstack Networking Internals - first part
lilliput12
 
Clustering
ClusteringClustering
Clustering
Abhay Pai
 
Intel® RDT Hands-on Lab
Intel® RDT Hands-on LabIntel® RDT Hands-on Lab
Intel® RDT Hands-on Lab
Michelle Holley
 

Similar to Fruct4 n8xx olpc-connectivity (20)

Userspace networking
Userspace networkingUserspace networking
Userspace networking
 
International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)
 
Openstack Neutron Insights
Openstack Neutron InsightsOpenstack Neutron Insights
Openstack Neutron Insights
 
Gluing the iot world (ICT)
Gluing the iot world (ICT)Gluing the iot world (ICT)
Gluing the iot world (ICT)
 
Network Virtualization for Cloud Services Infrastructure
Network Virtualization for Cloud Services InfrastructureNetwork Virtualization for Cloud Services Infrastructure
Network Virtualization for Cloud Services Infrastructure
 
OpenStack Networking and Automation
OpenStack Networking and AutomationOpenStack Networking and Automation
OpenStack Networking and Automation
 
Mcse notes
Mcse notesMcse notes
Mcse notes
 
Tos tutorial
Tos tutorialTos tutorial
Tos tutorial
 
Openstack Workshop (Networking/Storage)
Openstack Workshop (Networking/Storage)Openstack Workshop (Networking/Storage)
Openstack Workshop (Networking/Storage)
 
Presentation11
Presentation11Presentation11
Presentation11
 
Again music
Again musicAgain music
Again music
 
VOICE
VOICEVOICE
VOICE
 
An Introduce of OPNFV (Open Platform for NFV)
An Introduce of OPNFV (Open Platform for NFV)An Introduce of OPNFV (Open Platform for NFV)
An Introduce of OPNFV (Open Platform for NFV)
 
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
 
Linux 802.11 subsystem and brcmsmac WLAN driver
Linux 802.11 subsystem and brcmsmac WLAN driverLinux 802.11 subsystem and brcmsmac WLAN driver
Linux 802.11 subsystem and brcmsmac WLAN driver
 
Calico and how interprets neutron api
Calico and how interprets neutron apiCalico and how interprets neutron api
Calico and how interprets neutron api
 
Mcse notes
Mcse notesMcse notes
Mcse notes
 
Openstack Networking Internals - first part
Openstack Networking Internals - first partOpenstack Networking Internals - first part
Openstack Networking Internals - first part
 
Clustering
ClusteringClustering
Clustering
 
Intel® RDT Hands-on Lab
Intel® RDT Hands-on LabIntel® RDT Hands-on Lab
Intel® RDT Hands-on Lab
 

More from OSLL

SLAM Constructor Framework for ROS
SLAM Constructor Framework for ROSSLAM Constructor Framework for ROS
SLAM Constructor Framework for ROS
OSLL
 
Студентам и не только. Как выступить с докладом по своей научной работе
Студентам и не только. Как выступить с докладом по своей научной работеСтудентам и не только. Как выступить с докладом по своей научной работе
Студентам и не только. Как выступить с докладом по своей научной работе
OSLL
 
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 Geo2Tag
OSLL
 
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
OSLL
 
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
OSLL
 
Raspberry Pi robot with ROS
Raspberry Pi robot with ROSRaspberry Pi robot with ROS
Raspberry Pi robot with ROS
OSLL
 
Source code analyzer
Source code analyzer Source code analyzer
Source code analyzer
OSLL
 
Fruct14 sholokhova
Fruct14 sholokhovaFruct14 sholokhova
Fruct14 sholokhova
OSLL
 
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
OSLL
 
Smart-M3 and Geo2Tag integration
Smart-M3 and Geo2Tag integrationSmart-M3 and Geo2Tag integration
Smart-M3 and Geo2Tag integration
OSLL
 
HTML5 Intro and Tizen Web API
HTML5 Intro and Tizen Web APIHTML5 Intro and Tizen Web API
HTML5 Intro and Tizen Web API
OSLL
 
Fruct13 geo2tag-training
Fruct13 geo2tag-trainingFruct13 geo2tag-training
Fruct13 geo2tag-training
OSLL
 
Json protocol, Geo2tag REST API fundamentals
Json protocol, Geo2tag REST API fundamentalsJson protocol, Geo2tag REST API fundamentals
Json protocol, Geo2tag REST API fundamentals
OSLL
 
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
OSLL
 
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
 

More from OSLL (17)

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

Fruct4 n8xx olpc-connectivity

  • 1. Approach to a problem of mesh‐connectivity between XO laptops and Nokia MAEMO devices Arina Rudakova (Saint-Petersburg Elelectrotechnical University «LETI», Open Source Linux Lab) 4rd FRUCT seminar Tampere 29 November 2008
  • 2. Introduction Problem definition Nokia N8x0 and OLPC XO interaction (heterogeneous mesh network) Steps  Mesh driver and kernel driver upgrade  in Nokia Internet Tablet  in OLPC XO  Other drivers patching for mesh- interconnection enabling 2
  • 3. OLPC XO configuration  Dimensions: 242mm × 228mm × 32mm  CPU x86-compatible processor AMD Geode LX- 700 433 Mhz, 64KB each L1 I and D cache; at least 128KB L2 cache  DRAM memory: 256 MiB dynamic RAM  BIOS: 1024KiB SPI-interface flash ROM  Mass storage: 1024 MiB SLC NAND flash, high- speed flash controller  Wireless Networking:  integrated 802.11b/g (2.4GHz) interface;  Mesh networking is supported by  Marvell Libertas wireless chipset,  88W8388 controller and 88W8015 radio. 3
  • 4. Mesh network Mesh – wireless network technology with self-organizing architecture enabling fully connected network creation. Features  Self-organizing  Self-healing  Optimal routing  Large scaling Types  Infrastructure networks  Client networks  Hybrid networks 4
  • 5. 802.11s and OLPC-mesh Wireless chipset: Libertas - FullMAC driver - enables Wi-Fi and mesh support. Libertas is the Marvel 88w838X series of wireless chipsets. FullMAC drivers can't be used by the mac80211 module. The IEEE802.11s draft is mostly followed in Libertas, but it's an old version of draft. Differences OLPC-mesh from 802.11s standard: Main differences: Non implemented features: - Path asymmetry - Link establishment - Metrics - Security - Medium a protocol - Congestion Control - Power Savings mode 5
  • 6. Libertas Kernel Modules Layers /net/mac80211/ mac80211.ko MAC libertas.ko drivers/net/wireless/libertas{_tf} PHY libertas_tf.ko RF 6
  • 7. Kernels' features Nokia announced mac80211-based driver – stlc45xx. Nokia and XO use different kernel's modules for their wireless adapters.  old kernels: − missing Mesh support in Nokia N8xx kernel − support IEEE802.11s v0.1(current version is 2.0) in XO  new Linux kernel of 2.6.26 version supports mesh 7
  • 8. Plan  Proof of concept  Patch stcl45xx driver for Nokia N810  Setup libertas_tf on XO  Connect N810 and XO via mesh 8
  • 9. Proof of concept  Trying to connect two different adapters via wireless mesh network using 2.6.27 kernel Result  Two system based on kernel 2.6.27 with wireless adapters rt73usb-based and b43-based send and receive pings from each other 9
  • 10. Patch stlc45xx-driver for N810  Trying to include stlc45xx-driver, which was published by Maemo, in 2.6.27 kernel Result  Following the driver set-up instructions lead to permanent device reboot  Installing driver in clear kernel with busybox doesn't give a working driver 10
  • 11. Setup libertas_tf on XO  Trying to include libertas_tf driver from wireless- testing kernel branch, in 2.6.27 kernel Result  libertas_tf is initialized  mac80211 doesn't call libertas_tf 11
  • 12. Connect N810 and XO via mesh  Trying to connect N810 and XO, using 2.6.27 kernel and required drivers Result  Network didn't start as drivers didn't work  Potentially the connection should work once drivers are tuned because of proof of concept step 12
  • 13. Problems  Existing mesh-drivers organization is unknown  Network packet format is unknown 13
  • 14. Future Traffic control in Mesh Networks  Mesh network infrastructure model development  QoS control  Dynamic topology reconfiguration  Management traffic volume control  Load balancing  Routing algorithm development  Open source implementation 14

Editor's Notes

  1. The next presentation is about the approach to a problem of mesh-connectivity between XO laptops and Nokia MAEMO devices.
  2. Mesh networks are becoming more and more popular. Many companies produce new devices supporting mesh interconnections. It is very convenient to use different devices in one heterogeneous mesh network. Here the problem of their interoperability comes. We considered this problem on the example of Nokia Internet Tablet and OLPC XO interaction. The OSLL team updated mesh-drivers and kernels in Nokia Tablet and XO in order to make them interact with each other. Also some other drivers of simple devices were patched and checked for the ability to interact.
  3. There are some technical characteristics of OLPC XO. This laptop has low-power processor and is rather short of dynamic memory. Wireless networking in XO is supported by Marvell Libertas wireless chipset.
  4. Lets refresh our memory about what mesh is. Mesh network is a self-organizing fully connected network. It is also self-healing, self-managed and large scaling. The network uses optimal traffic routing. An optimal route can be, for example, the shortest one, or the route with low load ratio. There are 3 main types of mesh networks. They are infrastructure, client and hybrid networks. In infrastructure network mesh routers are not mobile and form an infrastructure for mobile clients. In client network there are only client nodes able to act both as a router and as an access point to the network. Hybrid networks have infrastructure and mobile nodes where part of mobile nodes are also able to act as a router. We are concerned with client networks.
  5. This slide shows what kind of mesh is there in OLPC XO. The laptop has the Marvell Libertas wireless chipset. It is a FullMAC wireless card so it has its own implementation of MAC Management Entity (MLME) and it cannot work with mesh mac-layer interface of the IEEE 802.11s draft. Libertas follows an older variant of the draft so there are some differences from the current version. Main differences lay in path asymmetry and metrics. In OLPC XO paths are considered to be asymmetric so a path between S and D is not assumed to be also a good path between D and S. And it can be quite true for radio transmissions. But in new variant of draft these paths are considered to be of equal quality. The calculation of link cost is also very different. In new draft it is counted from the time needed to successfully transmit a frame. So such metric includes the probability of error. While in XO a link cost is derived only from the data rate of each received route request. This metric doesn't account for the probability of error. Some features from mesh draft are not implemented in XO. First of all, there is no link establishment. XO doesn't check whether a link is still active. An active neighbour will be a one hop distant neighbour from the forwarding table, and nothing else. The next point is security. Currently no security mechanism is implemented at the link layer. Another lacking feature is medium access protocol. XO uses the Distributed Coordination Function while the draft uses new coordination function called Mesh Deterministic Access. XO also lacks any congestion control mechanism and power saving mode.
  6. Here you can see how two Libertas editions developed for different Linux kernels. XO laptop uses old kernel with Libertas driver. It enables mesh interconnections on physical, MAC and radio frequency layers. The new 2.6.27 kernel uses an alternative thin driver - called Libertas_tf - based on mac-layer mesh stack.
  7. Lets have a look at current Nokia Internet Tablet and OLPC XO kernels and at the newest Linux kernel as well. Nokia announced an opensource mac80211-based driver but OLPC XO uses another wireless driver so these devices cannot interoperate. Also new Nokia driver is not supported in its current kernel which lacks mac80211 stack. New Linux kernel solves both the problem of mesh functioning in these devices and the problem of their interoperability by providing the same mesh interface.
  8. The plan of problem solving consists of 4 steps. First of all it is needed to prove the concept of using new kernel on the example of other drivers. The next steps are patching new Nokia mesh-driver and installing Libertas_tf on XO. The last step is checking the connection between Nokia810 and XO.
  9. The first step is the proof of concept based on two different adapters. It succeeded as the systems can send and receive pings from each other.
  10. At first we tried to include driver in new kernel following the instructions but driver starting leads to rebooting. Then we tried to install driver in clear kernel with the help of only busybox. After that the device was trying to join an infrastructure network and not to organise mesh. Some problem with the firmware was detected.
  11. Libertas_tf was installed and initialized but it doesn't work properly on XO. Its function of network interface creation isn't called by the mac80211 stack.
  12. We experience some problems while organizing the Nokia-XO connection what slows down the work. Still the finish of drivers tuning is close.
  13. After having created an acting heterogeneous network it will be possible to work on its efficient usage. So the next goal is to control traffic in Mesh Networks. For doing this the stages are already planned and partly done. These steps are an infrastructure model development, routing algorithm development and open source realization. The network model should be able to control QoS, to reconfigure network's topology dynamically, to control management traffic volume and to balance network's load.
  14. Thank you! Ask your questions, please.