Towards Wireless Open Hardware Routers and WLAN Servers

At the CeBIT I had the chance to talk to some fantastic folks of direct open embedded systems, a new Latvian company that is producing WLAN devices based on the GNU/Linux distributions like OpenWRT, OpenEmbedded and FlashSYS Linux.

In the video they present their devices and some show cases as well as FlashSYS, their own web based firmware for small router computers.

FlashSYS environment is a cross-operating system clent-server environment that allows developers to use existing web development skills (HTML, JavaScript, Ajax, Flash, SQLite, and Lua) to build and deploy Rich Internet Applications (RIA) for an embedded system with a very small footprint. (http://openrb.com)

direct open embedded systems is able to produce WLAN devices that can act as small web servers with currently up to 64 GB storage space.

Most of the free and open source companies presented their products in hall 5, which was packed with crowds of people. You can get an idea when you hear the background noise in the video. The interest in free and open source technologies is amazing and ever increasing.

 

Some more specifications of the router devices:

  • Bittorent, FTP, HTTP download clients included. Now you don’t have to leave your computer on to complete your downloads, they can be easily stored on a Compact Flash card (up to 64GB) or on external USB Flash / hard disk

  • Network OS with AJAX user interface

  • Integrated organizer with Calendar, To-do and Notes

  • RSS feed reader

  • LCD screen for displaying news, notes and current activities

  • P2P streaming media server for video and audio

  • Very rich network functionality (QoS, tunnels, routing, firewall, NAT, etc.)

Extendable

  • PCI bus for wireless interfaces, video, Ethernet and other miniPCI devices

  • I2C bus for serial memory, A/D and D/A converters, temperature/voltage monitors

  • RS232/RS485 for keyboard, LCD and other devices for industrial applications

  • USB host with two ports for various serial devices from flash disks to web cameras

  • GPIO for relays, LEDs, etc.

Memory

  • RAM: up to 512 MB

  • Flash: 8 MB on-board, extendable up to 64 GB using CompactFlash

Green and energy saving

  • Fully ROHS compliant

  • Processor power consumption (typical): 0.72 W at 266 MHz

Stable

  • Hardware watchdog timer

  • Industrial temperature grade

  • ESD protected Ethernet and power ports

  • Reliable tantalum capacitors on board except for only one electrolytic cap

Software ported to

  • OpenEmbedded Linux

  • OpenWRT Linux

  • FlashSYS Linux with revolutionary AJAX interface

  • eCOS Real Time operating system

Created for

  • Wireless and wired router solutions

  • Machine2Machine (M2M) applications

  • Industrial applications

  • Home wireless AP and media servers

  • Automation devices

Wireless

  • Chipset Atheros AR5414

  • IEEE Standards 802.11a/b/g (2.4/5 GHz)

  • Security Hardware 64 and 128 bit WEP; Hardware TKIP and AES-CCM encryption; WPA authentication

  • Bandwidth up to 108 Mbps

  • Modulation OFDM, TDD

Technical details

  • PowerPC processor: 266 or 333 MHz clock frequency

  • 1 or 2 ESD protected Ethernet ports

  • miniPCI sockets for 802.11 wireless cards and other expansion

  • 32-512 MB SDRAM, 64 bit wide for high memory bandwidth

  • 8 MB FLASH for system BIOS and programs

  • True IDE CompactFlash (CF) header for custom OS and applications

  • 7 to 36 V DC supply through DC jack or passive power over LAN connector

  • 2 RS232 serials ports (1 DB9 male socket), RS485 interface header

  • JTAG interface header

  • Hardware and software watchdog timers

  • LM75 thermal monitor

  • GPIO header

  • USB 2.0 host

  • I2C bus header (can be used for front panel interface)

  • 2 LEDs and 1 pushbutton switch, freely programmable

  • Board size: 115 mm x 97 mm

  • CE certified

Freifunk-Firmware auf Basis der Linuxdistribution OpenWRT ermöglicht Aufbau freier Netze

Was ist eine Firmware? Wozu brauche ich sie? Diese und weitere Fragen werden im Freifunk-Wiki behandelt. Ich habe versucht dies für Neueinsteiger etwas deutlicher zu machen und hierzu einige Hintergründe erläutert. Verbesserungen und Korrektionen bitte als Kommentar oder direkt im Wiki verbessern 🙂

Freifunk steht für den Aufbau freier lokaler Netze. Dies ermöglicht
die Freifunk-Firmware. Jeder Nutzer im Freifunk-Netz stellt seinen
WLAN-Router für den Datentransfer der anderen Teilnehmer zur Verfügung.
Die Router verbinden sich untereinander. Ein lokales Netz entsteht.
Dies funktioniert unabhängig vom Internet.

Standardmäßig verfügen WLAN-Router jedoch nur selten über die
Funktionalität sich untereinander zu verbinden. Die Software der Geräte
ist nicht dafür ausgelegt, dass sie sich automatisch mit anderen
verbinden und ein vermaschtes Netzwerk bilden. Sie sind oft lediglich
in der Lage Drahtlosgeräte wie z.B. Laptops per Funk an ein ebenfalls
angeschlossenes oder manchmal auch integriertes DSL-Gerät in das
Internet "zu routen".

In vielen WLAN-Routern ist die Hardware jedoch zu mehr in der
Lage. Damit ein WLAN-Router versteht, was er tun soll, braucht man
Software, ein System, was die Hardware steuert. Genauso wie jeder
Computer braucht ein WLAN-Router ein Betriebssystem. Kauft man einen
Router im Laden werden diese bereits mit einem System (oft proprietäres
unfreies System) ausgeliefert. Damit der Router in die Lage versetzt
wird zusätzliche Funktionalitäten auszuüben, braucht er ein
höherwertiges Betriebssystem. Aufgrund jahrelanger Vorarbeit der GNU
und Linuxcommunity, konnten Freifunk-Aktive auf Basis von OpenWRT ein
Betriebssystem für Router entwickeln, dass Routern neue
Funktionalitäten "beibringt" – die Freifunk-Firmware.

Mit Hilfe der auf WLAN-Routern installierten Freifunk Firmware können sich Nutzer in freien Funknetzen untereinander verbinden und freie Meshnetzwerke aufbauen. Unabhängig vom Internet können sie innerhalb dieser Netze Daten, wie zum Beispiel Text, Musik und Filme über das interne Freifunk-Netz übertragen oder über von Teilnehmern eingerichtete Dienste im Netz Chatten, Telefonieren und gemeinsam Onlinegames spielen. Viele Teilnehmer stellen ebenfalls ihren Internetzugang zur Verfügung und ermöglichen anderen mit ihnen verbundenen Teilnehmern den Zugang zum weltweiten Netz. Über Plugins kann die Freifunk-Firmware zudem erweitert werden, so wie man es auch vom Firefox-Browser kennt.

Mehr im Freifunk-Wiki unter: http://wiki.freifunk.net/Freifunk_Firmware und http://wiki.freifunk.net/Freifunk-Firmware_Installation

B.A.T.M.A.N.-Release-Party at the c-base in Berlin

(via Marek Lindner) Time: Wednesday 20th June
2007 / Place: c-base berlin

The B.A.T.M.A.N.-developer team would
be happy to celebrate with YOU the 0.2 release of B.A.T.M.A.N. at
the C-Base (in Berlin). FYI, there will also be a free barrel of cool
beer waiting to be flushed. Version 0.2 can reasonably be called
stable now. It works quite performant, supports multiple interfaces,
has a low CPU-load, a robustly working algorithm underneath, and
autonomously negotiates UDP-Tunnels to GWs  which ultimately
enables long-term and stable internet connections. A number of users
reported quite excitedly about the amazing experiences they made with
this protocol. Well, we want to stay neutral so join in to hear them
and try batman for yourself.

Currently B.A.T.M.A.N is
available for Linux only. The ports for Mac OS-X and BSD have fallen
asleep and are waiting for a diligent bee … Maybe there will once
also exist a windows port.

Many thanks to all the people who
helped to realize this in such a short amount of time.

Merchandizing
^^^^^^^^^^^^^^^^^^^
We
are thinking about printing further T-shirts with the
B.A.T.M.A.N.-Logo (as you can see on http://open-mesh.net/batman
) and sell them at the cost of expenses. Unfortunately the price is
not clear by now but will be about or less than 15 Euro. If you are
interested please send a mail with your size and the limit you are
willing to pay.

Considerations for the parallel operation of
OLSR and
B.A.T.M.A.N.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
In
Berlin we are now facing a phase in which both routing protocols will
be used in parallel. Currently we are aware of one issue where this
can cause problems. This is in case of OLSR-Internet traffic passing
a dual-stack (OLSR and B.A.T.M.A.N.) node where the B.A.T.M.A.N
daemon is configured for tunneled GW selection. Then each
OLSR-towards-internet packet will be magically caught and warped to
the currently selected (and maybe several hops away) B.A.T.M.A.N. GW.
where the packets pop-up again and follow their usual path through
the internet to their final destination. This has caused confusion
since also programs like traceroute do not show the intermediate hops
which the packet has passed (tunnelled)  between the related
B.A.T.M.A.N. node and the GW.

This is because such a
dual-stack mesh node (where the B.A.T.M.A.N daemon is configured for
tunneled GW selection) consequently has two default routes. One due
to OLSR and another due to B.A.T.M.A.N.. The thing is, that both are
ending up in the same routing table and one of them (the latter) has
a higher priority than the other. So every packet passing along with
a destination address matching only the default entry of the routing
table will end up in the tunnel to the currently selected
B.A.T.M.A.N. GW.

The Internet-GW selection mode of
B.A.T.M.A.N. is optional and should be disabled or used with care
especially on nodes with a dedicated RF-postion (and such used by
many others as an intermediate hop) like churches and other high
buildings. Enduser using Notebooks or PDAs should be able to use this
feature without causing trouble.

Outlook
^^^^^^
In
order to make the parallel deployment of both protocols even more
smoothly, a number of new features have found their way into 0.3.
Then it will also be possible to maintain and use a the OLSR and the
B.A.T.M.A.N. default route in parallel.

Therefore we will also
release the first version of the upcoming B.A.T.M.A.N. generation
(0.3 alpha).

At the same time we already began working on the
next generation of B.A.T.M.A.N. which will be called B.A.T.M.A.N.
Advanced. It works on Layer 2 and creates a virtual network switch of
all nodes participating. It offers a bunch of new possibilities and
features which wait for you to be explored. To offer you a stable
plattform you can experiment with we will release 0.1 alpha. We will
also provide a set of tools (the B.A.T.M.A.N. toolchain – battool)
to bring you in the position to observe the magic and to debug your
setup or our daemon.  😉

B.A.T.M.A.N.-Release-Party in der c-base in Berlin

(via Marek Lindner) Zeit: Mittwoch 20.Juni 2007 / Ort:
c-base berlin

Das B.A.T.M.A.N.-Entwicklerteam freut
sich Euch mitteilen zu können, dass am Abend des 20. Juni die
Veröffentlichung der Programmversion 0.2. mit einem gut
gekühlten Fass FreiBier in der C-Base Berlin gefeiert wird. Die
Programmversion 0.2 kann dann zu Recht als 'Stable' bezeichnet
werden. Sie arbeitet performant, unterstützt mehrere Interfaces,
handelt bei Bedarf selbständig UDP-Tunnels zu Internetgateways
aus, hat eine geringe CPU-Last und einen solide arbeitenden
Algorithmus.  So mancher Anwender berichtet über seine
Erfahrungen mit dem Protokoll mit leuchtenden Augen da
Internetverbindungen wegen der Tunnelfunktion auf einmal stabil
laufen und nicht mehr abbrechen. Würden wir sie jetzt zitieren
klänge das zu sehr nach Werbung, also probiert es selbst. 
😉

Im Moment gibt es B.A.T.M.A.N. nur für Linux, die
Ports für Mac OS-X und BSD sind eingeschlafen und warten auf
fleißige Bienchen die sich darum kümmern. Wir gehen davon
aus, dass sich dafür Leute finden werden, wenn B.A.T.M.A.N.
stärker verbreitet ist. Vielleicht gibt es dann auch einen
Windows-Port.

Vielen Dank an alle, die das in so kurzer Zeit
ermöglicht haben!!!

Merchandising
^^^^^^^^^^
Wir
denken zur Zeit darüber nach, nochmal T-Shirts mit dem
B.A.T.M.A.N.-Logo gegen einen Unkostenbeitrag zu machen.
Vorbestellungen nehmen wir per Mail mit Größenangabe
entgegen. Bitte teilt Uns mit, welche Preisobergrenze Ihr bereit seid
dafür zu bezahlen. Der Preis steht momentan noch nicht fest und
hängt davon ab, wo wir die Shirts drucken lassen. Er sollte aber
um die 15 Euro oder darunter liegen.

Überlegungen zum
Parallel-Betrieb von OLSR und
B.A.T.M.A.N.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Es
steht nun eine Phase bevor, in der beide Routingprotokolle
übergangsweise parallel eingesetzt werden. Das kann zu 
Problemen führen. Sobald der Internet-Traffic von OLSR bei einem
Router mit einem ins Internet tunnelnden B.A.T.M.A.N.-Daemon ankommt,
verschwindet der OLSR-Traffic Richtung Internet auf 'magische' Weise
und findet sich plötzlich im Internet über einen
(möglicherweise einige Hops entfernten) B.A.T.M.A.N.-Gateway
wieder, ohne dass weitere OLSR-Knoten bei einem Traceroute angezeigt
werden.

Ein Router im Parallel-Betrieb hat dann zwei
Defaultrouten ins Internet weil zwei Protokolle nach
Internetanbindung suchen – eine Default-Route von OLSR und eine von
B.A.T.M.A.N., wobei letztere stehts Priorität hat (bedingt durch
die kleinere Metric). Das wird den unangenehmen Effekt haben, dass
jeglicher Internettraffic statt zu einem benachbarten OLSR-Gateway zu
einem B.A.T.M.A.N.-Gateway geroutet wird – nun werden die
OLSR-Gateways nicht mehr benutzt, sobald ein tunnelnder B.A.T.M.A.N.
auf der Route zum OLSR-Gateway liegt.

Der Internet-Such-Modus
von B.A.T.M.A.N. ist optional und sollte daher vorerst nicht auf
Transit-Routen aktiviert werden. Endpunkte, wie z.B. Notebooks, PDAs,
können diese Funktionalität problemlos benutzen.

Blick
nach vorn
^^^^^^^^^^^
Um den Parallel-Bertrieb noch
reibungsloser zu gestalten, fließen bereits etliche
Kompatibilitätsfunktionen in B.A.T.M.A.N. 0.3 ein. Dann wird es
auch möglich sein, eine OLSR und eine B.A.T.M.A.N. default route
nebenher zu betreiben.

Deswegen wollen wir die Gelegenheit
auch gleich nutzen um den ersten Release der gerade entstehenden 0.3
alpha Version zu feiern.

Gleichzeitig haben wir begonnen an
der übernächsten Generation zu arbeiten mit dem alles
sagenden Namen B.A.T.M.A.N.-Advanced. Er arbeitet auf Layer 2 und
kreiert einen virtuellen Network-Switch zwischen allen am Mesh
teilnehmenden Nodes. Layer 2 emöglicht gleich eine ganze Reihe
von neuen Möglichkeiten die darauf warten ausprobiert zu werden.
Damit es eine stabile Plattform zum experimentieren gibt wollen wir
am 20. 6. auch noch 0.1 alpha von B.A.T.M.A.N.-Advanced releasen. Und
zwar zusammen mit einer ganzen Reihe von Tools die es überhaupt
erst ermöglichen den Zauber auf Netzwerk-Ebene 2
nachzuvollziehen und zu debuggen.

GPL für Wi-Fi-Treiber und Aufnahme in Linux-Kernel anvisiert

[via Sven W.]
Die Wi-Fi-Treiber von Devicescape
werden nun auch unter die freie General Public License gestellt. Sie wurden
ebenfalls zur Aufnahme in den Linux 2.6-Kernel eingereicht.

Devicescape's
Wi-Fi driver stack is going open source under the General Public
License (GPL).  Called the Advanced Datapath Driver, it has been
submitted for inclusion in the Linux 2.6 kernel. That could mean that
in the very near future, instead of struggling to get drivers and cards
to work together on a Linux computer, users may be able to plug in just
about any card and get up and running. Developers could potentially
stop porting drivers from Windows or writing new drivers from
scratch.(GPL). (Eric Griffith, http://www.wi-fiplanet.com/news/article.php/3602901)