Benutzer:Lord Cassius

Aus wiki.freifunk.net
Wechseln zu: Navigation, Suche
Important.png Wichtig: Für die FritzBox 4040 wird aktuell noch kein Image vom Berliner Buildbot gebaut!

Images

Alpha-AVM-Support

Diese Firmware ist experimentell befinden sich in Entwicklung. Es kann noch Fehler geben und es kann passieren, dass du den Router mit diesen Images brickst. Eher für erfahrene Freifunker gedacht. Zu Risiken und Nebenwirkungen fragen Sie Ihren Freifunker auf der Mailingliste bzw. Mittwoch's in der C-Base

Gerät Status Firmware Preis Freq. (Ghz) Typ Antenne CPU/RAM/Flash Ethernet PoE USB Erstinstaltion
FRITZ!Box 4040 alpha/ beta [1]
  Externer-Download-default
  Externer-Download-TunnelBerlin
ca. 70€ 2.4 / 5[2] indoor Intern 4x638 / 256 / 32 4*1GBit +1 WAN nein ja Wichtiger Hinweis
FRITZ!Box 4020 alpha/ beta
  Externer-Download-default
  Externer-Download-TunnelBerlin
ca. 40€ 2.4 indoor Intern 750 / 128 / 16 4*100MBit + 1WAN nein (ja) does not working Wichtiger Hinweis
FRITZ!Box 3370-rev2-hynix alpha/ beta [3]
  Externer-Download-default
  Externer-Download-TunnelBerlin
ca. 20-30€ 2.4 oder 5 indoor Intern 500 / 128 / 128 4*1GBit nein ja Wichtiger Hinweis
FRITZ!Box 3370-rev2-micron alpha/ beta [4]
  Externer-Download-default
  Externer-Download-TunnelBerlin
ca. 20-30€ 2.4 oder 5 indoor Intern 500 / 128 / 128 4*1GBit nein ja Wichtiger Hinweis
FRITZ! Repeater 300E alpha/ beta
  Externer-Download-default
  Externer-Download-TunnelBerlin
ab ca. 15€ 2.4 indoor Intern 400 / 64 / 16 1*100MBit nein nein Wichtiger Hinweis
FRITZ! Repeater 450E alpha/ beta
  Externer-Download-default
  Externer-Download-TunnelBerlin
ca. 37 € 2.4 indoor Intern 560 / 64 / 16 1*1Gbit nein nein Wichtiger Hinweis
FRITZ!Box 7360SL alpha/ beta
  Externer-Download-default
  Externer-Download-TunnelBerlin
ca. 25 € 2.4 indoor Intern 500 / 128 / 16 2*1Gbit 2*100Mbit nein ja Wichtiger Hinweis
FRITZ!Box 7362SL alpha/ beta [5]
  Externer-Download-default
  Externer-Download-TunnelBerlin
ca. 30 € 2.4 indoor Intern 500 / 128 / 16 2*1Gbit 2*100Mbit nein ja Wichtiger Hinweis

FritzBox 4040

Device Type:           WiFi Router
Brand:                 AVM
Model:                 FRITZ!Box 4040
Availability:          Available 2018
Where available:       amazon.de, jeder Saturn oder Media Markt ~75€
Supported Since        Commit: https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=1cb406d019dc84497a8405c470f0b0394d5ff64a
Supported Since Rel:   18.06.0
Supported Current Rel: 18.06.2
Target:                ipq40xx
Subtarget:             generic
Package architecture:  arm_cortex-a7_neon-vfpv4
Bootloader:            EVA
CPU:                   Qualcomm IPQ4018
CPU Cores:             4
CPU MHz:               638
Flash MB:              32
RAM MB:                256

Install openwrt

Da der Buildbot keine eva.bin Images erzeugen kann sondern nur sysupgrade müssen wir erst einmal das openwrt Grundsystem Installieren. Dafür laden wir ein Image Fritzbox4040.eva.bin.


Important.png Wichtig: Für die Installation des Images auf der FritzBox wird ein PC-Betreibssystem benötigt welches Pasives FTP beherscht. Windows10 kann das out of the Box nicht!

Ein Switch/Hub für die Verbindung zur FritzBox ist auch hilfreich aber nicht unbedingt erforderlich.

  • Stellt bei euch die IP Adresse auf der entsprechenden Ethernetschnitstelle die ihr mit der FritzBox verbinden wollt fest auf 192.168.178.2 ein.

