diff --git a/ReadMe.md b/ReadMe.md
new file mode 100644
index 0000000000000000000000000000000000000000..8e193c52a69e8a62145095622334e128d0007248
--- /dev/null
+++ b/ReadMe.md
@@ -0,0 +1,5 @@
+ffho-packages
+=============
+
+Welcome to `ffho-packages`, the package repository of Freifunk Hochstift.
+The original repository can be found at https://git.c3pb.de/freifunk-pb/ffho-packages.git.
diff --git a/ffho/ffho-aptimer/ReadMe.md b/ffho/ffho-aptimer/ReadMe.md
index f08e1fe6d916fe156b40484d901fb468f1145bcd..aaf4741c34c13142029cc8752d725e4599483095 100644
--- a/ffho/ffho-aptimer/ReadMe.md
+++ b/ffho/ffho-aptimer/ReadMe.md
@@ -1,25 +1,33 @@
 ffho-aptimer
 ============
 
-Timer for the client wifi
+Timer for the client wifi with three modes (daily, weekly, monthly)
 
 /etc/config/aptimer
 -------------------
-```
-config aptimer 'settings'
-        option enabled '1'
-        option type '$type'
 
-config $type '$day'
-        list on '06:00'
-        list off '23:00'
-```
+**aptimer.settings.enabled:**
+- `0` disables the aptimer (default)
+- `1` enables the aptimer
+
+**aptimer.settings.type:**
+- `day`, $day = all
+- `week`, $day = [Mon|Tue|Wed|Thu|Fri|Sat|Sun]
+- `month`, $day = [01-31]
 
-**$type=day**
-- $day=all
+**aptimer.$day.on:**
+- List of time to enable wireless
 
-**$type=week**
-- $day=[Mon|Tue|Wed|Thu|Fri|Sat|Sun]
+**aptimer.$day.off:**
+- List of time to disable wireless
 
-**$type=month**
-- $day=[01-31]
+### example
+```
+config aptimer 'settings'
+	option enabled '1'
+	option type 'week'
+
+config week 'Sun'
+	list on '06:00'
+	list off '23:00'
+```
diff --git a/ffho/ffho-autoupdater-wifi-fallback-legacy/ReadMe.md b/ffho/ffho-autoupdater-wifi-fallback-legacy/ReadMe.md
index 5bce84b117d9df7a8d24a401af671a8ca3c00787..4808a90fa8dda75e939447553e01cb433f279a59 100644
--- a/ffho/ffho-autoupdater-wifi-fallback-legacy/ReadMe.md
+++ b/ffho/ffho-autoupdater-wifi-fallback-legacy/ReadMe.md
@@ -1,4 +1,5 @@
 ffho-autoupdater-wifi-fallback-legacy
 =====================================
 
-Only needed to upgrade the configuration from an old version to the current on.
+Only needed to upgrade the configuration from an old version of
+`ffho-autoupdater-wifi-fallback` to the current on.
diff --git a/ffho/ffho-autoupdater-wifi-fallback/ReadMe.md b/ffho/ffho-autoupdater-wifi-fallback/ReadMe.md
index 698909489a680923668e86a9cd292d927932aaff..cbca40e8bd7929e38fc18d28e36883f47d7a421d 100644
--- a/ffho/ffho-autoupdater-wifi-fallback/ReadMe.md
+++ b/ffho/ffho-autoupdater-wifi-fallback/ReadMe.md
@@ -2,7 +2,23 @@ ffho-autoupdater-wifi-fallback
 ==============================
 
 If a node has no connection to the mesh, neither via wlan-mesh nor via
