Software-Betatest: Unterschied zwischen den Versionen

Aus Weimarnetz Wiki
Zur Navigation springen Zur Suche springen
 
(90 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
{{Vorlage:Überarbeiten|[[Software-Betatest{{!}}Seite zur Firmwareentwicklung]]|Dieser Artikel}}
 +
 
===Was===
 
===Was===
Die neue Firmware, die auch (aber nicht nur!) im Weimarnetz funktioniert kann nun getestet werden. Ziel ist es, eine Firmware zu bauen, die allen Freifunkcommunitys eine einfache Konfiguration Ihrer Netzknoten ermoeglicht und so mehr Zeit zum eigentlichen Netzbauen laesst.
+
Im Oktober 2011 haben wir erste Tests mit einer ganz neuen Firmwaregeneration auf Basis eines aktuellen OpenWRT (ATTITUDE ADJUSTMENT) mit Kernel 3.0.3 (bei brc47xx Geräten) durchgeführt.
 
 
===Fehlerliste===
 
* [[Firmware_Fehlerbericht]]
 
 
 
===Umstellung fabrikneuer Router===
 
 
 
* siehe [[Weimarnetz-Standard-Router]]
 
 
 
===Umstellung fuer OLSR-Laptops===
 
* alle bisherigen Benutzer eines OLSR-Laptops haben [[Netzumstellung_am_1._September|eine Mail]] bekommen
 
* die wichtigsten Hinweise fuer den Betrieb findet ihr auf jedem Router, [http://weimar.doesntexist.org:8081/cgi-bin-tool_fff+?OPT=notebookconf&GUI=1 z.b. auch diesem hier]
 
* bitte nur [http://www.olsr.org aktuelle OLSR-Versionen] nehmen
 
 
 
===Wissenwertes===
 
 
 
* Wenn bestimmten MAC-Adressen keine Antwort vom DHCP-Server bekommen sollen, werden diese so eingetragen (mehrere Eintraege durch Leerzeichen trennen):
 
nvram set fff_dhcp_ignore="00:11:22:33:44:55" commit
 
 
 
* Portforwarding kann komfortabel folgendermassen eingestellt werden (mehrere Eintraege durch Leerzeichen trennen):
 
nvram set fff_portfw="webcam:on:wan:tcp:8080>10.63.168.97:80"
 
 
 
===Download===
 
* Aktuelle Firmware-Versionen immer hier:
 
** [http://www.weimarnetz.de/freifunk/firmware/current.trx.bin Stabile Version] (lange getestete Beta-Version)
 
** [http://www.weimarnetz.de/freifunk/firmware/current-beta.trx.bin Beta-Version] (freigegebene Entwickler-Versionen)
 
** [http://www.weimarnetz.de/freifunk/firmware/current-testing.trx.bin Testing-Version] (fuer Entwickler)
 
* [https://www.weimarnetz.de/websvn/log.php?repname=FreifunkFirmwareWeimar&path=%2F&rev=0&isdir=1 Versionsgeschichte ("changelog")] und [https://www.weimarnetz.de/websvn/listing.php?repname=FreifunkFirmwareWeimar&path=%2F& Quellcode der Weimarnetz-Firmware] anschauen
 
* [http://download.berlin.freifunk.net/ipkg/ChangeLog Versionsgeschichte ("changelog")] und [http://ff-firmware.cvs.sourceforge.net/ff-firmware/ff-devel/?sortby=date#dirlist Quellcode der zugrundeliegenden Freifunk-Firmware] anschauen
 
 
 
===Vorschau===
 
[[Bild:Weimarnetz-firmware-hauptbildschirm.png|Startbild|200px]]
 
[[Bild:Weimarnetz-firmware-netzkarte.png|Netzkarte|200px]]
 
[[Bild:Weimarnetz-firmware-olsrwiz.png|Live-Netz-Topologie|200px]]
 
[[Bild:Weimarnetz-firmware-statistik-olsr.png|Statistik-Modul|200px]]
 
[[Bild:Weimarnetz-firmware-accouting.png|Datenverkehr|200px]]
 
[[Bild:Weimarnetz-firmware-infoseite.png|Infoseite,SplashPage|200px]]
 
[[Bild:Weimarnetz-firmware-status.png|Status-Seite|200px]]
 
[[Bild:Weimarnetz-firmware-schnelleinstellung.png|Schnelleinstellung|200px]]
 
[[Bild:Weimarnetz-firmware-benutzerverwaltung.png|Benutzerverwaltung|200px]]
 
[[Bild:Weimarnetz-firmware-admin_drahtlos.png|WLAN-Einstellungen|200px]]
 
[[Bild:Weimarnetz-firmware-werkzeug.png|Werkzeug|200px]]
 
[[Bild:Weimarnetz-firmware-werkzeug-hilfsmittel.png|Werkzeug-Hilfsmittel|200px]]
 
[[Bild:Weimarnetz-firmware-werkzeug firmware-check.png|Firmware-Check|200px]]
 
[[Bild:Weimarnetz-firmware-werkzeug laptop-konfigurator.png|OLSR-Rechner|200px]]
 
[[Bild:Weimarnetz-firmware-software-weiterkopieren.png|TFTP-Spende|200px]]
 
[[Bild:Weimarnetz-firmware-kommandozeile.png|Login Kommandozeile|200px]]
 
[[Bild:Weimarnetz-firmware-beispiel quellcode.png|Beispiel-Quellcode|200px]]
 
 
 
===Hinzugekommene Funktionen===
 
 
 
*siehe [[Firmware-Funktionen]]
 
 
 
 
 
===Noch offen / nicht programmiert===
 
 
 
====Bis zum naechsten stabilen Release (vorraussichtlich Ende Maerz 2009)====
 
 
 
* Kabel/Funk wird bei accounting nicht richtig erkannt - evtl. auch bei mesh-rdf - siehe: fkt_get_media_from_mac()
 
* manche Router senden keine Beacons aus? Knoten 18 ist beim OLSR-Nachbarn im Horst-Scan mit seiner
 
WLAN-Mac "00:12:17:dd:d6:4c" manchmal nicht zu sehen
 
* Auf [[WLAN-Optimierung|WLAN-Modus]] einigen, momentan wird benutzt:
 
** wl0_gmode=2
 
** wl0_plcphdr=long
 
** wl0_gmode_protection=0
 
** wl0_distance=5000
 
* aktualisierung der layer7-filter,debug: opera mit link http://www.mininova.org/get/2170227
 
* Alle Infoseiten-Texte diskutieren und bearbeiten
 
* Portforwarding: GUI bauen
 
* Bestimmte MACs bei DHCP-Anfragen ignorieren: GUI bauen
 
* reboots waehrend des Software nachinstallierens komplett vermeiden (ide+usb-kernelmodule nach dem installieren 'insmod'en)
 
* alle iptables befehle durch func_ipt schleifen und ordentliche fehlerbehandlung machen
 
* WLAN-Scanfingerabdruck erzeugen (typische Netze, die empfangen werden)
 
* Automatische Registrierung: Geokoordinaten+Stadtcode+WLAN-Scanfingerabdruck in query senden?
 
* Sendeleistung bei jedem Reboot wieder auf Standard setzen?
 
* nach dem Softwareinstallieren und "killall syslogd" /tmp/BOOT fuer besseres logging setzen
 
* neues Repository ueber netzinterne IP zur Verfuegung stellen 10.63.1.1
 
* func_sanitize_browsers_query_string fixen
 
* Statusmeldung: alle Trafficangaben immer vom Zeitfenster der Statuserzeugung (momentan 15 Minuten)
 
* Statusmeldung: Traffic incoming/outgoing OLSR: wifi,tunnel
 
* neigh: anzeige von Gesamt-COST + HOPS zum Internet-Gateway
 
* Automatisches bauen der Firmware inkl. aller Pakete + Kernelmodule auf dem Rootserver
 
* Automatischer Antennentest im AP/Client-Modus -> kurzes Wechseln in Mesh-Modus:
 
* Automatischer Sendeleistungstest: nicht routeruptime, sondern OLSR-uptime zur Entscheidung nutzen, ob schon Nachbarn da sein muessten oder nicht (sonst wird die Sendeleistung evtl. sinnlos aufgedreht beim ersten Boot mit einstellen der nvram-variablen)
 
** func_profile_memorise_important_vars() wifiphy_but_ignore_antenna
 
** func_wifi_join_nearest_mesh()
 
** /usr/sbin/cron.select_best_antenna_fff+ force
 
** func_profile_memorise_important_vars() restore
 
** func_wifi_phy_restart()
 
* Kommentar in /etc/ethers, warum und von wem diese Datei immer wieder neugeschrieben wird
 
* Accounting: Layer7-Informationen mit prozentualer Trafficverteilung soll sichtbar sein
 
* Accounting: Traffic-Meldungen der Nachbarn mit einbeziehen
 
* VPN: Umstellung auf OpenVPN_nossl_nolzo
 
* pppoe-passwort in "taskliste/werkkzeug" verstecken
 
* registrierte MACs ueber das Diensteplugin einmal in der Nacht verteilen und ueber das Werkkzeug sichtbar machen
 
* pppoe-firmware anbieten (pppoecd schon integriert, um henne/ei problem zu vermeiden)
 
* Infoseite: anschaulich erklaeren wieviel traffic man noch frei hat
 
* Benutzerverwaltung:
 
** Knopf "alle eingetragenden benutzer loeschen" einbauen
 
** Status als Dropdown-Menue
 
** änderungen an den benutzern sofort sichtbar in der gui
 
** Benutzer fest eintragen: direkt aktivieren
 
* Bandbreitentest wieder aktivieren
 
* OLSR-Nachbarn wieder dauerhaft in ARP-Tabelle schreiben oder jede Minute refreshen?
 
* Benutzer wieder dauerhaft in ARP-Tabelle schreiben
 
* WLAN-Scan alle paar Stunden + Statistik + Aggregation (horst?)
 
* Knopf bei Profilauswahl: "kein Internet einspeisen" (also *_gateway loeschen)
 
* VPN-Server route nur in lokale Forwarding-Tabelle
 
* regelmaessig zufaelligen Knoten nach aktueller Zeit fragen + synchen + Diff feststellen
 
* bei lokalem Internetausfall proxy des naechsten Hops fuer 'ipkg' benutzen
 
* LQ-Faktor eines Nachbarn herausbekommen
 
* Entfernungsberechung zu den Funknachbarn ueber GPS-Koords -> func_latlon_calc_distance()
 
* Wie herausbekommen, ob man selbst vom OLSR-Nachbarn ignoriert wird?
 
* Testmessung Nachts mrate + txpower?
 
* exaktere Repository-Struktur (z.b. fuer jedes Release?)
 
* Automatisches Update der AdBlock/Werbefilter-Liste : verbessern (ipkg update!)
 
* Werbefilter ein/ausschaltbar
 
* Automatisches speichern der Kontaktseite aller naechsten (~1/2/3-Hop) Nachbarn COST<10.000 ->Abruf ueber Werkzeug
 
 
 
====Funktionen, die spaeter integriert werden sollen====
 
 
 
* Antennentest nicht machen, wenn Clients verbunden sind?
 
* leer Telefonnummer? leere Email? Vereins-Kontaktdaten reinsetzen?
 
* Update Loginbanner/SSH wenn sich updatemodus/sendeleistung/... geaendert haben?
 
* Sperren des Zugangs zu einem internen Netzwerk (-s 10.0.0.0/ -d INETOFFERNET/MASK -j DROP)
 
* Runternehmen der Sendeleistung wenn moeglich (Algo?)
 
* Gatewayauswahl pro Benutzer per ip-tunnel / infoseite
 
* eigene skripte retten ueber nvram
 
* Kanalwechsel auf 1 fuer MESH1 und 13 fuer MESH2 und 6 fuer AP-Modus/Laptopzugangsnetz
 
** wie gleichzeitig auf allen Routern aendern?
 
* DNS Optimierung (?):
 
** Anfragen des Routers auf naechstes Gateway senden.
 
** Anfragen des Routers bei Internet-Einspeisung auf lokalen Gateway senden
 
* bei Kabelkopplungen soll nur ein Lan-DHCP-Server laufen(?)
 
** niedrigste Knotennummer oder Interneteinspeiser
 
* p3p
 
* mac2vendor , mac2hersteller : <pre>wget -qO - http://standards.ieee.org/regauth/oui/oui.txt | awk '{if($2=="(base")print $1,$4,$5}'</pre>
 
* waehrend whitelist gebaut wird, geht masq/nat nicht - fixen
 
* nutzungsbedingungen anzeigen lassen/wiki
 
* rrd-datenbank auf evtl. angeschlossenen USB-Stick umleiten
 
* wenn HNA ausfaellt dann meldung an alle Nachbarn, die es betrifft?
 
* Visualisierung OLSR + Batman einbauen
 
* im Accounting auch Traffic von Durchleitungen sichtbar machen
 
* pruefen:
 
** http://european.ch.orsn.net/
 
** https://www.opendns.com/start
 
* cgi-bin-messages (nachrichten verschicken)
 
* cgi-bin-neighbours (entfernung,hostnamen,verbale verbindungsqualitaet)
 
* Auto-Kameraerkennung
 
* QoS / Quality of Service / Bandbreitenmanagment zielsensitiv
 
* Batman-adv?
 
* Refactoring cron.minutely / vpn-hooks
 
 
 
====auf die lange Bank geschoben====
 
  
* Umstellung auf Kernel_2.6 + quelloffenen Broadcom-Treiber (Basis: ffLuci?)
+
Außerdem soll das Konzept zur Bereitstellung angepasst werden: Für jeden Router (Knoten) wird es ein individuelles Firmwareimage geben, das bereits alle Software und Einstellungen für diesen Router enthält. So wird ermöglicht, dass ein Router auch ohne Zugriff auf das Internet direkt nach der Firmwareinstallation betriebsbereit ist und keine weitere Software nachinstalliert werden muss.
* VDSL-Support?
 
** http://man-wiki.net/index.php/T-Home_IPTV_over_wireless_bridge
 
** http://claus.freakempire.de/2007/04/15/t-home-iptv-ohne-speedport-unter-linux-vdsl/
 
  
===Wie===
+
===Features===
 +
* lauffähige Firmware für WRT54G*, TP-Link 1043ND, Asus WL500g und Buffalo WHR-HP-G54
 +
* Webinterface mit Node-Karte
 +
* Registratoranbindung(evtl. Wikiseite zum selbst Eintragen?) und automatische IP-Adresseinstellungen
 +
* VPN für Interneteinspeiser
 +
* l7-filter als Eselbremse?
 +
* Monitoring
 +
* automatische 0.0.0.0 HNA's(rein und raus)
 +
* Kabelkopplung(zwei x DHCP?)
 +
* flashbar über WLAN
  
Basierend auf der normalen FFF/testing vom sven-ola aus berlin, kommen nach und nach eigene Dateien hinzu.
+
===Zu erledigen bis zum Release===
Beachtet evtl. auch die [[Firmwareentwicklung-Testszenarien_und_Fehlersuche|allgemeine Anleitung zum testen]].
+
* eine Defaultroute über den wanport muss beim Abziehen des Kabels gelöscht werden - ✔
Spielt ueberall mal rum, insbesondere an den Sachen, die im SVN/Changelog erwähnt sind. Syslog beachten!
+
* Monitoring: Begrenzung der abgelegten Daten auf den Router auf die letzten 3 Stunden - ✔
 +
* Einigung auf Standardwerte:
 +
** Automatische Updates sind aus ✔
 +
** am WAN-Port versucht das Gerät eine Adresse per DHCP zu bekommen - ✔
 +
** VPN-Einstellungen vorbereiten und aktivieren, falls direkt Internet anliegt - ✔
 +
*** evtl. Nutzung der route beschleunigen(dauert zur zeit 1/2h) -
 +
** Software Nachinstallation aus ✔
 +
** Benutzerverwaltung aus
 +
** iptables l7 filter Zeugs raus
 +
** Eselbremse aktivieren
 +
** werbefilter wech
 +
** beacon rate auf 100 - ✔
 +
** netperf sagt: 5Mbit bei adhoc und 25Mbit bei managed, normal?
 +
* Integration Webinterface - ✔
 +
** diese Pakete müssen nachinstalliert werden:
 +
*** Karte ==> GPS-Koordinaten müssen nach /tmp/run/latlon.txt geschrieben werden
 +
*** luci-i18n-german - ✔ (auf TP-Link, Ubiqity Bullet M2)
 +
** nameservice-plugin (olsr) konfigurieren, u.a. für Darstellung der Routers in der Karte
 +
** /etc/httpd.conf entfernen, sonst muss man sich zur Ansicht der Statusseite anmelden  -
 +
* /etc/config/profile_weimar angelegt, sollten wir an die luci-entwickler weiterreichen:
 +
<code>
 +
config 'community' 'profile'
 +
        option 'name' 'Weimarnetz e.V.'
 +
        option 'homepage' 'http://www.weimarnetz.de' 
 +
        option 'ssid' 'weimarnetz'         
 +
        option 'mesh_network' '10.63.0.0/16'
 +
        option 'latitude' '50.989530'         
 +
        option 'longitude' '11.338675'
 +
                                   
 +
config 'defaults' 'interface'       
 +
        option 'dns' '217.11.48.200 217.11.49.200 8.8.8.8'
 +
</code>
 +
* Klärung, wie vorhandene Router mit vorhandener Knotennummer auf die neue Firmware umgestellt werden
 +
* Ablage der Firmwareimages auf dem Weimarnetzserver
  
===Mitmachen===
+
===Bekannte Probleme===
 +
* UPD-Test mit Netperf bring Linksys zum Absturz - bislang keine Lösung gefunden
 +
** kann man auch mit icmp hervorrufen
 +
* Bei b43-Geräten (Linksys wrt54gl, Buffalo whr-hp-g54, usw.) stürzt der WLAN-Treiber bei hohem Traffic und gleichzeitiger CPU-Last ab. Ticket bei OpenWRT ist eröffnet: https://dev.openwrt.org/ticket/7552
  
* aktuelle Firmware auf einen Router flashen und eigene Aenderungen machen
+
===Dokumentation der API===
* danach automatisch alles hochladen lassen mit:
+
* [[Firmware-Dokumentation_API]]
<pre>
 
/usr/sbin/fwupload_fff+
 
</pre>
 
* fertig! neue firmware wird automatisch auf dem SVN-Server neu gebaut
 
  
 
[[Kategorie:Firmware]]
 
[[Kategorie:Firmware]]

Aktuelle Version vom 25. Mai 2012, 13:55 Uhr

Dieser Artikel bedarf einer Überarbeitung. Näheres ist auf der Seite zur Firmwareentwicklung angegeben. Hilf bitte mit, ihn zu verbessern, und entferne anschließend diese Markierung.

Was

Im Oktober 2011 haben wir erste Tests mit einer ganz neuen Firmwaregeneration auf Basis eines aktuellen OpenWRT (ATTITUDE ADJUSTMENT) mit Kernel 3.0.3 (bei brc47xx Geräten) durchgeführt.

Außerdem soll das Konzept zur Bereitstellung angepasst werden: Für jeden Router (Knoten) wird es ein individuelles Firmwareimage geben, das bereits alle Software und Einstellungen für diesen Router enthält. So wird ermöglicht, dass ein Router auch ohne Zugriff auf das Internet direkt nach der Firmwareinstallation betriebsbereit ist und keine weitere Software nachinstalliert werden muss.

Features

  • lauffähige Firmware für WRT54G*, TP-Link 1043ND, Asus WL500g und Buffalo WHR-HP-G54
  • Webinterface mit Node-Karte
  • Registratoranbindung(evtl. Wikiseite zum selbst Eintragen?) und automatische IP-Adresseinstellungen
  • VPN für Interneteinspeiser
  • l7-filter als Eselbremse?
  • Monitoring
  • automatische 0.0.0.0 HNA's(rein und raus)
  • Kabelkopplung(zwei x DHCP?)
  • flashbar über WLAN

Zu erledigen bis zum Release

  • eine Defaultroute über den wanport muss beim Abziehen des Kabels gelöscht werden - ✔
  • Monitoring: Begrenzung der abgelegten Daten auf den Router auf die letzten 3 Stunden - ✔
  • Einigung auf Standardwerte:
    • Automatische Updates sind aus ✔
    • am WAN-Port versucht das Gerät eine Adresse per DHCP zu bekommen - ✔
    • VPN-Einstellungen vorbereiten und aktivieren, falls direkt Internet anliegt - ✔
      • evtl. Nutzung der route beschleunigen(dauert zur zeit 1/2h) - ✔
    • Software Nachinstallation aus ✔
    • Benutzerverwaltung aus ✔
    • iptables l7 filter Zeugs raus
    • Eselbremse aktivieren
    • werbefilter wech
    • beacon rate auf 100 - ✔
    • netperf sagt: 5Mbit bei adhoc und 25Mbit bei managed, normal?
  • Integration Webinterface - ✔
    • diese Pakete müssen nachinstalliert werden:
      • Karte ==> GPS-Koordinaten müssen nach /tmp/run/latlon.txt geschrieben werden
      • luci-i18n-german - ✔ (auf TP-Link, Ubiqity Bullet M2)
    • nameservice-plugin (olsr) konfigurieren, u.a. für Darstellung der Routers in der Karte
    • /etc/httpd.conf entfernen, sonst muss man sich zur Ansicht der Statusseite anmelden - ✔
  • /etc/config/profile_weimar angelegt, sollten wir an die luci-entwickler weiterreichen:

config 'community' 'profile'
       option 'name' 'Weimarnetz e.V.'
       option 'homepage' 'http://www.weimarnetz.de'   
       option 'ssid' 'weimarnetz'          
       option 'mesh_network' '10.63.0.0/16' 
       option 'latitude' '50.989530'          
       option 'longitude' '11.338675'
                                    
config 'defaults' 'interface'        
       option 'dns' '217.11.48.200 217.11.49.200 8.8.8.8'

  • Klärung, wie vorhandene Router mit vorhandener Knotennummer auf die neue Firmware umgestellt werden
  • Ablage der Firmwareimages auf dem Weimarnetzserver

Bekannte Probleme

  • UPD-Test mit Netperf bring Linksys zum Absturz - bislang keine Lösung gefunden
    • kann man auch mit icmp hervorrufen
  • Bei b43-Geräten (Linksys wrt54gl, Buffalo whr-hp-g54, usw.) stürzt der WLAN-Treiber bei hohem Traffic und gleichzeitiger CPU-Last ab. Ticket bei OpenWRT ist eröffnet: https://dev.openwrt.org/ticket/7552

Dokumentation der API