Zieht kurz den Stromstecker der Box und steckt ihn wieder rein. Die Box startet neu. Innerhalb eines kurzen Zeitfensters 5sec nach dem die Box wieder Strom hat ist sie unter der Adresse 192.168.1.178.1 per ftp auf der Kommandozeile erreichbar.

Falls ihr einen Switch zwischengeschaltet habt, seht ihr die Link-LED des Ports in genau diesem Moment kurz aufleuchten.


$ ftp -n -v -p 192.168.178.1 
Connected to 192.168.178.1 (192.168.178.1).
220 ADAM2 FTP Server ready
ftp> quote USER adam2
331 Password required for adam2
ftp> quote PASS adam2
230 User adam2 successfully logged in
ftp> quote MEDIA FLSH
200 Media set to MEDIA_FLASH
ftp> binary
200 Type set to BINARY
ftp> put openwrt-18.06.1-ipq40xx-avm_fritzbox-4040-squashfs-eva.bin mtd1
local: openwrt-18.06.1-ipq40xx-avm_fritzbox-4040-squashfs-eva.bin remote: mtd1
227 Entering Passive Mode (192,168,178,1,12,0)
150 Opening BINARY data connection
226 Transfer complete
5505028 bytes sent in 24,7 secs (223,21 Kbytes/sec)
ftp> quote check mtd1
150 Flash check 0x9F288C3D

So ungefähr solte das ablaufen. Der flashvorgang der Box dauert etwas vergesst nicht eure feste IP wieder auf DHCP zu stellen. Die Box ist wenn Sie fertig ist unter der openwrt Standart Adresse 192.168.1.1 erreichbar.

Erstellung eines Sysupgrade Images

Important.png Wichtig: Zum selber bauen des Sysupgrade Images benötigt ihr eine Virtuelle Machine bzw einen PC/Laptop mit Linux und je nach Leistung viel Zeit

Build Prerequisites On Ubuntu/Debian:

 apt-get install git build-essential libncurses5-dev zlib1g-dev gawk time \
 unzip libxml-perl flex wget gawk libncurses5-dev gettext quilt python libssl-dev

On openSUSE:

 zypper install --type pattern devel_basis
 zypper install git ncurses-devel zlib-devel gawk time \
 unzip perl-libxml-perl flex wget gawk gettext-runtime quilt python libopenssl-devel

So dann noch die Berliner Firmware:

 git clone https://github.com/freifunk-berlin/firmware.git
 cd firmware
 git checkout master

Im Master Branch ist das Target ipq40xx-generic nicht drin. Deshalb müssen wir 2 Datein erzeugen. Einmal firmware/configs/ipq40xx-generic.config diese bekommt folgenden Inhalt

CONFIG_TARGET_ipq40xx=y
CONFIG_TARGET_ipq40xx_generic=y
CONFIG_TARGET_ipq40xx_DEVICE_glinet_gl-b1300=y
CONFIG_TARGET_BOARD="ipq40xx"
CONFIG_TARGET_ROOTFS_INITRAMFS=y
CONFIG_TARGET_INITRAMFS_COMPRESSION_NONE=y
COBFIG_PACKAGE_ath10k-firmware-qca4019-ct=m
CONFIG_PACKAGE_kmod-ath10k-ct=m
CONFIG_PACKAGE_kmod-usb-dwc3=m
CONFIG_PACKAGE_kmod-usb3=y
CONFIG_PACKAGE_kmod-usb-dwc3-of-simple=y
CONFIG_TARGET_ARCH_PACKAGES="arm_cortex-a7_neon-vfpv4"
CONFIG_PACKAGE_wireless-regdb=m
CONFIG_PACKAGE_fritz-caldata=m
CONFIG_PACKAGE_fritz-tffs=m

Die 2 Datei in firmware/profiles/ipq40xx-generic.profiles

glinet_gl-b1300

Hier fehlt aber noch die FritzBox4040. Dafür ist jetzt ein Kunstgriff notwendig. In den update feeds holt sich der Buildbot immer die aktuellen Targets aus vom original openwrt aus dem Netz. Darin enthalten ist das makefile welches zur erstellung des eva.bin und sysupgrade.bin images notwendig ist. Der Buildboot kann aktuell keine eva.bin Images erzeugen. Also wird ein build ohne Kunstgriff immer fehlschlagen. Der Trick ist einmal den make für das TARGET=ipq40xx-generic durchlaufen zu lassen also:

 make -j1 V=s TARGET=ipq40xx-generic

