Freifunk mit Ubiquiti UniFi AP

Freifunk.net

Inhalt

Was ist Freifunk.net?

Die Initiative Freifunk.net ist ein nicht-komerzielles, gemeinschaftliches Projekt vieler Freiwilliger, die sich zum Ziel gesetzt haben ein unabhängiges und dezentrales WLAN-Netzwerk aufzubauen, welches von Jederman frei zugänglich, unzensiert und anonym verwendet werden kann und außerdem die Netzneutralität wahrt. Die Initiative ist dabei in lokalen Freifunk-Communities organisiert, welche in jeder größeren und kleineren Stadt anzutreffen sind.

Das Freifunk-Netz erstreckt sich bereits über ganz Deutschland und wächst mit jedem Unterstützer ein Stückchen weiter. Ob auch in deiner Nähe schon ein Freifunk-Zugangspunkt ist, über den du ohne Anmeldung einen freien Internet-Zugang bekommen kannst, erfährst du auf der Freifunk-Karte!

Mitmachen darf jeder! Zum Unterstützen der Idee tritt man am besten mit seiner lokalen Freifunk-Community in Kontakt. Dort kann man sich informieren und austauschen und im Regelfall auch einen eigenen, vorkonfigurierten Freifunk-Router ab 20€ beziehen. Schau also einfach vorbei, z.B. bei Freifunk-München!

Freifunk verbindet!

Freifunk Technik

Freifunk ist als Mesh-Netzwerk konzipiert. Das bedeutet, dass sich benachbarte Freifunk-Router (Knoten) automatisch miteinander verbinden. Netzwerk-Pakete werden dann auf ihrem Weg vom Benutzer (z.B. Smartphone) von Knoten zu Knoten weitergeleitet bis sie ihr Ziel (z.B. Wikipedia) erreichen. Um auch in Situationen in denen keine benachbarten Freifunk-Knoten in Reichweite sind einen Zugang zum Freifunk-Netz zu bekommen, betreiben die Freifunk Communities VPN-Gateways. Isolierte Knoten können so über den privaten Internetzugang des Knoten-Betreibers eine verschlüsselte VPN-Verbindung zum restlichen Freifunk-Netz herstellen. Vom VPN-Gateway aus kann – über eine Verbindung ins Ausland – auch das Internet erreicht werden. Auf diese Weise wird geschickt das rechtliche Problem der deutschen Störerhaftung umgangen.

Auf Freifunk-Routern läuft eine speziell angepasste Version der freien OpenWrt Firmware, namens Gluon. Gluon stellt dabei eine stark vereinfachte Web-Oberfläche bereit, welche zum Einrichten und Konfigurieren eines Freifunk-Knotens verwendet werden kann. Außerdem enthält Gluon einen Autoupdater, welcher den eigenen Freifunk-Knoten immer automatisch auf den aktuellen Softwarestand updatet. Für erfahrene Benutzer gibt es zusätzlich die Möglichkeit sich per SSH auf dem Router einzuloggen, um den vollen Funktionsumfang von OpenWrt auszunutzen.

Unterstützte Hardware

Durch die OpenWrt Basis der Freifunk Firmware “Gluon” gibt es eine breite Auswahl an unterstützen Routern. Zu den geläufigsten Modellen zählen Router der Firmen TP-Link und Ubiquiti Networks. Welche Router im einzelnen unterstützt werden erfährt man auf der Website der lokalen Freifunk-Community. Wegen eines sehr guten Preis-Leistungs-Verhältnisses (Preis < 20€) erfreut sich der Router “TP-Link TL-WR841N” zur Zeit sehr großer Beliebtheit.

Ubnt UniFi APIch habe mich für meinen ersten Freifunk-Knoten für das Modell “Ubiquiti UniFi AP Long Range” (Ubnt UAP-LR) entschieden. Dieser bietet eine sehr gute Reichweite von bis zu 180m, eine leichte Verkabelung dank Stromversorgung über das Netzwerkkabel und wird offiziell von meiner Freifunk-Community (Freifunk-München) unterstützt. Die Freifunk Installation und Konfiguration dieses Routers möchte ich im folgenden exemplarisch für “Freifunk-München” erläutern.

UniFi Router flashen

