Gluon auf PC-Hardware, ein Experiment

Freifunk Firmware, Programme für den Router, Entwicklungen, Fragen und Anleitungen
Antworten
Benutzeravatar
y02hal
Beiträge: 90
Registriert: 07.06.2015 14:27
Wohnort: 06128 Halle

Gluon auf PC-Hardware, ein Experiment

Beitrag von y02hal »

Hallo zusammen,

es wäre doch ganz reizvoll, wenn man PCs, die nicht mehr ganz so neu sind für den Einsatz als FF-Router herrichten könnte. Da Gluon ab Pentium 4 lauffähig ist, ergeben sich da schon ein paar Möglichkeiten...

1. Schritt: Vorbereitung
-------------------------

Was wird dazu benötigt? Die passende Software natürlich erst einmal. Auf der Seite des FF-Harz wird man da fündig..

http://fw.harz.freifunk.net/stable/imag ... ric.img.gz

Dies ist unser Freund, vermutlich auch der Vielversprechendste.

Mit gzip entpackt enthält es ein komplettes Image für einen startbaren Datenträger. Dies kann eine Festplatte sein (500 MB genügen) oder ein USB-Stick, von dem gebootet werden kann (das geht mit längst nicht jedem Stick). Ich habe mich für einen Stick entschieden.

Da sich die ganze Aufbereitung der Software/des Datenträgers m.E. am Besten unter Linux macht (M$ kann auch verdammt schlecht mit Linux Dateisystemen umgehen...hihi), nimmt meine Beschreibung genau auch darauf Bezug.

Damit wären wir bereit für den Schritt 2...

Fortsetzung folgt...
Es gibt Windows oder das Betriebssystem eines Drittherstellers :mrgreen:
Benutzeravatar
y02hal
Beiträge: 90
Registriert: 07.06.2015 14:27
Wohnort: 06128 Halle

Re: Gluon auf PC-Hardware, ein Experiment

Beitrag von y02hal »

2. Schritt: das Startmedium
----------------------------

Wie bereits erwähnt, habe ich mich für einen geeigneten USB-Stick entschieden. Das entpackte Image der FF-Harz-Seite enthält ein komplettes System, bestehend aus 2 Partitionen.

Dieses kann man per DD oder auch ddrescue auf den Stick übertragen. In meinem Fall wurde dem Stick von Linux /dev/sdb zugewiesen.

dd if=gluon-ffharz-0.9.4~201801-x86-generic.img of=/dev/sdb

Unnötig zu erwähnen, daß damit der alte Inhalt des Sticks restlos hinüber ist und ein mehr oder weniger großes Stück davon unpartitioniert bleibt.

Das Ergebnis läßt sich im Anschluß mit fdisk -lu /dev/sdb überprüfen. Wenn alles geklappt hat, sollte das in etwa SO aussehen:

EisSam:~ # fdisk -lu /dev/sdb
Disk /dev/sdb: 3.8 GiB, 4041211904 bytes, 7892992 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xd19f1d86

Device Boot Start End Sectors Size Id Type
/dev/sdb1 * 512 33279 32768 16M 83 Linux
/dev/sdb2 33792 558079 524288 256M 83 Linux
EisSam:~ #

Für uns ist in dem Fall /dev/sdb2 interessant. Sie kann jetzt bei Bedarf normal eingemountet und wie jede andere gemountete Partition behandelt werden. Sprich: normaler Zugriff auf das komplette Dateisystem dieser Partition.

Der nächste Schritt wäre, die Software für unser FF-Netz anzupassen. Das ist leichter als man denkt. Wie das geht?

Fortsetzung folgt....
Zuletzt geändert von y02hal am 30.06.2018 22:40, insgesamt 3-mal geändert.
Es gibt Windows oder das Betriebssystem eines Drittherstellers :mrgreen:
Benutzeravatar
y02hal
Beiträge: 90
Registriert: 07.06.2015 14:27
Wohnort: 06128 Halle

Re: Gluon auf PC-Hardware, ein Experiment

