technik:hardware:futro-s900

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
technik:hardware:futro-s900 [13.04.2022 - 17:23] – editoriell überarbeitet und Beitrag vervollständigt Konrad Panzlafftechnik:hardware:futro-s900 [28.10.2023 - 16:34] (aktuell) – [Vorbereitung USB-Stick mit FFS-Image] Patrick
Zeile 3: Zeile 3:
 ===== Einleitung ===== ===== Einleitung =====
  
-Diese Seite ist löst die veraltete Seite [[technik:hardware:futro-s550|Futro S550 und Futro S550-2]] ab.+Dieser Beitrag ist löst die veraltete Seite [[technik:hardware:futro-s550|Futro S550 und Futro S550-2]] ab.
  
-Die Futros sind im Frühjahr 2022 zwar schon relativ alt, bieten aber dennoch eine preiswerte Möglichkeit für einen potentenlautlosen Offloader mit großer FlexibilitätNachteil ist der vergleichsweise große Stromverbrauch von gemessenen 15 Watt (inklusive Erweiterung einer Dual-NIC HP NC7170).+Im Sommer 2022 entstand dieser Beitrag für Gluon bis 2.5. Mit Gluon 2.6 haben sich wesentliche Änderungen ergebendie hier eingearbeitet sindUnwesentlichen Teilen sind noch Spuren von Gluon 2.3 anzusehen, z.B. in den unverändert gültigen Konsolen-Dumps.
  
-Der Futro S900 steht exemplarisch für die Futro-Baureihe oder auch jeden anderen x86-PC. Vom Prinzip her läßt sich diese Anleitung direkt auf andere Hardware-Plattformen übertragen.+Diese Anleitung gilt dementsprechend ab Gluon 2.6. Mit dieser Version sind die hier ausgewiesenen Modifikationen in der Netzwerkonfiguration erstmals updatefest! 
 + 
 +Die Futros sind im Herbst 2022 zwar schon relativ alt, bieten aber dennoch eine preiswerte Möglichkeit für einen potenten, lautlosen Offloader mit großer Flexibilität. Nachteil ist der vergleichsweise große Stromverbrauch von gemessenen 15 Watt (inklusive Erweiterung einer Dual-NIC HP NC7170). 
 + 
 +Der Futro S900 steht exemplarisch für die Futro-Baureihe oder auch jeden anderen x86-PC (oder auch Futro S550). Vom Prinzip her läßt sich diese Anleitung direkt auf andere Hardware-Plattformen übertragen.
  
 ===== Vorbereitung ===== ===== Vorbereitung =====
Zeile 23: Zeile 27:
 ===== Benötigte Hardware ===== ===== Benötigte Hardware =====
  
-Generell bietet Ebay eine gute Auswahl an gebrauchter Hardware. Die angegebenen Geräte sind im Frühjahr 2022 dort zu den angegebenen Preisen gut erhältlich.+Generell bietet Ebay eine gute Auswahl an gebrauchter Hardware. Die angegebenen Geräte sind im Herbst 2022 dort zu den angegebenen Preisen gut erhältlich.
  
 Der Futro S900 hat ein Netzwerkinterface (NIC; Netzwerkschnittstelle) auf dem Mainboard. Dazu kommen die Futros häufig mit einer mSATA-SSD von 2 GByte sowie 2 GByte RAM. Dieser Speicherausbau reicht dicke, ein Massenspeicher mit 250 MByte sowie 1 GByte RAM reichen vollkommen. Neben dem Futro wird ein zugehöriges Netzteil (19 Volt, 2 Ampere, Hohlstecker 5.5/2.1mm mit innen + und außen -) benötigt. Ein Ständer ist nützlich, aber kein Muß. Der Futro S900 hat ein Netzwerkinterface (NIC; Netzwerkschnittstelle) auf dem Mainboard. Dazu kommen die Futros häufig mit einer mSATA-SSD von 2 GByte sowie 2 GByte RAM. Dieser Speicherausbau reicht dicke, ein Massenspeicher mit 250 MByte sowie 1 GByte RAM reichen vollkommen. Neben dem Futro wird ein zugehöriges Netzteil (19 Volt, 2 Ampere, Hohlstecker 5.5/2.1mm mit innen + und außen -) benötigt. Ein Ständer ist nützlich, aber kein Muß.