Nach dem Auspacken und Anschließen des UniFi AP ans lokale Heim-Netzwerk bekommt dieser per DHCP automatisch eine IP-Adresse zugewiesen (<UAP-IP>), welche in der Web-Oberfläche des privaten Internet-Routers (z.B. FritzBox) nachgeschaut werden kann. Mit einem Linux-Computer erfolgt die Installation der Freifunk Firmware (Gluon) auf dem UniFi AP danach in 3 einfachen Schritten:

  1. Via SSH in die original Software des UAP einloggen:
    ssh ubnt@<UAP-IP> #(Passwort: ubnt)
  2. UniFi Factory-Firmware der lokalen Freifunk-Community ins /tmp Verzeichnis des Routers downloaden, z.B.:
    cd /tmp
    wget http://firmware.ffmuc.net/stable/factory/gluon-ffmuc-v2015.2-ubiquiti-unifi.bin
  3. Freifunk-Firmware auf den Router flashen:
    fwupdate.real -m gluon-ffmuc-v2015.2-ubiquiti-unifi.bin -d

Nachdem das Kommando ‘fwupdate.real’ erfolgreich ausgeführt wurde, gibt es das Wort “Done” aus und der Router kann vom Strom-/Netzwerkkabel und vom Heim-Netzwerk (am PoE-Adapter) getrennt werden. (Quelle)

UniFi Router konfigurieren

Anstelle vom Heim-Netzwerk (z.B. FritzBox) sollte der Router jetzt direkt mit dem eigenen Computer verbunden werden. Nachdem das Strom-/Netzwerkkabel wieder angesteckt wurde startet der UniFi AP die neu installierte Freifunk-Firmware im Setup/Config-Mode. Alternativ erreicht man den Config-Mode durch drücken der Reset-Taste für ca. 3 Sekunden. Den Config-Mode kann man daran erkennen, dass die grüne LED des Routers blinkt (ca. 1x pro Sekunde).

Gluon Web UIIm Config-Mode hat der UAP die IP-Adresse 192.168.1.1 und betreibt einen DHCP-Server, so dass der eigene Computer automatisch eine IP-Adresse aus dem Bereich 192.168.1.x/24 zugewiesen bekommen sollte. Alternativ kann dem eigenen Computer auch manuell eine IP-Adresse aus diesem Bereich gegeben werden (z.B. 192.168.1.100). Steht die Verbindung zwischen Computer und Router, kann die Gluon Web-Oberfläche auf http://192.168.1.1 erreicht werden.

Die Gluon Web-Oberfläche stellt verschiedene Felder zum Konfigurieren des Knoten bereit (Name, Kontakt, Geo-Koordinaten, Bandbreitenlimitierung, …) und ist weitgehend selbsterklärend. Nach abschließen der Konfiguration muss der Router nochmals neu gestartet werden. Auch kann er nun wieder mit dem lokalen Heim-Netzwerk verbunden werden, so dass er ggf. übers Internet eine Verbindung zum Freifunk-VPN-Gateway herstellen kann. Der Router startet nun in den Normal-Mode: Die grüne LED leuchtet dauerhaft.

Für erfahrene Benutzer gibt es zusätzlich zum Normal-Mode und Config-Mode auch noch den Failsafe-Mode. Dieser kann erreicht werden wenn im Bootvorgang des Routers mehrfach die Reset-Taste gedrückt wird. Im Failsafe-Mode blinkt die grüne LED sehr schnell (schneller als 1x pro Sekunde). In diesem Modus sind alle Services deaktiviert und der Router ist nur per Telnet/SSH auf 192.168.1.1 zu erreichen.
(Quelle 1, Quelle 2, Quelle 3)

Viel Spaß mit eurem eigenen Freifunk-Knoten!

GTA04 booting SHR in 17 seconds

Video

This video shows the Openmoko/Goldelico GTA04 booting SHR Linux in 17 seconds.
Note: SHR is not yet optimized for a fast bootup on the GTA04.

Got interrested?

If you’re interrested to participate in this open hardware and free and open source software effort, please jump in:
Get your GTA04 now by participating in the GTA04 Group Buy Tour.

Get more information at: www.gta04.org

Creative Commons Lizenzvertrag

[update] GTA04 Installation Guide for SHR

GTA04 Installation Guide for SHR

This is a step-by-step guide, which should get you from zero to a working SHR on your GTA04 in just a few minutes.

Update Nov. 2012: Updated the instructions to the new default U-Boot enviroment.

Getting the files

Preparing the U-Boot enviroment

uboot multiboot menuThe new U-Boot system (as of November 2012) provides a graphical multi-boot solution.
If your device is shipped after November 2012 you’ll probably already have this system pre-installed.

Otherwise you’ll have to get the latest hw-validation image from  http://download.goldelico.com/gta04 and put it on a specially formated microSD card (using the makesd script). Then boot this special hw-validation microSD card having the AUX button pressed, to flash the new boot system (the screen will trun red while falshing).

After switching back (or reformating) to your normal microSD card you can always access the boot menu by booting the device, having AUX pressed.

Preparing the SHR microSD card