-mesh-vpn, it ist not possible to update this node via ``autoupdater``. There for
-the *wifi-fallback* was developed, to check whether the node is part of a fully
-working mesh or not. Else the node connects to a visible "Freifunknetz" and
-tries downloads an update as wlan-client via executing ``autoupdater -f``.
+mesh-vpn, it ist not possible to update this node via `autoupdater`. Therefor
+the *wifi-fallback* was developed. It checks hourly whether the node is part of
+a fully operative mesh or not. Else the node connects to a visible "Freifunknetz"
+and tries downloads an update as wlan-client via executing `autoupdater -f`.
+
+Actually this needs `iw connect` patched into `iw`. See our patch within our
+[site repository](https://git.c3pb.de/freifunk-pb/site-ffho).
+
+/etc/config/autoupdater-wifi-fallback
+-------------------------------------
+
+**autoupdater-wifi-fallback.settings.enabled:**
+- `0` disables the fallback mode
+- `1` enables the fallback mode
+
+### example
+```
+config autoupdater-wifi-fallback 'settings'
+	option enabled '1'
+```
diff --git a/ffho/ffho-autoupdater/ReadMe.md b/ffho/ffho-autoupdater/ReadMe.md
index 3e3d94eb6518f7873ecb6251003c240f124bf733..b0adde9aefdc29edb8a87236035c9eac6a17cee3 100644
--- a/ffho/ffho-autoupdater/ReadMe.md
+++ b/ffho/ffho-autoupdater/ReadMe.md
@@ -1,4 +1,50 @@
 ffho-autoupdater
 ================
 
-This is a customized version of ``gluon-autoupdater``.
+This is a customized version of `gluon-autoupdater`.
+
+site.conf
+---------
+
+**autoupdater.branch: optional**
+- Enables the autoupdater by default on the specifyed branch
+
+**autoupdater.branches.$name.name:**
+- Branch name, has to be same as $name
+
+**autoupdater.branches.$name.mirrors:**
+There are various patterns which can be used in the URLs
+- `%n` is replaced by the OpenWrt version codename
+- `%v` is replaced by the OpenWrt version number
+- `%S` is replaced by the target architecture
+- `%GS` is replaced by the Gluon site code
+- `%GV` is replaced by the Gluon version
+- `%GR` is replaced by the Gluon release
+
+**autoupdater.branches.$name.good_signatures:**
+- Number of signatures needed to validate an update
+
+**autoupdater.branches.$name.pubkeys:**
+- Public keys for signature validation
+
+### example
+```lua
+{
+  autoupdater = {
+    branch = 'stable',
+    branches = {
+      stable = {
+        name = 'stable',
+        mirrors = { 'http://firmware.ffho.net/%GS/stable' },
+        good_signatures = 2,
+        pubkeys = {
+          'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', -- Alice
+          'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', -- Bob
+        },
+      },
+      ...
+    },
+  },
+  ...
+},
+```
diff --git a/ffho/ffho-config-mode-geo-location/ReadMe.md b/ffho/ffho-config-mode-geo-location/ReadMe.md
index 1b40385f847263d1103f10b4106b07db42fc25ac..e2aee4b93afe8fa174aa6823b78f70ee1b850f97 100644
--- a/ffho/ffho-config-mode-geo-location/ReadMe.md
+++ b/ffho/ffho-config-mode-geo-location/ReadMe.md
@@ -8,7 +8,18 @@ corresponding field can be disabled.
 site.conf
 ---------
 
-**config_mode.geo_location.show_altitude : optional**
-- ``true`` enables the altitude field
-- ``false`` disables the altitude field if altitude has not yet been set
-- defaults to ``true``
+**config_mode.geo_location.show_altitude: optional**
+- `true` enables the altitude field (default)
+- `false` disables the altitude field if altitude has not yet been set
+
+### example
+```lua
+{
+  config_mode = {
+    geo_location = {
+      show_altitude = false,
+    },
+  },
+  ...
+},
+```
diff --git a/ffho/ffho-config-mode-mesh-vpn/ReadMe.md b/ffho/ffho-config-mode-mesh-vpn/ReadMe.md
index b13f1496a44d96cd51210ee5ab3d06433c417ef7..c9eef81b39f18a5c8ef2681ed07cc6994c504dce 100644
--- a/ffho/ffho-config-mode-mesh-vpn/ReadMe.md
+++ b/ffho/ffho-config-mode-mesh-vpn/ReadMe.md
@@ -1,5 +1,26 @@
 ffho-config-mode-mesh-vpn
 =========================
 
-Costomization of ``gluon-config-mode-mesh-vpn`` to use the contactinformation
+Costomization of `gluon-config-mode-mesh-vpn` to use the contactinformation
 within the reboot page.
+
+site/i18n/*.po
+--------------
+
+Within `msgid "gluon-config-mode:pubkey"` you can use:
+- `<%=contact%>`
+- `<%=hostname%>`
+- `<%=pubkey%>`
+- `<%=sysconfig.*%>`
+
+### example
+```
+msgid "gluon-config-mode:pubkey"
+msgstr ""
+"<div class=\"the-key\">"
+"<%=hostname%><br/><br/>"
+"# Owner: <%=contact%><br/>"
+"# MAC: <%=sysconfig.primary_mac%><br/>"
+"key \"<%= pubkey %>\";"
+"</div>"
+```
diff --git a/ffho/ffho-config-mode-site-select/README.md b/ffho/ffho-config-mode-site-select/README.md
index 74d01ae216b734b54faf12e0d192ef9bfe502595..7e9385f05da9db36fd12f18eb0b40a37bcb5e69a 100644
--- a/ffho/ffho-config-mode-site-select/README.md
+++ b/ffho/ffho-config-mode-site-select/README.md
@@ -1,19 +1,26 @@
 ffho-config-mode-site-select
-======================
+============================
 
-This Repository contains a Gluon package to choose between different sites after flashing the image. <br>
-This does not apply to the site.mk!
+This Package provides a drop-down list for the config mode, to select the site/region
+the node will be placed in. If the selection has changed the upgrade scripts in
+`/lib/gluon/upgrade/` are triggered.
 
-This is a modified Version of gluon-config-mode-site-select
+site/extra/sites.conf
+---------------------
 
-Usage
------
-Create a file called sites.conf in $gluondir/site/extra/.
-This file should include a lua-table with the following informations about the different sites
-* site_name
-* site_code
-* ssid
+**site_select.hidden: optional**
+- `0`, show this site in drop-down list (default)
+- `1`, hide this site within config mode
 
-<br>
-Das ganze sieht dann so aus: <br>
-![](http://labor19.net/Hendrik/preview1.png)
+### example
+```lua
+{
+  {
+    site_select: = {
+      hidden = 1,
+    },
+    ...
+  },
+  ...
+},
+```
diff --git a/ffho/ffho-debug/ReadMe.md b/ffho/ffho-debug/ReadMe.md
index 9fe3dc0313236f9f2e3852c82c7e0224239720bd..266969cfb547d53f79f3cd0c705bbb7a17d58f75 100644
--- a/ffho/ffho-debug/ReadMe.md
+++ b/ffho/ffho-debug/ReadMe.md
@@ -1,16 +1,28 @@
 ffho-debug
 ==========
 
-Debug scripts for Freifunk Hochstift.
+Debug scripts for gluon nodes.
 
 site.conf
 ---------
 
-**debugserver.host**
+**debugserver.host:**
 - list of possible debugserver
 
-**debugserver.port**
+**debugserver.port:**
 - destination port for debug reports
 
-**debugserver.liveport**
-- destination port for ``ffho-debug-live``
+**debugserver.liveport: optional**
+- destination port for `ffho-debug-live`
+
+### example
+```lua
+{
+  debugserver = {
+    host = { 'debugreport.ffho.net' },
+    port = 1337,
+    liveport = 1338,
+  },
+  ...
+},
+```
diff --git a/ffho/ffho-ebtables-net-rules/ReadMe.md b/ffho/ffho-ebtables-net-rules/ReadMe.md
index 0cf6a884b6fc77ec629ccd63af28b0030a4173bd..4912424f9551198b5679a55780e0c7476bfeb396 100644
--- a/ffho/ffho-ebtables-net-rules/ReadMe.md
+++ b/ffho/ffho-ebtables-net-rules/ReadMe.md
@@ -1,15 +1,26 @@
 ffho-ebtables-net-rules
 =======================
 
+Additional ebtables rules for Freifunk-Nodes
+
 site.conf
 ---------
 
-**prefix4**
+**prefix4:**
 - IPv4 prefix
 
-**prefix6**
+**prefix6:**
 - IPv6 prefix
 
-**additional_prefix6 : optional**
-- list of additional IPv6 prefixes
+**additional_prefix6: optional**
+- list of additional IPv6 prefix
 
+### example
+```lua
+{
+  prefix4 = '10.132.0.0./18',
+  prefix6 = 'fdca:ffee:ff12:132::/64',
+  additional_prefix6 = { '2a03:2260:2342:2300::/64' },
+  ...
+},
+```
diff --git a/ffho/ffho-geo-location-altitude-delete/ReadMe.md b/ffho/ffho-geo-location-altitude-delete/ReadMe.md
index 61169554cd2fae7df34287f622bc1d5f61a35916..ebadc4fa98fed76afa8a8eee349c540045bf8272 100644
--- a/ffho/ffho-geo-location-altitude-delete/ReadMe.md
+++ b/ffho/ffho-geo-location-altitude-delete/ReadMe.md
@@ -2,4 +2,4 @@ ffho-geo-location-altitude-delete
 =================================
 
 As the usage of the altitude is not well defined this package provides an
-upgrade script to delete the altitude value.
+upgrade script to delete the altitude value if already set.
diff --git a/ffho/ffho-luci-autoupdater-wifi-fallback/ReadMe.md b/ffho/ffho-luci-autoupdater-wifi-fallback/ReadMe.md
index dee4e935ef214480811f5f7664f42af6972a15f1..6ffdb4378c12e40697d38f17236b2653644c3b8a 100644
--- a/ffho/ffho-luci-autoupdater-wifi-fallback/ReadMe.md
+++ b/ffho/ffho-luci-autoupdater-wifi-fallback/ReadMe.md
@@ -1,5 +1,6 @@
 ffho-luci-autoupdater-wifi-fallback
 ===================================
 
-Luci module for ``gluon-autoupdater`` and ``ffho-autoupdater-wifi-fallback``,
-based on ``gluon-luci-autoupdater``.
+Luci module for `gluon-autoupdater` and `ffho-autoupdater-wifi-fallback`,
+based on `gluon-luci-autoupdater`. In addition to `gluon-luci-autoupdater`
+you can also enable or disable wifi-fallback-mode.
diff --git a/ffho/ffho-node-tuning/ReadMe.md b/ffho/ffho-node-tuning/ReadMe.md
index 6cee0e30d2fa1b807b697db4c42527ec6f7fecfd..f4bb79d9711d3d4f185c556ed320597abf46163e 100644
--- a/ffho/ffho-node-tuning/ReadMe.md
+++ b/ffho/ffho-node-tuning/ReadMe.md
@@ -1,3 +1,4 @@
 ffho-node-tuning
 ================
 
+comming soon ...
diff --git a/ffho/ffho-respondd-config/ReadMe.md b/ffho/ffho-respondd-config/ReadMe.md
index b5a11d70e8826cd49450ed685a069618b63b32ae..247ae5240befd779660e1588f4917fb226e2a3a9 100644
--- a/ffho/ffho-respondd-config/ReadMe.md
+++ b/ffho/ffho-respondd-config/ReadMe.md
@@ -1,11 +1,19 @@
 ffho-respondd-config
 ====================
 
-Customization of respondd data. Actually it transmitts the site_name in addition
-to other values.
+Package for customization of respondd data. Actually this adds the `site_name`
+to data transmitted by respondd.
 
 site.conf
 ---------
 
-**site_name**
+**site_name:**
 - The name of your community
+
+### example
+```lua
+{
+  site_name = 'Freifunk Hochstift',
+  ...
+},
+```
diff --git a/ffho/ffho-site-auto-select/ReadMe.md b/ffho/ffho-site-auto-select/ReadMe.md
index a9494dbe068b69e3cbdedb7c5c8575005c3a784d..a83b208355e4b0d3cb048a256721b45e8a20c9f9 100644
--- a/ffho/ffho-site-auto-select/ReadMe.md
+++ b/ffho/ffho-site-auto-select/ReadMe.md
@@ -1,16 +1,67 @@
 ffho-site-auto-select
 =====================
 
-Autoselect correct site-code by geocoordinates during upgrade and by ``gluon-neighbour-info`` hourly.
-One can specify a default site within site.conf, if the coordinates do not match to any site defined within extra/geo.json.
+This Package tries to autoselect the correct site-code of gluon nodes.
+
+If geocoordinates are set it matchs them to the areas provided by geo.json file.
+If there is no match, the *geo-default-site*, specified in site.conf, is selected.
+If no coordinates are set, it tries to discover the site-code via
+`gluon-neighbour-info` hourly.
 
 site.conf
 ---------
 
-site_select.geo_default_site : optional
-    - ``'ffho_uml'``
+**site_select.geo_default_site: optional**
+- default site_code if geolocation is set but does not match to defined areas.
+
+### example
+```lua
+{
+  site_select = {
+    default_site = 'ffho_uml',
+  },
+  ...
+},
+```
+
+site/extra/geo.json
+-------------------
 
-extra/geo.json
---------------
+File with geojson format. The corresponding `site_code` has to be defined within
+`"properties"` section as `"site_code": "ffho_abn"`.
 
-File with geojson format. The corresponding site_code has to be defined within ``properties`` section as ``"site_code": "ffho_abn"``.
+### example
+```json
+{
+  "type": "FeatureCollection",
+  "features": [
+    {
+      "type": "Feature",
+      "geometry": {
+        "type": "Polygon",
+        "coordinates": [
+          [
+            [
+              8.8845,
+              51.69
+            ],
+            [
+              8.8765,
+              51.6925
+            ],
+            [
+              8.8815,
+              51.7105
+            ],
+            ...
+          ]
+        ]
+      },
+      "properties": {
+        "site_code": "ffho_abn"
+      }
+    },
+    ...
+  ]
+}
+```
diff --git a/ffho/ffho-site-generate/ReadMe.md b/ffho/ffho-site-generate/ReadMe.md
new file mode 100644
index 0000000000000000000000000000000000000000..03c4108ddef8aa9a5d62a2b62fc7f7431070216b
--- /dev/null
+++ b/ffho/ffho-site-generate/ReadMe.md
@@ -0,0 +1,106 @@
+ffho-site-generate
+==================
+
+This package generates the needed `site.json` directly on the node after firmware
+upgrad has been performed. This can be used, to support different sites/regions
+within one firmware image. The default `site.json` is partially overridden by the
+variables defined in `site/extra/sites.conf` and `site/extra/groups.conf`.
+
+This does not belong to the `site.mk`.
+
+/etc/config/currentsite
+-----------------------
+
+**currentsite.current.name:**
+- Site, the node belogs to
+
+### example
+```
+config site 'current'
+	option name 'ffho_abn'
+```
+
+site/extra/sites.conf
+---------------------
+
+Array of possible sites, containing site specific configuration different to the
+original site.conf and group specific config. Same configuration as in the site.conf
+can be done here.
+
+**site_select.group: optional**
+- specify a group out of `site/extra/groups.conf` the site belongs to
+
+### example
+```
+{
+  {
+    site_name = 'Freifunk Hochstift - Altenbeken',
+    site_code = 'ffho_abn',
+    wifi24 = {
+      ap = {
+        ssid = 'hochstift.freifunk.net/altenbkn',
+      },
+    },
+    wifi5 = {
+      ap = {
+        ssid = 'hochstift.freifunk.net/altenbkn',
+      },
+    },
+    site_select = {
+      group = 'ffho_ost',
+    },
+  },
+  ...
+}
+```
+
+site/extra/groups.conf
+----------------------
+
+Array of groups, containing group specific configuration different to the original
+site.conf. Same configuration as in the site.conf can be done here.
+
+### example
+```
+{
+  ffho_ost = {
+    prefix4 = '10.132.xxx.0/21',
+    prefix6 = '2a03:2260:2342:2303::/64',
+    wifi24 = {
+      ibss = {
+        ssid = 'ffho-mesh-ost',
+        bssid = '02:ff:03:ff:00:24',
+      },
+    },
+    wifi5 = {
+      ibss = {
+        ssid = 'ffho-mesh-ost',
+        bssid = '02:ff:03:ff:00:05',
+      },
+    },
+    next_node = {
+      ip4 = '10.132.xxx.1',
+      ip6 = '2a03:2260:2342:2303::1',
+      mac = '02:ff:03:ff:00:00',
+    },
+    fastd_mesh_vpn = {
+      groups = {
+        backbone = {
+          peers = {
+            gw01 = {
+              key = 'GW01_KEY',
+              remotes = {
+                '"gw01.ffho.net" port 10003',
+                ...
+              },
+            },
+            ...
+          },
+        },
+      },
+    },
+  },
+  ...
+}
+```
+
diff --git a/ffho/ffho-status-page/ReadMe.md b/ffho/ffho-status-page/ReadMe.md
index fdc11852ab7885e41968f4527cfdde9fa0129fe1..c8549f1e3cc7f1fb04898326239efd12b20cc941 100644
--- a/ffho/ffho-status-page/ReadMe.md
+++ b/ffho/ffho-status-page/ReadMe.md
@@ -1,11 +1,24 @@
 ffho-status-page
 ================
 
-This is a customized version of the *old* ``gluon-status-page``. Link to the map
-can be specified within the ``site.conf``.
+This is a customized version of the *old* `gluon-status-page`.
+
+A link to a (geographical) map can be specified within the `site.conf` and it
+will be shown together with the koordinates. To identify the node, its nodeid
+will be added at the end.
 
 site.conf
 ---------
 
-status_page.location_link : optional
-    - ``'https://map.hochstift.freifunk.net/#!v:m;n:'`` nodeid will be added at the end.
+**status_page.location_link: optional**
+- Link to a (geographical) map
+
+### example
+```lua
+{
+  status_page = {
+    location_link = 'https://map.hochstift.freifunk.net/#!v:m;n:',
+  },
+  ...
+},
+```
diff --git a/ffho/ffho-wifi-mesh-macfilter/ReadMe.md b/ffho/ffho-wifi-mesh-macfilter/ReadMe.md
index 46eb0a573c946974af61d46eedee10e6d966ee71..65b291aab292053f366f6892d3e23ca111624d89 100644
--- a/ffho/ffho-wifi-mesh-macfilter/ReadMe.md
+++ b/ffho/ffho-wifi-mesh-macfilter/ReadMe.md
@@ -1,9 +1,26 @@
 ffho-wifi-mesh-macfilter
 ========================
 
-Setting plink_action [block|open], when 802.11s mesh-interface comes up. Define
-filterpolicy in uci wireless.<wifi-iface>.macfilter=[disable|deny|allow]. Deny
-sets ``iw dev <device> station set <mac> plink_action block`` and allow sets
-``iw dev <device> mesh_param mesh_auto_open_plink=0`` and ``iw dev <device>
-station set <mac> plink_action open``. List MAC addresses (divided by spaces) in
-``wireless.<wifi-iface>.maclist``.
+Setting plink_action [block|open], when 802.11s mesh-interface comes up.
+
+/etc/config/wireless
+--------------------
+
+**wireless.wifi-iface.macfilter: optional**
+- `disable`, disables the macfilter
+- `deny`, blocks the listed MACs by executing
+  `iw dev $device station set $mac plink_action block`
+- `allow`, only allows the listed MACs by executing
+  `iw dev $device mesh_param mesh_auto_open_plink=0` and
+  `iw dev $device$ station set $mac plink_action open`
+
+**wireless.$wifi-iface.maclist: optional**
+List of MAC addresses (devided by spaces)
+
+### example
+```
+config wifi-iface 'mesh_radio0'
+	option macfilter 'deny'
+	option maxlist '01:23:45:67:89:ab 45:67:89:ab:cd:ef'
+	...
+```