Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung |
knb:rpb4 [2022/04/05 11:55] – [VLAN Betrieb] goligo | knb:rpb4 [2023/11/08 17:36] (aktuell) – [Offloader auf Basis eines Raspberry PI 4B] goligo |
---|
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 PI 4B mit der vorhandenen Freifunk München-Firmware. Es kann entweder ein zusätzlicher USB-LAN-Adapter angeschlossen werden oder, 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 oder, wenn 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. | 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 nur experimentell, weil die WiFi-Hardware im Raspberry 4 nicht tauglich ist für den Betrieb als WLAN Access Point. 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. |
| Das bedeutet als Offloader kann man ihn nur sinnvoll einsetzen, wenn man das Mesh-Netz, bzw. das Client-Netz über den LAN-Port oder einen externen USB-LAN-Adapter ausleitet und auf die Verwendung als AP oder WLAN-Mesh-Node verzichtet. |
| </WRAP> |
| |
==== Hardware ==== | ==== Hardware ==== |
| |
Man benötigt natürlich einen Raspberry PI 4, am besten in einem ordentlichem Gehäuse, außerdem eine MicroSD-Karte mit wenigstens 1GB Speicher: | Man benötigt natürlich einen Raspberry PI 4, am 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|}} |
| |
[[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]] |
| |
| Bevor wir das gerade heruntergeladenen Firmware-Image auf die SD-KArte schreiben können, entpacken wir das **.gz** file noch. |
| |
| $ gunzip gluon-ffmuc-<aktuelle version>-raspberry-pi-4-model-b.img.gz |
| |
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): | 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): |
| |
<code> | $ sudo dd if=gluon-ffmuc-<aktuelle version>-raspberry-pi-4-model-b.img of=/dev/<sdcard device> bs=65536 |
sudo dd if=gluon-ffmuc-<aktuelle version>-raspberry-pi-4-model-b.img of=/dev/<sdcard device> bs=65536 | |
</code> | |
| |
Unter Windows braucht man dazu ein Programm wie zum Beispiel den [[https://sourceforge.net/projects/win32diskimager/|Win32DiskImager]]. | Unter Windows braucht man dazu ein Programm wie zum Beispiel den [[https://sourceforge.net/projects/win32diskimager/|Win32DiskImager]]. |
</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 Namen des Interfaces als Inhalt. Danach ruft man "gluon-reconfigure" auf, 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> |
network.client.ifname='local-port' 'bat0' 'eth1' | network.client.ifname='local-port' 'bat0' 'eth1' |
| |
root@raspi4:~# reboot | root@raspi4:~# service network restart |
</code> | </code> |
| |
Configuring: 999-version | Configuring: 999-version |
| |
root@raspi4:~# reboot | root@raspi4:~# service network restart |
</code> | </code> |
| |
| |
<code> | <code> |
root@raspi4:~# uci set network.mesh_lan.disabled=0 | root@raspi4:~# uci del_list gluon.iface_lan.role='client' |
| root@raspi4:~# uci add_list gluon.iface_lan.role='mesh' |
| |
root@raspi4:~# uci del_list network.client.ifname=$(cat /lib/gluon/core/sysconfig/lan_ifname) | root@raspi4:~# uci commit gluon |
| |
| root@raspi4:~# gluon-reconfigure |
| Configuring: 001-upgrade |
| Configuring: 005-set-domain |
| ... |
| Configuring: 998-commit |
| Configuring: 999-version |
| |
root@raspi4:~# uci commit network | root@raspi4:~# service network restart |
</code> | </code> |