Your microSD card can have several partitions, e.g.:

  • 1st partition: ext3, “rootfs” (e.g. for SHR)
  • 2nd partition: ext3, “system” (e.g. for Debian)
  • 3rd partition: FAT32, “data” (e.g. for music, documents, …)

Installing SHR

To install the SHR image, you have to untar the image you downloaded to the “rootfs”-partition. Then you have to copy the bootargs.scr file to /boot (on the microSD card).

tar xzvpf shr-image.tar.gz --numeric-owner -C /media/rootfs
cp bootargs.scr /media/rootfs/boot/

First boot

shr wizard screen
After you cleanly unmounted the partitions and put the microSD card back into the GTA04 you can boot your device, having the AUX button pressed (to access the boot menu). You’ll be greeted by the graphical U-Boot multiboot selection. Select the partition to boot from (e.g. SD:1 for SHR).

Next, a first start wizard will pop up, which let’s you choose between some options.

Be aware to choose a scale factor of 2.0 when asked. Other than this you could just keep the defaults.

You can now login via USB networking at: 192.168.7.2

Installing Firmware

If you want to use the WiFi/Bluetooth chip, you have to use a non-free firmware from Marvell.
To get it you have to install linux-firmware-sd8686.

opkg install linux-firmware

Congratulations

shr home screenYou successfully installed SHR on your GTA04.

For further information or if you have any issues, please consult the SHR wiki.

Creative Commons Lizenzvertrag

Updated: Openmoko Community Survey 2011

Update 9.1.2012: results are updated.

As the year 2011 nears it’s end, we – the Openmoko Community – did a poll [0] about which is the most popular hardware and which is the most popular software in our community. The poll was open for one week now and we got votes from 73 people.

I decided to close the poll now and release the results to the public. To create a ranking I gave 1 point to a “YES” vote and 0.5 points to a “(YES)” vote. The maximum (100%) is 73 points.

Rankings

Software Side:

1. SHR                  112.5 points    (61%)
2. QtMoko                99.5 points    (54%)
3. Debian                75.5 points    (41%)
4. Other Distro          40.0 points    (22%)


Hardware Side:

1. Om GTA02             158.5 points    (86%)
2. Goldelico GTA04       71.0 points    (38%)
3. Nokia N900            34.0 points    (18%)
4. Other Device          26.0 points    (14%)
5. Palm Pre (+variants)  14.5 points    ( 8%)
6. Om GTA01               9.5 points    ( 5%)
7. Google Nexus S         7.0 points    ( 4%)

Conclusion

On the software side SHR is still the most popular distro, directly followed by QtMoko. Quiet a few people commented, that they intend to code their own software/GUI mostly to educated themselves.

On the hardware side the Om GTA02 is the clear winner (which was expected). Surprisingly the Goldelico GTA04 is the 2nd most interesting device in this community, even though very few people have one, yet. Still, most of the developers already own one and you should get yours soon [1], as it seems to become a common target of this community. The Palm Pre, Om GTA01 and Google Nexus S got very few points and thus are probably not worth to support…

Happy New Year

Now, i’d like to wish all you Open Hard- and Software-Enthusiasts out there a good start into the year 2012. I hope the GTA04 project will flourish in 2012 and will help our community to grow and free the phone again!

Links

[0] http://www.doodle.com/sh6insnivnvqyz7h
[1] http://www.handheld-linux.com/wiki.php?page=GTA04 Group Tour

Creative Commons Lizenzvertrag

webOS is going to be OpenSource Software

HP the company which bought Palm some time ago just announced, that they are going to release webOS as open source software! The Linux kernel side of webOS was open souce since the beginning, with a few exceptions like the PowerVR 3D driver and the touchscreen driver.
We’ll see how far HP will go and what parts they’ll really open up (their announcement didn’t mention the modem protocol for example).

webOS is probably the best and most intuitive software running on smartphones today. And was said to be “the iPhone killer”. Unfortunately the first device it was sold on (Palm Pre) wasn’t exactly the best hardware as it had serveral flaws like a bad keyboard slider. Thus webOS wasn’t adopted by masses of developers and suffered from a lack of applications, which in turn made it uninteresting to end users.

I got a Palm Pre in the early days and I also got a HP|Palm Pre2 developer device some months ago, which I still enjoy to use. All in all I enjoyed developing for those devices, too, but it was pretty depressing to reverse engineer parts of the modem protocol, to be able to have it communicate with the FreeSmartphone.org (FSO) middleware and run a really free and open source operating system like SHR.

So with this news from HP what we could probably get in 2012 is:

Let’s hope the best for the mobile FOSS community in 2012!

HP|Palm Pre – msmcomm

Table of Contents

As you may already know[1], I got a free HP|Palm Pre2 developer device some time ago.