Beitrag von y02hal »

3. Schritt: aus FF-Harz wird FF-Halle
--------------------------------------

Für diesen Zweck müssen wir im Dateisystem des Sticks 2 Dateien komplett austauschen. Die "klauen" wir uns von einem Router, der in Betrieb ist und übertragen sie an die passenden Stellen.

Es sind:

/lib/gluon/site.json
/lib/gluon/web/i18n/gluon-site.de.lmo

Dazu /dev/sdb2 einmounten, z.B.

mount /dev/sdb2 /mnt

und anschließend die vorher von einem FF-Halle-Router heruntergeladenen Dateien kopieren.

Diese Dateien werden komplett überschrieben und ersetzt. Man achte auch bitte darauf, daß die Attribute nach dem Kopieren korrekt gesetzt sind (root:root und 644 oder 666).

Das wären die ersten Modifikationen auf dem Stick. Vor dem Herausziehen bloß nicht das entmounten vergessen!

umount /dev/sdb2

Wer ganz sicher gehen will, kann vorher noch

sync

ausführen, m.E. ist das aber nicht zwingend notwendig.

Im Image, welches wir auf den Stick gebracht haben, ist die Liste der unterstützten Hardware erst einmal sehr spärlich. Zunächst sollten wir überprüfen, ob wenigstens unser LAN-Adapter für das Zielgerät schon dabei ist. Die noch fehlenden benötigten Kernel-Module müssen sehr wahrscheinlich später ohnehin noch ergänzt werden, aber das Modul für den LAN-Port ist erst einmal das Wichtigste.

Dies führt uns zum nächsten Schritt. Fortsetzung folgt....
Es gibt Windows oder das Betriebssystem eines Drittherstellers :mrgreen:
Benutzeravatar
y02hal
Beiträge: 90
Registriert: 07.06.2015 14:27
Wohnort: 06128 Halle

Re: Gluon auf PC-Hardware, ein Experiment

Beitrag von y02hal »

4. Schritt: der erste Start ("failsafe" bevorzugt)
---------------------------------------------------

Jetzt wird der Stick in das Zielgerät gesteckt und dieses damit gebootet. Für einige Sekunden erscheint das Bootmenue (ja, es ist grub) mit 2 Einträgen. Wer alles auf eine Karte setzen will, startet normal. Wird der LAN-Port bereits unterstützt, ist nach einigen 10 Sekunden das Zielgerät wie jeder normale FF-Router und im Config-Mode erreichbar.

Falls nicht, verschafft man sich Gewissheit und wiederholt den Start, wählt dann aber den 2. Eintrag im Bootmenue ("failsafe"). Der Reboot kann sauber über <strg>-<alt>-<entf> ("Affengriff") ausgelöst werden.

Der Boot im Failsafe-Mode ist etwas schneller abgeschlossen als zuvor. Ein paar kurze Hinweise, die erscheinen verdienen Beachtung. Änderungen am Dateisystem können hier nur wirksam vorgenommen werden, nachdem

mount_root

ausgeführt wurde. Dies ist im Augenblck erst einmal nicht wichtig, wird es später aber noch.

Im Augenblick genügt erst einmal,

ifconfig

auszuführen, um festzustellen, ob es im System ein eth0 gibt. Den LAN-Port per Kabel verbunden zu haben, ist dabei eine gute Idee, ansonsten wäre

ifconfig eth0 up

notwendig, was wahrscheinlich dann zu einer Fehlermeldung führen würde.

Existiert kein eth0, fehlt das Modul, welches für den LAN-Adapter benötigt wird.

Dies ist leider mit etwas Bastelarbeit verbunden, die einem später bei der Suche nach weiterer fehlender Hardwareunterstützung noch einmal bevorsteht.

Diesen Fall zu behandeln (LAN-Adapter wird NICHT unterstützt) möchte ich mal auf später verschieben und zunächst erst einmal annehmen, daß es hier ein eth0 gibt und ihm auch die IP für den Config-Mode (192.168.1.1) zugewiesen wurde. Bei mir war es glücklicherweise von Anfang an der Fall (Notebook Acer Extensa 5210).

