Our Trac-Server is now open for registration, including the ticket system for Freetz-ng.

Project:About

From BoxMatrix

BoxMatrix >> Project-Info >> About @ BoxMatrix   -   IRC-Chat   -   Translate: de es fr it nl pl
News Selectors Models Accessories Components Environment Config Commands System Webif Software Develop Lexicon Community Project Gallery

About Export Privacy Disclaimers Copyrights Credits Contribute! TODO

About BoxMatrix[edit]

Introduction[edit]

Boxmatrix is mainly about the FRITZ!Box router platform, its Linux based FRITZ!OS and further products of its Berlin based creator AVM.

Policy[edit]

As stated on the front page Boxmatrix is intended to help developers and users to get deeper information about one of the most developer-friendly router platforms on the market, while doing everything to not harm AVM or anyone who contributed with data (like Supportdata-Probes). Although reviewed carefully, if you find any questionable information which seems to violate this policy then please don't hesitate to report it.

Structure[edit]

All content is grouped in these sections, reachable by the navigation bar at the top of each page:

  • News:
    • The News section collects frequently updated external news links.
  • Hardware:
    • The Box-Models section contains all AVM hardware which is Linux based.
    • The Accessories section collects all further AVM hardware and related 3rd party devices (unfinished).
    • Selectors are sortable tables of the above hardware which can be filtered by numerous properties.
    • The Components section lists all bigger chips the above hardware is made from.
  • FRITZ!OS and Software:
  • Various:
    • The Lexicon will explain all technical terms used in this Wiki (still empty).
    • In Community you find infos about companies, contributors and our IRC channels.
    • The Project-Info section contains background info about BoxMatrix, like this page.
    • The Gallery section allows to broswse all images of this Wiki without context.

Technology[edit]

Since AVM develops hardware and ports of their OS with horrible speed such a project could not be maintained manually any more.
Besides this AVM now sells their products in many countries. Today they run 13 country and target market specific web portals in 6 languages.

For this reason any information which could be gathered automatically is done by daily scripting filling databases.
These databases are then displayed in Wiki articles by just filtering for the respective model.

A simplified list of daily tasks which are performed in the background:

  • A spider keeps a web index of all 13 portals (and some related 3rd party portals) up to date.
  • A FTP indexer keeps the list of downloadable files up to date, also including 3rd party sources.
  • The open Icecat catalog is filtered daily for partnumbers, data sheets and market information of AVM products
  • The EOS-List is parsed daily to have up to date info about the support status of each model
  • etc etc (100+ further tasks).

All entries of these databases are then assigned to models, countries, languages, possible annex, etc by configured filters.
Any unusual findings are then reported to the maintainer to make him adapt the config files.
This reduces the amount of dead links and simplifies the maintenance of external links horribly.

The data gathered above is automatically inserted in the Weblinks, Downloads and Part-Numbers section of each model and accessory article.
The most recent changes to this data are listed in the News section in Download-News and Website-News.

All firmware files are analyzed by a firmware scanner. It extracts and decompresses the content and records info about the rootfs, kernel, busybox etc.
This info is automatically inserted in the Firmware-Scans section of each FRITZ!OS based model article.

A further scanner analyzes rc.S, rc.init and rc.conf of each firmware to crowd the static part of the Environment section.
The firmware scanner also creates listings of the rootfs partition of each firmware.
These are used to crowd the static part of the Configuration, Shell-Commands, System and Webinterface sections.

The busybox source is scanned to extract the list of nearly 500 commands it supports.
With this list the busybox executable of each firmware is scanned for compiled in applets, resulting in the BusyBox-Commands index.
This index automatically receives the documentation from the official busybox manual and the source code.

For the dynamic part a per model collection of Supportdata-Probes is scanned (many models missing, please contribute).
This is used to crowd the non static lists in the Environment, Configuration and System sections.

To be continued in a more detailed guide....

Future plans[edit]

Now that every single file of each firmware has an own article which can programatically be filled with arbitary data
further scanners will be written. These will for example analyze the dependencies of these files to each others.

To be continued....

Main tools[edit]

The main tools to visualize all gathered data in the web:

  • MediaWiki - the software driving Wikipedia
  • Semantic MediaWiki - MediaWiki extension which permits storing machine readable data in Wiki articles
  • ExternalData - MediaWiki extension which allows to include external (mysql) data in Wiki articles

To be continued....