The first project I started with this really nice piece of hardware is Bootr[2] – a multiboot solution for all HP|Palm Pre devices, which let’s you select an OS (SHR, WebOS, Android, …) at startup.

Msmcomm

I pledged that I’ll work on the SMS part of msmcomm[3] next, which is a free and open source utility to communicate with the Palm’s Qualcomm/MSM modem.

Now I’m happy to announce that I’ve finished quite some work on msmcomm’s SMS part and I’ve upstreamed all bytes of it. This starts at the (almost) lowest level of reverse engineering the structures used in the protocol to communicate with the modem and building useful data structures out of it. Then gathering suitable data to stuff into those structures and send them to – and receive them from – the modem.

FSO

To make my work usable to distributions like SHR[4], QtMoko[5] and Aurora[6], I integrated my work with a higher level layer – the FreeSmartphone.org middleware[7]. You can now use the usual FSO DBus commands as stated in FSO’s docs[8] to send SMS’ and listen for new, incoming SMS’.

As FSO is an abstraction layer between the low msmcomm/modem level and the higher userspace/distribution level, all my work can now be used by the abovementioned distributions automagically without any change needed – isn’t this awesome?!

Status

What’s working

  • sending/receiving SMS
  • works for SMS containing special chars like “äöüß”
  • works for multi part SMS (e.g. SMS > 160 chars)
  • acknowledging (single) incoming SMS
  • works using the FSO and the Msmcomm DBus APIs

What’s left

  • acknowledging multi part SMS
  • SMS status report
  • squeezing out bugs

Note: This only represents the SMS part of msmcomm. There is whole lot more working in the context of calls, 3g internet, sim, phonebook, …

Links

[1] HP|Palm developer device – blog.slyon.de
[2] Bootr – github.com
[3] Msmcomm – git.freesmartphone.org
[4] SHR project – shr-project.org
[5] QtMoko project – qtmoko.org
[6] Aurora project – wiki.freesmartphone.org
[7] FreeSmartphone.org – freesmartphone.org
[8] FSO API documentation – docs.freesmartphone.org

Creative Commons Lizenzvertrag

Free platforms Go On, despite former giant’s NoGo

This is an official PR announcement from the FOSS community.
Different translations are available here: wiki.freesmartphone.org
/CZ /DE /ES /PL

Tuesday, February 15th, 2011 – Despite the recent departure of a former mobile handset manufacturer giant, several developing teams and their users are actually… happily hacking on. With the longterm goal of a fully Free Software platform for embedded systems, the teams of FSO, SHR, QtMoko, Replicant and AndroidOnFreerunner invite others to join and participate in projects which are not driven left and right by the  unpredictable follies of corporate management.

«We have been making a steady progress throughout the years. The major requirement has been a solid, Linux supported hardware, and for that we have been using Openmoko, Palm Pre, N900 and HTC phones – and ambitioned forthcoming projects like Goldelico’s GTA04. All these devices are providing a great development platform for those who seek truly open and independent system for their learning, coding and even professional or commercial use.» — says Dr. Michael Lauer from FSO.

There’s a temporary advantage when big players like FIC (Openmoko), Nokia+Intel (MeeGo) and Google (Android) invest in Free Software Projects. Though if the project contains parts of proprietary code, it depends on the investor. At some point the investor might abandon the project and the community. Then the project is doomed because the community can not fix any bugs in the proprietary code or adapt it to newer/other APIs.

«We believe in another model – proven to be both sustainable and satisfactory – where everybody can contribute their knowledge and learn at the same time, without proprietary code blobs and no closed doors boardroom meetings. This allows us to use existing hardware even when the maker decided to abandon it all together or is not willing to update it anymore. Anybody is able to commit, read, comment on or download the source code.»

The teams invite both users and developers to look at their project pages, the current results, motivations and needs, as well as to join the mailing lists, wikis, forums, IRC rooms or what  not, to chat, listen and eventually contribute in order to create the free and open embedded platform for their devices.

The communities of FSO, SHR, QtMoko, Replicant and Android on Freerunner

Read more

Steam is comming to Linux, now for real!

Yay, seems like the Steam Client, the Steam Engine, the Steam Games and the 666casino games are comming to Linux, now for real.

There is no official announcement by Valve, yet.
But there are Linux binaries and a Linux launcher script on the valve servers publically available.

The Mac version, which is related to the Linux version (with regard to porting it to OpenGL, Webkit, etc…) and officially announced, is in a closed Beta at the moment.

So we may see the Linux version after the Mac version is in it’s final state.
Phoronix suspects a Linux version release in June.

Check out these articles at Phoronix:

Proof In Steam’s Mac Client Of Linux Support
Yet More Signs Of Valve’s Steam On Linux
There Is No Doubt, Steam Is Coming To Linux!