Der Config-Mode wird aber im Failsafe-Mode nicht funktionieren. Dazu ist ein regulärer Boot nötig. Von hier aus wieder <strg>-<alt>-<entf> oder

reboot

Fortsetzung folgt...
Es gibt Windows oder das Betriebssystem eines Drittherstellers :mrgreen:
Benutzeravatar
y02hal
Beiträge: 90
Registriert: 07.06.2015 14:27
Wohnort: 06128 Halle

Re: Gluon auf PC-Hardware, ein Experiment

Beitrag von y02hal »

5. Schritt: erste Konfiguration und Inbetriebnahme
---------------------------------------------------

Nachdem geklärt ist, daß der LAN-Adapter unterstützt wird, sind wir wie bei jedem anderen FF-Router mit Gluon im Config-Mode auf dem Zielgerät in der Lage, die erste Grundeinstellung vorzunehmen.

Die Besonderheit ist, daß ja bei PCs/Notebooks i.d.R. nur ein LAN-Adapter vorhanden ist. Zudem ist die Wahrscheinlichkeit groß, daß WLAN-Adapter erst einmal nicht unterstützt werden. Aber dazu später mehr...

Im Config-Mode ist über den LAN-Port das Zielgerät normal erreichbar. Im Normal-Mode wird daraus der WAN-Port. Dort gibt es dann keine LAN-Ports, wie bei den gewöhnlichen FF-Routern, es sei denn, man hat noch eine NIC hinzugefügt. Aber das ist wieder ein Thema für sich und wurde von mir nicht untersucht. Für mein Acer-Notebook spielt das jedenfalls keine Rolle und Gluon ordnet den LAN-Adapter in allen Fällen richtig zu.

Nachdem in gewohnter Weise die Erstkonfiguration vorgenommen wurde (dabei sollte man auf keinen Fall auf den Remote-Zugriff verzichten!), sollten auch in /etc/config alle Dateien mit den zu FF-Halle passenden Einstellungen versehen und alle Einstellungen, die zu FF-Harz gehören angepaßt bzw. verschwunden sein.

Wer sichergehen will, kann das nach dem Reboot per SSH-Zugriff überprüfen und erforderlichenfalls anpassen (war bei mir nicht nötig).

Für den Fall, daß an diesem Punkt alle Hardware komplett unterstützt wird, wäre der Knoten jetzt betriebsbereit.

Achja... die VPN-Registrierung klappt auch wie gewohnt... und problemlos. Ihr wißt schon.. https://freifunk-halle.org/fastd/ ;)

Es gibt mehrere "ABÄÄÄR"'s....

a) Es fehlt die Unterstützung für WLAN
b) der WLAN-Adapter entpuppt sich als ungeeignet für einen kombinierten AP/ad-hoc Betrieb oder mehrere SSIDs oder beides...

a) und b) trafen für mein Notebook zu.

zunächst a): welche Module brauche ich eigentlich?

Fortsetzung folgt...
Es gibt Windows oder das Betriebssystem eines Drittherstellers :mrgreen:
Benutzeravatar
y02hal
Beiträge: 90
Registriert: 07.06.2015 14:27
Wohnort: 06128 Halle

Re: Gluon auf PC-Hardware, ein Experiment

Beitrag von y02hal »

6. wenn etwas fehlt
--------------------

Eine gute Nachricht: in dem Fall gibt es eine Quelle mit Ersatzteilen. Es gibt aber auch eine schlechte: nicht für jeden ist etwas dabei.

http://fw.harz.freifunk.net/stable/pack ... 6/generic/

ist in unserem Fall unsere Schatzkiste.

Um zu ermitteln, was wir brauchen sind wir erst einmal wieder auf "fremde Hilfe" angewiesen. Entweder kennen wir unsere Hardware genau und wissen daher schon, was wir brauchen (das wäre einfach) oder wir nehmen jene "fremde Hilfe" in Anspruch, das herauszufinden.