Zeile 34: Zeile 38:
  
 Das führt zu folgender Stückliste: Das führt zu folgender Stückliste:
-  * Futro S900: min 1 GByte RAM, Massenspeicher >256 MByte. Dazu Netzteil und ggf. Ständer (ca. 15 bis 25 Euro)+  * Futro S900: min. 256 MByte RAM, Massenspeicher >256 MByte. Dazu Netzteil und ggf. Ständer (ca. 15 bis 25 Euro)
   * Ggf. zweite NIC: PCI oder PCI-X Single-NIC, z.B. mit Reaktek 8139D Chipsatz (ab 3 Euro), oder Intel Pro/100 (ab 5 Euro), oder Intel Pro/1000 XT (ab 10 Euro)   * Ggf. zweite NIC: PCI oder PCI-X Single-NIC, z.B. mit Reaktek 8139D Chipsatz (ab 3 Euro), oder Intel Pro/100 (ab 5 Euro), oder Intel Pro/1000 XT (ab 10 Euro)
   * Alternativ PCI-X Dual-NIC, z.B. HP NC7170 (ab 10 Euro)   * Alternativ PCI-X Dual-NIC, z.B. HP NC7170 (ab 10 Euro)
Zeile 45: Zeile 49:
 ==== Vorbereitung USB-Stick mit FFS-Image ==== ==== Vorbereitung USB-Stick mit FFS-Image ====
  
