1. Mesh network implementation betweenNokia 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 NetworkMesh 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
5. PrerequisitesPrism54 is a family of Wi-Fi PHY chips which
may be wired to the hostcomputer through PCI/USB/SPI
interface.STLC4560 is a member of this family with SPI interface.
Nokias N800and N810 carry this chip on-board. 5
6. Prerequisitesp54 driver that existed in Linux could work
with chips connected throughPCI and USB. It is well modularized,
with all common code inp54common.c and bus-specific code in
p54pci.c and p54usb.crespectively. 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 anaccess point. 6
7. Initial Plan1. 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 adapter2. 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 doesnt 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
8. Timeline 8
9. IBSS-1 p54 -> stlc45xx 9
10. SPI stlc45xx -> p54spi 10
11. IBSS-2 stlc45xx -> x +IBSS/Mesh p54 -> stlc45xx
11
12. SPI p54spi fixes 12
13. Functional IBSS in stlc45xx 13
14. Nokia N8x0 test-plan1. 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 doesnt 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 doesnt stop.3.
Mesh 1) Establishing peer link. 2) Finding mesh path. 14
15. Testing scenario1. 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 sourcesInitial stlc45xx IBSS patch:
https://garage.maemo.org/pipermail
/stlc45xx-devel/2008-November/000084.htmlThread with 2nd stlc45xx
IBSS patches: https://garage.maemo.org/pipermail
/stlc45xx-devel/2009-January/thread.htmlP54spi patches are present
in wireless-testing git treeafter v2.6.30-rc1 label:
http://git.kernel.org/?p=linux/kernel
/git/linville/wireless-testing.git;a=summaryOSLL site:
http://osll.spb.ru/ 16