Am Einfachsten ist das wohl, das Zielgerät mal mit Knoppix zu starten und zu listen, welche Module dort geladen wurden, die für uns wichtig sind.

Wenn wir Glück haben, gibt es keine Hardware, die unser Knoppix nicht unterstützt und wenn wir noch mehr Glück haben, heißen die Module im Knoppix-Kernel genau noch so wie in gluon (m.W. gibt es noch kein Knoppix mit Kernel 4)... Aber es gibt sicher noch andere life-Systeme, die da weiterhelfen, falls man so nicht weiterkommt. In meinem Fall half mir ein Start von WifiWay, das richtige Modul für mein WLAN zu ermitteln (und das, obwohl auch hier nicht Kernel 4 im Spiel ist).

Haben wir Klarheit, was fehlt, suchen wir das Passende aus der Liste auf o.g. Seite heraus.

Die Module sind dort als *.ipk-Dateien abgelegt. Wer mit einem Paketmanager umgehen kann, braucht diesen jetzt.

Alternativ kann eine *.ipk in *.tar.gz umbenannt und entsprechend entpackt werden. Die relvanten Daten stehen dann im Verzeichnis data und mit den Verzeichnissen, wo sie auf dem Zielsystem später dann auch hingehören.

Ist eine LAN-Verbindung zum Zielgerät möglich, geht die Übertragung per SCP. Auf die richtigen Besitzrechte (root:root und i.d.R, 644) bitte achten. (Ohne LAN hilft nur klassisch kopieren direkt auf den Stick.)

Nach dem Reboot mit Failsafe Test der Hardware mit

modprobe <modul>

nachdem mount_root ausgeführt wurde. Hier werden dann Abhängigkeiten (meist libs) sichtbar, deren Fehlermeldung beim Normalboot untergegangen wären. Demenstprechend neue Downloads und Übertragungen, Wiederholung, bis nichts mehr fehlt. Erkennbar daran, daß modprobe ohne Meldung ausgeführt wird und wir dann ein neues Gerät (eth0, eth1 oder wlan0) haben ;)

Ist Bastelarbeit... sorry

Fortsetzung folgt...
Zuletzt geändert von y02hal am 09.10.2018 02:17, insgesamt 1-mal geändert.
Es gibt Windows oder das Betriebssystem eines Drittherstellers :mrgreen:
Benutzeravatar
y02hal
Beiträge: 90
Registriert: 07.06.2015 14:27
Wohnort: 06128 Halle

Re: Gluon auf PC-Hardware, ein Experiment

Beitrag von y02hal »

6. etwas fehlt (Fortsetzung)
-----------------------------

Im Gluon-Image des FF-Harz gibt es erst einmal keine Datei /etc/config/wireless und auch im erfolgreich gestarteten Config-Mode gibt es keine wirkliche Einstellmöglichkeit für WLAN.

Haben wir ein passendes Modul für unseren WLAN-Adapter gefunden, ändert sich das. Dazu ist aber wieder etwas mehr Handarbeit nötig.

Noch eine gute Nachricht: für alle, die kein vi mögen (Standard-Editor in Linux); es gibt hier joe!

joe /etc/config/gluon-setup-mode

öffnet eine Systemdatei, die wir jetzt bearbeiten müssen. Sie ist unser Schlüssel in den Config-Mode. Einen anderen Weg gibt es auf der PC-Hardware m.E. nicht, weil es diesen Reset-Knopf von den Routern hier nicht gibt.

config setup_mode
option configured '0'
option enabled '0'

öffnet den Weg in die Erstkonfiguration (quasi wie nach dem Flashen), wobei unsere vorangegangenen Einstellungen nicht verloren gehen.

<strg>k <strg>x speichert die Änderungen und beendet joe. Mit

reboot