Hier kann man schon sehen ob man irgendwelche Packete vergessen hat, fals ja einfach die Datei firmware/configs/ipq40xx-generic.config anpassen und das Packet hinzufügen. Als Ergebnis bekommt man ein Image für den gl-B1300. jetzt sollte in eurem firmwareordner auch ein ordner openwrt sein, den es vorher noch nicht gab. Jetzt gehts an den schwierigen Teil. im makefile der firmware also firmware/makefile an Zeile 73-74 müssen die Codezeilen auskommentiert werden:

 # feeds
 $(OPENWRT_DIR)/feeds.conf: .stamp-openwrt-updated feeds.conf
 cp $(FW_DIR)/feeds.conf $@

zu:

 #feeds
 #$(OPENWRT_DIR)/feeds.conf: .stamp-openwrt-updated feeds.conf
 #cp $(FW_DIR)/feeds.conf $@

Jetzt können wir im makefile des openwrt das eva.bin Image entfernen ohne das uns die update feeds das makefile kaputt macht. Im Pfad firmware/openwrt/target/linux/ipq40xx/image/Makefile die Stelle suchen:

define Device/avm_fritzbox-4040
	$(call Device/FitImageLzma)
	DEVICE_DTS := qcom-ipq4018-fritz4040
	BOARD_NAME := fritz4040
	DEVICE_TITLE := AVM Fritz!Box 4040
	IMAGE_SIZE := 29753344
	UBOOT_PATH := $$(BIN_DIR)/u-boot-fritz4040/uboot-fritz4040.bin
	UBOOT_PARTITION_SIZE := 524288
	IMAGES = eva.bin sysupgrade.bin
	IMAGE/eva.bin := append-uboot | pad-to $$$$(UBOOT_PARTITION_SIZE) | append-kernel | append-rootfs | pad-rootfs
	IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
	DEVICE_PACKAGES := fritz-tffs fritz-caldata u-boot-fritz4040
endef
TARGET_DEVICES += avm_fritzbox-4040

Diese Zeilen ändern wir zu:

define Device/avm_fritzbox-4040
	$(call Device/FitImageLzma)
	DEVICE_DTS := qcom-ipq4018-fritz4040
	BOARD_NAME := fritz4040
	DEVICE_TITLE := AVM Fritz!Box 4040
	IMAGE_SIZE := 29753344
	IMAGES = sysupgrade.bin
	IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
	DEVICE_PACKAGES := fritz-tffs fritz-caldata u-boot-fritz4040
endef
TARGET_DEVICES += avm_fritzbox-4040

Damit verhindern wir das der Buildbot ein eva.bin bauen möchte... kann er eh nicht. Jetzt noch schnell die Profiles anpassen in firmware/profiles/ipq40xx-generic.profiles einfach unter

glnet_gl-b1300 

in Zeile2:

avm_fritzbox-4040

Eintragen.

Das Configfile muss auch angepasst werden in firmware/configs/ipq40xx-generic.config. Unter der Zeile 3

CONFIG_TARGET_ipq40xx_DEVICE_glinet_gl-b1300=y

einfach noch

CONFIG_TARGET_ipq40xx_DEVICE_avm_fritzbox-4040=y

Hinzufügen.

Jetzt ist es an der Zeit das Sysupgrade Image zu bauen mit:

  make -j1 V=s TARGET=ipq40xx-generic

Die Zahl hinter dem -j kann man seinen Prozessoren anpassen dan gehts schneller dafür gibts keine eindeutigen Fehlermeldungen. Im Ergebnis hat man jetzt für die Fritzbox4040 ein Sysupgrade Image das man per Webinterface im openwrt der Box einspielen kann.

Da der GlInet B1300 so ziemlich die gleiche Technik wie die FritzBox enthält (nur weniger LAN Ports) ist es egal Welchen Routern man nimmt.
  1. Es gibt momentan kein factory-image (Stand:30.04.19). Möglicher Weg: Hier dortiges Image nehmen und Freifunk später per sysupgrade -n flashen.
  2. AP und 802.11s
  3. Es gibt momentan kein factory-image (Stand:30.04.19). Möglicher Weg: Hier dortiges Kernel und File Image nehmen. Spätere Versionen können normal per sysupgrade über das Webinterface eingespielt werden.
  4. Es gibt momentan kein factory-image (Stand:30.04.19). Möglicher Weg: Hier dortiges Kernel und File Image nehmen. Spätere Versionen können normal per sysupgrade über das Webinterface eingespielt werden.
  5. Es gibt momentan kein factory-image (Stand:30.04.19). Einziger Weg: Ein openwrt im RAM booten und dann ein sysupgrade -n . Für Denjenigen der es kann ist es einfach... Alle Anderen schauen Mittwoch's in der C-Base vorbei.