knb:rpb4

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
Letzte ÜberarbeitungBeide Seiten der Revision
knb:rpb4 [2022/02/01 01:53] goligoknb:rpb4 [2023/11/05 20:03] – typofixing django
Zeile 9: Zeile 9:
 Offloader auf Basis eines Raspberry PI 4B - eine Kurzanleitung von **[[https://chat.ffmuc.net/freifunk/messages/@goligo|goligo]]**. Offloader auf Basis eines Raspberry PI 4B - eine Kurzanleitung von **[[https://chat.ffmuc.net/freifunk/messages/@goligo|goligo]]**.
  
-Dieser Anleitung beschreibt das Aufsetzen eines Offloaders auf dem Raspberry mit der vorhandenen Freifunk-Firmware. Es kann entweder ein zusätzlicher USB-LAN-Adapter angeschlossen werdenoder wenn man einen VLAN-fähigen Switch hat, geht es auch nur mit dem einen vorhandenen Netzwerkport.+Dieser Anleitung beschreibt das grundsätzliche Aufsetzen eines Offloaders auf dem Raspberry PI 4B mit der vorhandenen Freifunk München-Firmware. Es kann entweder ein zusätzlicher USB-LAN-Adapter angeschlossen werden oderwenn man einen VLAN-fähigen Switch hat, geht es auch nur mit dem einen vorhandenen Netzwerkport. 
 + 
 +Der Raspberry PI 4 ist schnell genug, um eine 250 MBit/s Leitung voll auszulasten, unabhängig davon, ob man mit einem zusätzlichen Adapter oder einem VLAN arbeitet. 
 + 
 +<WRAP center round important 80%> 
 +**Wichtiger Hinweis**((Stand: Nov. 2023)): \\ \\ 
 +Upstream Gluon supportet den Pi4 nicht wirklich zuverlässig! WiFi wird mit gluon beim Raspberry 4B nie richtig zuverlässig funktionieren! Hintergrund ist, dass die PIs  alle FullMAC/hardMAC Radios haben, die per USB angebunden sind. Bei diesen fehlen wichtige Modes z.B. fürs meshen. Die USB Verbindung war in der Vergangenheit aber auch oft sehr problematisch. 
 +Möchte man einen Offloader mit einem Raspberry 4B realisieren, greift man daher lieber auf die bewährte Möglichkeit des Bau eines Freifunk-Offloaders auf Basis eines Raspberry 4B. Mit der Suchmaschine seines persönlichen Vertrauens findet man schnell die entsprechende Anleitung im WEB zu → //**Bau eines Freifunk-Offloaders auf Basis eines Raspberry 4B**//. 
 + 
 +</WRAP>
  
 ==== Hardware ==== ==== Hardware ====
  
-Man benötigt natürlich einen Raspberry PI 4 am besten in einem ordentlichem Gehäuse, ausserdem eine MicroSD-Karte mit wenigstens 1GB Speicher:+Man benötigt natürlich einen Raspberry PI 4am besten in einem ordentlichem Gehäuse, ausserdem eine MicroSD-Karte mit wenigstens 1GB Speicher:
  
 {{:knb:raspberry_pi_4.jpg?400|}} {{:knb:raspberry_pi_4.jpg?400|}}
  
-Je nach Setup zusätzlich einen USB 3.0 LAN-Adapter, der von Gluon/OpenWrt unterstützt wird. Da es sich um einen Linux-Kernel handelt, gibt es Treiber für viele Hersteller, man sollte sich aber unbedingt vor dem Kauf schlau machen. Eine Liste der Chipsets für die es Treiber gibt, findet man hier: [[https://openwrt.org/packages/table/start?dataflt%5BName_pkg-dependencies*%7E%5D=kmod-usb-net|OpenWrt Netzwerk Treiber]]. Das Firmware-Image für den Raspberry PI 4 enthält bereits die meisten üblichen Treiber.+Je nach Setup wird zusätzlich ein USB 3.0 LAN-Adapter benötigt, der von Gluon/OpenWrt unterstützt wird. Da es sich um einen Linux-Kernel handelt, gibt es Treiber für viele Hersteller. Man sollte sich aber unbedingt vor dem Kauf darüber informieren. Eine Liste der Chipsetsfür die es Treiber gibt, findet man hier: [[https://openwrt.org/packages/table/start?dataflt%5BName_pkg-dependencies*%7E%5D=kmod-usb-net|OpenWrt Netzwerk Treiber]]. Das Firmware-Image für den Raspberry PI 4 enthält bereits die meisten üblichen Treiber.
  
 {{:knb:usb_lan_adapter.jpg?400|}} {{:knb:usb_lan_adapter.jpg?400|}}
Zeile 27: Zeile 36:
 [[https://firmware.ffmuc.net/?q=Raspberry%C2%A0Pi%C2%A0Foundation%E2%81%A3%20PI4%E2%81%A3|Raspberry PI 4 Firmware Download]] [[https://firmware.ffmuc.net/?q=Raspberry%C2%A0Pi%C2%A0Foundation%E2%81%A3%20PI4%E2%81%A3|Raspberry PI 4 Firmware Download]]
  
-Die Firmware auf die SD-Karte zu flashen geht unter Linux oder Mac am einfachsten im Terminal mit dd (auf dem Mac vorher unmounten und Festplatten Vollzugriff für das Terminal erlauben):+Bevor wir das gerade heruntergeladenen Firmware-Image auf die SD-KArte schreiben können, entpacken wir das **.gz** file noch.
  
-<code> +   $ gunzip gluon-ffmuc-<aktuelle version>-raspberry-pi-4-model-b.img.gz
-sudo dd if=gluon-ffmuc-v2021.11.1-next1-raspberry-pi-4-model-b.img of=/dev/rdisk12 bs=65536 +
-</code>+
  
-Unter Windows braucht man ein Programm dazu wie zum Beispiel den [[https://sourceforge.net/projects/win32diskimager/|Win32DiskImager]].+Die Firmware auf die SD-Karte zu flashen geht unter Linux oder MacOS am einfachsten im Terminal mit dem "dd"-Befehl (auf dem Mac vorher eine evtl. bereits vorhandene Partition unmounten und Festplatten den Vollzugriff für das Terminal erlauben):
  
-==== Setup ====+   $ sudo dd if=gluon-ffmuc-<aktuelle version>-raspberry-pi-4-model-b.img of=/dev/<sdcard device> bs=65536
  
-Jetzt kann man die SD-Karte in den Raspberry PI stecken, den Computer per Netzwerkkabel anschliessen, DHCP einschalten und den Raspberry starten. Nach kurzer Zeit ist die Setup-Wizard unter  +Unter Windows braucht man dazu ein Programm wie zum Beispiel den [[https://sourceforge.net/projects/win32diskimager/|Win32DiskImager]].
-http://192.168.1.1 zu erreichen und kann wie gewohnt eingerichtet werden.+
  
-**Wichtig:** Zuerst auf "Erweiterte Einstellungen" gehen und dort zum einen "Remotezugriff" den SSH-Key hinterlegen, so dass man später auf den Offloader zugreifen kann. Danach erst auf "Wizard" um den Namen des Knotens und die anderen Einstellungen vorzunehmen.+==== Setup ====
  
-Nach der Einrichtung kann der Knoten nun ans lokale Netzwerk angeschlossen werden. Er ist in der Regel nach kurzer Zeit unter dem Namen des Knotens erreichbar:+Jetzt kann man die SD-Karte in den Raspberry Pi stecken, den Computer direkt per Netzwerkkabel anschließen, DHCP aktivieren und den Raspberry Pi starten. Nach kurzer Zeit ist die Setup-Wizard im Browser unter http://192.168.1.1 zu erreichen und der neue Raspberry-Knoten kann wie gewohnt eingerichtet werden.
  
-<code> +**Wichtig:** Zuerst auf "Erweiterte Einstellungen" gehen und dort unter "Remotezugriff" den SSH-Key hinterlegen, so dass man später auf den Knoten zugreifen kann. Danach erst auf "Wizard" gehen, um den Knotennamen und die restlichen Einstellungen vorzunehmen.
-ping raspi4 +
-</code>+
  
-==== USB 3.0 LAN Adapter ====+Nach der Einrichtung kann der Knoten nun vom Einrichtungscomputer abgesteckt und ans lokale Netzwerk angeschlossen werden. Er ist in der Regel nach kurzer Zeit unter dem Namen des Knotens erreichbar und man kann sich per SSH darauf einloggen.
  
-Wenn man einen USB-LAN-Adapter verwenden möchte, so kann man diesen jetzt anschliessen und sich per SSH einloggen um diesen einzurichten. Als erstes schaut man am besten mit "lsusbob der Adapter erkannt wurde und als was, dann prüft man ob auch das zugehörige Ethernet-Interface schon vorhanden ist, oder ob man noch Treiber installieren muss.+Hier folgt ein Beispiel mit dem Knotennamen "raspi4" und dem Knoten angeschlossen an einer AVM Fritz!Box:
  
 <code> <code>
-ssh root@raspi4+ping raspi4 
 +... 
 +--- raspi4.fritz.box ping statistics --- 
 +4 packets transmitted, 4 packets received, 0.0% packet loss 
 +round-trip min/avg/max/stddev = 0.655/0.760/0.826/0.066 ms
  
 +% ssh root@raspi4
 BusyBox v1.33.1 (2020-12-22 03:35:17 UTC) built-in shell (ash) BusyBox v1.33.1 (2020-12-22 03:35:17 UTC) built-in shell (ash)
  
Zeile 65: Zeile 74:
  OpenWrt 21.02-SNAPSHOT, r16295+8-3a051a234a  OpenWrt 21.02-SNAPSHOT, r16295+8-3a051a234a
  -----------------------------------------------------  -----------------------------------------------------
 +
 +root@raspi4:~# 
 +</code>
 +
 +==== USB 3.0 LAN Adapter ====
 +
 +Wenn man einen USB-LAN-Adapter verwenden möchte, so kann man diesen jetzt anschließen und sich per SSH einloggen, um diesen einzurichten. Als erstes schaut man am besten mit "lsusb", ob der Adapter erkannt wurde und als was. Dann prüft man ob auch das zugehörige Ethernet-Interface vorhanden ist oder ob man noch zusätzliche Treiber installieren muss.
 +
 +<code>
 root@raspi4:~# lsusb root@raspi4:~# lsusb
 Bus 002 Device 002: ID 0bda:8153 Realtek USB 10/100/1000 LAN Bus 002 Device 002: ID 0bda:8153 Realtek USB 10/100/1000 LAN
Zeile 70: Zeile 88:
 Bus 001 Device 002: ID 2109:3431  USB2.0 Hub Bus 001 Device 002: ID 2109:3431  USB2.0 Hub
 Bus 001 Device 001: ID 1d6b:0002 Linux 5.4.143 xhci-hcd xHCI Host Controller Bus 001 Device 001: ID 1d6b:0002 Linux 5.4.143 xhci-hcd xHCI Host Controller
 +
 root@raspi4:~# ifconfig eth1 root@raspi4:~# ifconfig eth1
 eth1      Link encap:Ethernet  HWaddr 00:E1:33:00:00:2A   eth1      Link encap:Ethernet  HWaddr 00:E1:33:00:00:2A  
Zeile 79: Zeile 98:
 </code> </code>
  
-Um Gluon jetzt beizubringen, dass ein zusätzliches Netzwerk-Interface vorhanden ist, muss man die Datei "/lib/gluon/core/sysconfig/lan_ifname" anlegen mit dem Namens des Interfaces als Inhalt. Danach ruft man "gluon-reconfigure" um die Konfiguration zu aktualisieren. Danach sollte "eth1" mit ins Client-Netzwerk aufgenommen sein und nach einem Neustart des Knotens sollte ein angeschlossener Computer  Freifunk-Netzwerk haben auf dem Anschluss.+Um Gluon jetzt beizubringen, dass ein zusätzliches Netzwerk-Interface vorhanden ist, muss man per uci einen zusätzlichen Interface-Eintrag dafür anlegen. Danach ruft man "gluon-reconfigure" auf, um die Konfiguration zu aktualisieren. Dann sollte "eth1" mit ins Client-Netzwerk aufgenommen sein und nach einem Neustart des Knotens sollte ein angeschlossener Computer Freifunk-Netzwerk haben auf dem Anschluss.
  
 <code> <code>
-root@raspi4:~# echo eth1 > /lib/gluon/core/sysconfig/lan_ifname+root@raspi4:~# uci set gluon.iface_lan=interface 
 +root@raspi4:~# uci set gluon.iface_lan.name='eth1
 +root@raspi4:~# uci add_list gluon.iface_lan.role='client' 
 + 
 +root@raspi4:~# uci commit gluon 
 root@raspi4:~# gluon-reconfigure  root@raspi4:~# gluon-reconfigure 
 Configuring: 001-upgrade Configuring: 001-upgrade
Zeile 89: Zeile 113:
 Configuring: 998-commit Configuring: 998-commit
 Configuring: 999-version Configuring: 999-version
 +
 root@raspi4:~# uci show network.client.ifname root@raspi4:~# uci show network.client.ifname
 network.client.ifname='local-port' 'bat0' 'eth1' network.client.ifname='local-port' 'bat0' 'eth1'
-root@raspi4:~# reboot+ 
 +root@raspi4:~# service network restart
 </code> </code>
  
-Wenn man den Offloader für ein Unifi oder Omada Mesh verwendetist man jetzt fertig und kann den Offloader anschliessenWenn man Mesh-On-LAN verwenden will und andere Freifunk-Knoten per Kabel verbinden, muss man das jetzt noch umstellen, indem man "eth1" aus dem Client-Netzwerk entfernt und Mesh-On-LAN aktiviert.+==== VLAN Betrieb ==== 
 + 
 +Wenn man einen VLAN-fähigen Switch hatkommt man auch ohne zusätzlichen Netzwerk-Adapter ausMan muss in diesem Fall das WANund LAN-Interface entsprechend der VLAN-Konfiguration setzen. 
 + 
 +Hier in diesem Beispiel ist das WAN auf der VLAN-ID 10 und das Freifunk-Netzwerk auf der VLAN-ID 20.
  
 <code> <code>
-root@raspi4:~# uci set network.mesh_lan.disabled=0 +root@raspi4:~# uci del_list gluon.iface_single.role='uplink' 
-root@raspi4:~# uci del_list network.client.ifname=eth1 +root@raspi4:~# uci add_list gluon.iface_single.role='none' 
-root@raspi4:~# uci commit network+root@raspi4:~# uci set gluon.iface_wan=interface 
 +root@raspi4:~# uci set gluon.iface_wan.name='eth0.10' 
 +root@raspi4:~# uci add_list gluon.iface_wan.role='uplink' 
 +root@raspi4:~# uci set gluon.iface_lan=interface 
 +root@raspi4:~# uci set gluon.iface_lan.name='eth0.20' 
 +root@raspi4:~# uci add_list gluon.iface_lan.role='client' 
 + 
 +root@raspi4:~# uci commit gluon 
 + 
 +root@raspi4:~# gluon-reconfigure 
 +Configuring: 001-upgrade 
 +Configuring: 005-set-domain 
 +... 
 +Configuring: 998-commit 
 +Configuring: 999-version 
 + 
 +root@raspi4:~# service network restart
 </code> </code>
  
-==== VLAN Betrieb ====+==== Mesh-On-LAN ====
  
-Wenn man einen VLAN-fähigen Switch hatkommt man auch ohne zusätzlichen Netzwerk-Adapter ausMan muss in diesem Fall das WANund LAN-Interface entsprechend für seine VLAN-Konfiguration setzenhier in diesem Beispiel ist das WAN auf VLAN-ID 10 und das Freifunk-Netzwerk auf VLAN-ID 20.+Wenn man den Offloader für ein Unifioder Omada-Mesh verwendetist man jetzt fertig und kann den Offloader anschließenWenn man Mesh-On-LAN verwenden und andere Freifunk-Knoten per Kabel verbinden willmuss man das noch umstellen, indem man das LAN-Interface aus dem Client-Netzwerk entfernt und Mesh-On-LAN aktiviert.
  
 <code> <code>
-root@raspi4:~# echo eth0.10 > /lib/gluon/core/sysconfig/wan_ifname  +root@raspi4:~# uci del_list gluon.iface_lan.role='client' 
-root@raspi4:~# echo eth0.20 > /lib/gluon/core/sysconfig/lan_ifname+root@raspi4:~# uci add_list gluon.iface_lan.role='mesh' 
 + 
 +root@raspi4:~# uci commit gluon 
 root@raspi4:~# gluon-reconfigure root@raspi4:~# gluon-reconfigure
 Configuring: 001-upgrade Configuring: 001-upgrade
Zeile 115: Zeile 164:
 Configuring: 998-commit Configuring: 998-commit
 Configuring: 999-version Configuring: 999-version
-root@raspi4:~# reboot 
-</code> 
  
 +root@raspi4:~# service network restart
 +</code>
  • knb/rpb4.txt
  • Zuletzt geändert: 2023/11/08 17:36
  • von goligo