starten wir neu und landen im ersten Config-mode. Wir können alles noch mal durchgehen und sollten insbesondere unter WLAN noch mal abspeichern. Nach dem normalen Verlassen des Config-Mode finden wir jetzt eine /etc/config/wireless mit einigen wenigen Einstellungen, die unser WLAN als offenen AP mit der SSID "LEDE" festlegen.

Editieren müssen wir das natürlich. Exemplarisch sollte das in etwa so aussehen:
-- Anfang--

config wifi-device 'radio0'
option type 'mac80211'
option hwmode '11g'
# diese Kennung übernehmen, wie sie gluon für die Hardware des Zielgerätes festgelegt hat,
# also so übernehmen wie sie in der erzeugten Datei bereits drin stand
option path 'pci0000:00/0000:00:1c.1/0000:03:00.0/ssb0:0'
###########
# dieser Eintrag fehlt original auf Routern
# bei mir erwies es sich als notwendig, ihn hier einzufügen
# weil WLAN sonst inaktiv blieb
option disabled '0'
###########
option channel '13'
option country 'DE'
list supported_rates '6000'
list supported_rates '9000'
list supported_rates '12000'
list supported_rates '18000'
list supported_rates '24000'
list supported_rates '36000'
list supported_rates '48000'
list supported_rates '54000'
list basic_rate '6000'
list basic_rate '9000'
list basic_rate '18000'
list basic_rate '36000'
list basic_rate '54000'

config wifi-iface 'mesh_radio0'
option ifname 'mesh0'
option network 'mesh_radio0'
option device 'radio0'
option mesh_fwding '0'
option mesh_id '02:CA:FF:EE:BA:BE'
option mcast_rate '12000'
option mode 'mesh'
# richtge MAC eintragen
option macaddr '02:19:7e:aa:8e:42'
option disabled '0'

config wifi-iface 'client_radio0'
option ifname 'client0'
option network 'client'
option device 'radio0'
option mode 'ap'
# richtige MAC eintragen, sollte sich von der von mesh_radio0 unterscheiden
option macaddr '02:19:7e:aa:8e:43'
#
option ssid 'www.freifunk-halle.org'
option disabled '0'

config wifi-iface 'wan_radio0'
option macaddr '02:19:7e:aa:8e:44'
option network 'wan'
option encryption 'psk2'
option device 'radio0'
option mode 'ap'
option disabled '1'
-- Ende ----
<strg>k <strg>x Änderungen speichern und joe beenden.

joe /etc/config/gluon-setup-mode

config setup_mode
option configured '1'
option enabled '1'

(dies versetzt gluon in den "normalen" Config-Mode)

<strg>k <strg>x Änderungen speichern und joe beenden.

reboot

Wir landen im Config-Mode und können jetzt WLAN einstellen.

Fortsetzung folgt....
Zuletzt geändert von y02hal am 18.06.2018 21:18, insgesamt 7-mal geändert.
Es gibt Windows oder das Betriebssystem eines Drittherstellers :mrgreen:
Benutzeravatar
y02hal
Beiträge: 90
Registriert: 07.06.2015 14:27
Wohnort: 06128 Halle

Re: Gluon auf PC-Hardware, ein Experiment

Beitrag von y02hal »

7. WLAN-Schmerzen
7.1. Adapter nicht ausreichend unterstützt
-------------------------------------------

Dies ist bei mir leider der Fall. Der in meinem Notebook verbaute WLAN-Adapter erlaubt keinen Parallelbetrieb von AP und ad-hoc. So konfiguriert tut sich erst einmal gar nichts. Kein Signal.

Ich muß mich für EINE Betriebsweise entscheiden. AP _oder_ ad-hoc.

AP klappt wunderbar und macht mein Notebook zum FF-Halle AP als HNA.

Dagegen klappt ad-hoc bei mir leider nicht. Meine Erwartung wäre gewesen, jetzt einen Mesh-Knoten ohne User-Zugang zu haben, mit oder ohne VPN. Zwar wird mein Notebook in der Umgebung meines regulären Knotens sichtbar angezeigt, dort steht aber nur die MAC und nicht der Knotennamen. Auch über seine IP6-Adresse ist das Notebook nicht erreichbar. Grund bis dato (14.06.2018) unbekannt.