-Zu Beginn das passende Gluon-Image von https://firmware.freifunk-stuttgart.de/ herunterladen. Dazu das [[http://firmware.freifunk-stuttgart.de/?q=x86%E2%81%A3%20generic%C2%A064bit%E2%81%A3 | x86 Generic 64Bit]] Image auswählen. Achtung: das Image für die Erstinstallation verwenden!+Zu Beginn das passende Gluon-Image von https://firmware.freifunk-stuttgart.de/ herunterladen. Dazu das [[http://firmware.freifunk-stuttgart.de/?q=x86%E2%81%A3%20generic%C2%A064bit%E2%81%A3 | x86 Generic 64Bit]] Image auswählen. Achtung: das Image für die Erstinstallation verwenden! **Achtung!** Ladet Gluon 2.6 oder höher herunter und verwendet dieses. Der folgende Text ist unter Gluon 2.3 entstanden, ansonsten aber unverändert anwendbar.
  
 Das Image ist gz-komprimiert. Dieses Image mit einem geeigneten Programm entpacken (auf der Konsole mit //gunzip//, in grafischer Benutzeroberfläche mit beliebigem anderen Tool). Danach liegt das entpackte Image im Beispiel als //gluon-ffs-2.3+2021-06-03-g.d9632c77-s.0ec0f66-x86-64.img// vor. Diese Datei auf den zweiten USB-Stick kopieren. Das Image ist gz-komprimiert. Dieses Image mit einem geeigneten Programm entpacken (auf der Konsole mit //gunzip//, in grafischer Benutzeroberfläche mit beliebigem anderen Tool). Danach liegt das entpackte Image im Beispiel als //gluon-ffs-2.3+2021-06-03-g.d9632c77-s.0ec0f66-x86-64.img// vor. Diese Datei auf den zweiten USB-Stick kopieren.
Zeile 119: Zeile 123:
  
 Der Erfahrung nach wird später bei der Installation von Gluon bei drei NICs folgende Zuordnung vorgenommen: Der Erfahrung nach wird später bei der Installation von Gluon bei drei NICs folgende Zuordnung vorgenommen:
-  * eth0: <niedrigste MAC> --> LAN-Anschluß+  * eth0: <niedrigste MAC> --> LAN-Anschluß, wird als Client konfiguriert
   * eth1: <nächst höhere MAC> --> WAN-Anschluß   * eth1: <nächst höhere MAC> --> WAN-Anschluß
   * eth2: <höchste MAC> --> in der Standardkonfiguration ohne Verwendung   * eth2: <höchste MAC> --> in der Standardkonfiguration ohne Verwendung
Zeile 181: Zeile 185:
  
 Das Live-Linux nun herunterfahren und anschließend die beiden USB-Sticks entfernen. Damit ist der Futro mit der Freifunk-Firmware fertig "betankt". Das Live-Linux nun herunterfahren und anschließend die beiden USB-Sticks entfernen. Damit ist der Futro mit der Freifunk-Firmware fertig "betankt".
 +
 +=== Alternative: Betanken des Massenspeichers ohne Live-Linux ===
 +
 +Der Massenspeicher kann alternativ auch ohne Live-Linux betankt werden, wenn der Massenspeicher ausgebaut wird und z.B. über einen USB-Adapter an ein Linux-System angesteckt wird. Auch über diese Weise kann das heruntergeladene Gluon-Image (analog zu oben mit dem Live-Linux auf dem Futro) mit //dd// auf den Massenspeicher geschrieben werden. Nach Ende des Schreibens den Massenspeicher abstecken und wieder in den Futro einbauen.
  
 ==== Im Configmodus starten ==== ==== Im Configmodus starten ====
Zeile 191: Zeile 199:
   * Nun den PC per LAN-Kabel mit der NIC des Futro mit der niedrigsten NIC verbinden. Auf der Konsole des **Futro** taucht eine Kernel-Meldung auf, dass "eth0 NIC Link is Up..."   * Nun den PC per LAN-Kabel mit der NIC des Futro mit der niedrigsten NIC verbinden. Auf der Konsole des **Futro** taucht eine Kernel-Meldung auf, dass "eth0 NIC Link is Up..."
   * Einen Moment später am Standard-PC erneut prüfen, ob der NIC im PC nun eine IP-Adresse aus dem Bereich 192.168.1.0/24 zugewiesen wurde. Dazu erneut in Windows //ipconfig// bzw. in Linux //ip addr// eingeben.   * Einen Moment später am Standard-PC erneut prüfen, ob der NIC im PC nun eine IP-Adresse aus dem Bereich 192.168.1.0/24 zugewiesen wurde. Dazu erneut in Windows //ipconfig// bzw. in Linux //ip addr// eingeben.
-  * Nun den Browser des PC starten und http://192.168.1.1/ aufrufen und den Futro im Config-Mode beliebig konfigurieren.+  * Nun den Browser des PC starten und http://192.168.1.1/ aufrufen und den Futro im Config-Mode konfigurieren.
   * Zum Schluß die Konfiguration abspeichern und den Futro neu starten.   * Zum Schluß die Konfiguration abspeichern und den Futro neu starten.
  
Zeile 204: Zeile 212:
 ===== Besonderheiten bei dritter NIC ===== ===== Besonderheiten bei dritter NIC =====
  
-Die oben aufgeführte Herangehensweise ist garantiert updatefest, selbst wenn mehr als zwei NICs im Futro sind. Die dritte und alle weiteren NICs sind aber funktionslos. Mit ein klein wenig Mehraufwand kann man eine dritte NIC in die Konfiguration integrieren und sowohl Client- als auch Mesh-Netzwerk d.hparallel aus dem Futro herausführen.+Eine dritte und alle weiteren NICs sind unter Gluon im Standard funktionslos. Bis Gluon 2.5 waren manuell durchgeführte Modifikationen in der Netzwerkonfiguration (z.B. für eine dritte Netzwerkkarte) nicht garantiert updatefestDas hat sich ab Gluon 2.6 geändert: die Änderungen sind updatefest, wenn die richtigen Konfigurationsdateien geändert werden**Achtung:** nicht die Datei ///etc/config/network // direkt manuell ändern!
  
-**Achtung: dies erfordert einen manuellen Eingriff in die Datei /etc/config/network und ist nicht zwangsläufig updatefest!** (Ein Update von Gluon 2.3 auf Gluon 2.4 hat aber problemlos funktioniert.) Zudem wird ausdrücklich davon abgeraten, nach Modifikation den Config-Mode erneut aufzurufen, da hierbei die Datei ///etc/config/network// erneut geschrieben werden kann! +Mit ein klein wenig Mehraufwand kann man eine dritte NIC in die Konfiguration integrieren und sowohl Client- als auch Mesh-Netzwerk d.hparallel aus dem Futro herausführenDie dafür nötigen manuellen Eingriffe werden im Weiteren dargestellt, so dass die **dritte NIC (eth2) für Mesh-Netzwerk** genutzt wird, während dem Default entsprechend die **erste NIC (eth0) für Client-Netzwerk** genutzt wird.
- +
-Im Weiteren soll die **dritte NIC (eth2) für Client-Netzwerk** genutzt werden, während die **erste NIC (eth0) für Mesh-Netzwerk** genutzt werden soll. Dies läßt sich durch einen sehr simplen Eingriff in die Datei ///etc/config/network// bewerkstelligen.+
  
 Für die Dateibearbeitungen verwenden wir die lokale Konsole des Futro und den integrierten Editor VI. Dieser Editor ist gewöhnungsbedürftig, aber sehr mächtig. Eine Kurzbeschreibung findet sich z.B. hier: https://www.cs.colostate.edu/helpdocs/vi.html Für die Dateibearbeitungen verwenden wir die lokale Konsole des Futro und den integrierten Editor VI. Dieser Editor ist gewöhnungsbedürftig, aber sehr mächtig. Eine Kurzbeschreibung findet sich z.B. hier: https://www.cs.colostate.edu/helpdocs/vi.html
Zeile 214: Zeile 220:
 Für die Bearbeitung auf der lokalen Konsole ist zudem zu beachten, dass als Default-Keyboard-Layout eine US-Tastatur eingestellt ist. Bitte z.B. hier nachlesen, wie die Tastenbelegung ist: https://en.wikipedia.org/wiki/QWERTY Für die Bearbeitung auf der lokalen Konsole ist zudem zu beachten, dass als Default-Keyboard-Layout eine US-Tastatur eingestellt ist. Bitte z.B. hier nachlesen, wie die Tastenbelegung ist: https://en.wikipedia.org/wiki/QWERTY
  
-=== Mesh-on-LAN auf eth0 einrichten ===+=== Manuelle Eingriffe für die dritte NIC als Mesh ===
  
-Wenn der Futro an der NIC für LAN (eth0noch nicht mit Mesh-on-LAN betrieben wird, muß der Futro erst entsprechend konfiguriert werden. Falls das bereits der Fall ist, kann dieser Abschnitt übersprungen werden.+Futro starten. Entweder über SSH oder lokal auf der Konsole des Futro einloggen. Nun folgende Befehle eingeben: 
 +<code> 
 +root@71522-aspacher-strasse-70-uplink-neu:~# 
 +root@71522-aspacher-strasse-70-uplink-neu:~# uci set gluon.iface_lan_mesh=interface 
 +root@71522-aspacher-strasse-70-uplink-neu:~# uci set gluon.iface_lan_mesh.name='eth2' 
 +root@71522-aspacher-strasse-70-uplink-neu:~# uci add_list gluon.iface_lan_mesh.role='mesh' 
 +root@71522-aspacher-strasse-70-uplink-neu:~# uci commit gluon 
 +root@71522-aspacher-strasse-70-uplink-neu:~# gluon-reconfigure 
 +Configuring: 001-reset-uci 
 +cfg030f15 
 +cfg01e48a 
 +Configuring: 002-migrate-system 
 +Configuring: 005-set-domain 
 +Configuring: 005-wireless-migration 
 +Configuring: 010-primary-mac 
 +Configuring: 020-interfaces 
 +Configuring: 021-interface-roles 
 +Configuring: 030-system 
 +Configuring: 100-lock-password 
 +Configuring: 110-network 
 +Configuring: 115-swconfig 
 +Configuring: 120-ntp-servers 
 +Configuring: 150-poe-passthrough 
 +Configuring: 180-outdoors 
 +Configuring: 190-preserve-wireless-channels 
 +Configuring: 200-wireless 
 +Configuring: 210-interface-mesh 
 +Configuring: 300-firewall-rules 
 +Configuring: 300-gluon-client-bridge-network 
 +Configuring: 300-setup-mode 
 +Configuring: 310-gluon-client-bridge-local-node 
 +Configuring: 310-gluon-mesh-batman-adv-mesh 
 +Configuring: 320-gluon-client-bridge-wireless 
 +Configuring: 320-gluon-mesh-batman-adv-client-bridge 
 +Configuring: 320-setup-ifname 
 +Configuring: 325-gluon-private-wifi 
 +Configuring: 330-gluon-mesh-batman-adv-mac-addresses 
 +Configuring: 400-mesh-vpn-fastd 
 +Configuring: 400-neighbour-info-firewall 
 +Configuring: 400-respondd-firewall 
 +Configuring: 500-autoupdater 
 +Configuring: 500-mesh-vpn 
 +Configuring: 500-node-info-system 
 +Configuring: 500-opkg 
 +Configuring: 500-ssid-changer 
 +Configuring: 500-status-page 
 +Configuring: 510-node-info-role 
 +Configuring: 820-dns-config 
 +Configuring: 997-migrate-preserved 
 +Configuring: 998-commit 
 +Configuring: 999-version 
 +root@71522-aspacher-strasse-70-uplink-neu:~# 
 +</code> 
 +Der Befehl //gluon-reconfigure// schreibt dabei (auchdie /etc/config/network neu. (Dies passiert auch beim Upgrade auf eine neue Gluon-Version.) Dadurch ist der Futro auch erst einen Moment offline und muß sich erneut mit den Gateways verbinden.
  
-Den Futro nun wieder in den Configmodus versetzen. Dazu auf der Futro-Konsole mit //cd /etc/config// in das Verzeichnis ///etc/config// wechseln und mit dem Befehl //vi gluon-setup-mode// die Datei //gluon-setup-mode// öffnen. Die Datei sollte wie folgt aussehen:+Nun erneutes Verbinden mit den Gateways prüfen:
 <code> <code>
-config setup_mode +root@71522-obere-bahnhofstr-26-uplink:~# batctl gwl 
-    option enabled '0' <--- diesen Eintrag auf '1' ändern +[B.A.T.M.A.N. adv 2022.0-openwrt-5, MainIF/MAC: primary0/8a:b8:94:22:66:0b (bat0/00:11:0a:63:1a:3a BATMAN_IV)] 
-    option configured '1'+  Router            ( TQ) Next Hop          [outgoingIf]  Bandwidth 
 +  02:00:35:11:01:03 (225) 02:00:33:11:04:03 [  mesh-vpn]: 96.0/96.0 MBit 
 +* 02:00:35:11:04:03 (255) 02:00:33:11:04:03 [  mesh-vpn]: 64.0/64.0 MBit 
 +  02:00:35:11:09:03 (225) 02:00:33:11:04:03 [  mesh-vpn]: 64.0/64.0 MBit 
 +  02:00:35:11:05:03 (225) 02:00:33:11:04:03 [  mesh-vpn]: 64.0/64.0 MBit 
 +root@71522-obere-bahnhofstr-26-uplink:~#
 </code> </code>
-Den oben gekennzeichneten Eintrag von //'0'// auf //'1'// ändern und die Datei abspeichern.+Mesh-VPN ist mit einem Gateway verbunden.
  
-Folgende weitere Schritte durchführen +//brctl show// muss die entsprechenden Interfaces in //br-wan// und //br-client// haben:  
-  * Auf der Futro-Konsole den Befehl //reboot// eingeben. Der Futro startet dann neu, und zwar in den Configmode. +<code> 
-  * Den Standard-PC mit der NIC für LAN (eth0) des Futro verbinden und im Browser über http://192.168.1.1den Configmode aufrufen. +root@71522-obere-bahnhofstr-26-uplink:~# brctl show 
-  * In die "Erweiterten Einstellungen" wechseln, und dort unter "Netzwerk" "Mesh auf dem LAN-Port aktivieren" anhäkeln und abspeichern. +bridge name     bridge id               STP enabled     interfaces 
-  * In den Wizard zurückwechseln und "Speichern und Neustart" anklicken+br-client               7fff.00110a631a3a       no              eth0 
-  * Futro neu starten lassen.+                                                        bat0 
 +                                                        local-port 
 +br-wan          7fff.8ab894226608       no              eth1 
 +root@71522-obere-bahnhofstr-26-uplink:~# 
 +</code>
  
-=== Modifikation von /etc/config/network ===+Nun mit //batctl if// prüfen, ob das entsprechende Interface für Mesh (im Beispiel //eth2//) enthalten ist. **Achtung:** Das Interface taucht nur auf, das Interface auch einen Link hat, also tatsächlich oder virtuell eingestöpselt ist. Beispiel:
  
-Nun auf der lokalen Futro-Konsole mit //vi// die Datei ///etc/config/network// öffnen. Darin sollten sich die zwei folgenden Abschnitte befinden: 
 <code> <code>
-config interface 'mesh_lan' +root@71522-obere-bahnhofstr-26-uplink:~# batctl if 
-        option igmp_snooping '0' +eth2: active 
-        option ifname 'eth0' +primary0active 
-        option index '4' +mesh-vpn: active 
-        option proto 'gluon_wired' +root@71522-obere-bahnhofstr-26-uplink:~#
-        option transitive '1' +
-        option macaddr '5a:f2:fc:79:1d:14' +
-        option disabled '0' <--- muss auf '0' stehen +
- +
-config interface 'client' +
-        option igmp_snooping '1' +
-        option type 'bridge' +
-        option auto '1' +
-        option ra_holdoff '30' +
-        option multicast_querier '1' +
-        option macaddr '00:11:0a:55:3c:fc' +
-        option ipv6 '1' +
-        option keep_ra_dnslifetime '1' +
-        option sourcefilter '0' +
-        option peerdns '1' +
-        option robustness '9' +
-        option reqprefix 'no' +
-        option query_interval '2000' +
-        option query_response_interval '500' +
-        option proto 'dhcpv6' +
-        list ifname 'local-port' +
-        list ifname 'bat0' +
-        list ifname 'eth2' <--- diese komplette Zeile wurde ergänzt+
 </code> </code>
  
-Die Zeile //option disabled '0'// im Abschnitt //config interface 'mesh_lan'// zeigt, dass die NIC eth0 mit Mesh-on-LAN arbeitet (//Disabled '0'// bedeutet ja //Enabled '1'//.) +Abschließend den Futro mit der gesamten Konfiguration testen: 
- +  * eth0: Client-Netzwerk
-Nun im Abschnitt //config interface 'client'// die Zeile //list ifname 'eth2'// neu hinzufügen und die geänderte Datei abspeichern. +
- +
-Abschließend den Futro neu starten und die gesamte Konfiguration testen: +
-  * eth0: Mesh-on-LAN-Netzwerk+
   * eth1: WAN (Uplink)   * eth1: WAN (Uplink)
-  * eth2: Client-Netzwerk +  * eth2: Mesh-on-LAN-Netzwerk
- +
-===== Persistenz ===== +
- +
-Damit auch nach Updates die Zuordnung der NICs stabil bleibt, sind einige Dateien im Verzeichnis ///lib/gluon/core/sysconfig// abgelegt. Diese sollten folgende Inhalte haben: +
-  * gluon_version: //v2020.2.3-ffs0.3// . Gibt den aktuellen Softwarestand an. +
-  * lan_ifname: //eth0// . Legt die LAN-Schnittstelle fest. +
-  * primary_mac: <die physikalische MAC-Adresse der LAN-Schnittstelle> +
-  * setup_ifname: //eth0// . Legt die Schnittstelle fest, von der die MAC-Adressen abgeleitet werden. +
-  * wan_ifname: //eth1// . Legt die WAN-Schnittstelle fest. +
- +
-An diesen Einträgen sollte man nichts ändern müssen.+
  
  • technik/hardware/futro-s900.1649870600.txt.gz
  • Zuletzt geändert: vor 2 Jahren
  • von Konrad Panzlaff