Wenigstens taugt mein Notebook als reiner AP. Und das mit Gluon aus dem Harz. Das ist doch schon mal was ;)

7.2. fehlende Firmware
-----------------------

Die meisten WLAN-Adapter benötigen noch zusätzliche Firmware-Dateien, die eigentlich Bestandteil des Kernels sind. Für meinen eingebauten WLAN-Adapter sind diese glücklicherweise im Package mit dem passenden Modul enthalten, in denen für meine beiden WLAN-Dongles, die ich testen wollte fehlen sie leider.

Auch in der Datei, die eigentlich als Download des Kernels dienen sollte (und auffällig klein ist, was kann bei 700 und... Bytes schon eingepackt sein), fehlen sie erwartungsgemäß. (Auch erschließt sich mir der Sinn eines Packages nicht, das praktisch nur ein leeres Verzeichnis enthält. Über eine Kernel-Config-Datei hätte ich mich ja noch gefreut...)

Ein Stick von mir hat einen rt73-Chipsatz verbaut, eine Firmware-Datei aus externer Quelle paßt leider nicht. Für den anderen Stick (rt2800/rt2x00) gibt es überhaupt nichts.

In der Ressource des FF-Harz gibt es jedenfalls nichts Passendes. Auf der Suche nach alternativen Gluon-Downloads bin ich irgendwo im Rheinland gelandet. Spiegelbildlich das selbe wie auf der Harz-Seite.

Offizielle Source des Kernels 4.4.93 heruntergeladen. Inklusive aktuellem Patch. Dort kommt nach "diagonaler" optischer Sichtuung rt73 überhaupt nicht drin vor. Einbahnstrasse? Konfiguration und Compilierung noch nicht versucht..

y02hal mit Latein erst mal am Ende ;)

Update 15.06.2018
-------------------

Kernel übersetzt (rt73 IST dabei). Bringt aber leider auch keine neuen Ergebnisse/Erkenntnisse. Die genaue .config zu kennen, die bei der Erstellung für Gluon verwendet wurde, wäre da schon hilfreich... habe mich mit "make menuconfig" (schon mal eine große Erleichterung gegenüber "make config") durch die Konfiguration gewuselt und aktiviert, was m.E. noch fehlte und mir sinnvoll erschien; meine Boot-Datei ist jedenfalls größer als die aus dem Image (war nicht anders zu erwarten).

Welche Module aktiv sind, ist ein sehr aufwändiger Vergleich, dafür hatte ich noch keine Zeit und ich weiß auch nicht, ob das überhaupt sinnvoll ist, das zu ermitteln, um hinter die "originale" (Gluon-like) Config zu kommen... Compilerversionen und HasteNichGesehen haben ja auch einen Einfluß auf die Größe der Dateien, die am Ende erzeugt werden.... eine passende Firmware-Datei für rt73/rt2x00 ist jedenfalls nicht dabei, obwohl offiziell unterstützt... mmmh...

Wird sicher noch fortgesetzt... ;)
Es gibt Windows oder das Betriebssystem eines Drittherstellers :mrgreen:
Benutzeravatar
tmk
Beiträge: 1196
Registriert: 18.04.2007 12:18
Wohnort: Halle
Kontaktdaten:

Re: Gluon auf PC-Hardware, ein Experiment

Beitrag von tmk »

Danke vielmals für diese Beitragsserie! Sehr interessant.

Ich glaube das WLAN in deinem Acer ist zu alt um ad-hoc und managed gleichzeitig zu machen. Es braucht dazu nämlich nicht nur Software, die Hardware muss das auch können.

So mit dd beschriebene Sticks kann man übrigens mit # wipefs --all /dev/sdX wieder zurückholen. Danach noch eine neue Partitionstabelle und Dateisystem(e) erstellen mit fdisk oder gparted.
SyntaxError: invalid syntax
Antworten