Dataentry template background

The dataentry template contains the template for so called dataentry pages.
Dataentry pages contain the bare technical facts of routers (and other devices) related to OpenWrt/LEDE, and are the datasource for the Table of hardware. When a dataentry page is either read or changed, the data contained in it is fed into a sqlite database.

To get the data out of this database, simply create datatables / datalists / tagclouds on a page.
For examples, see template_device, datalist-csv or Dataclouds.
For more information on how this works, see

Do create a new dataentry page IF

  • you have the information available that is required for a new dataentry
  • the device is not yet listed in the Table of Hardware
  • the device has versions with differing hardware, compared to an already existing device in the toh, e.g. v1 = 32MB RAM vs. v2 = 64MB RAM.

Do not create a new dataentry page IF

  • the version number increased, but none of the hardware listed in the dataentry has changed

On the dataentry pages, which you can find in the Table of Hardware, you can edit the values in two ways:

  1. Preferred: Special “edit” link below the left corner of the dataentry: You will see a form for easy editing the dataentry.
    The form avoids accidentially ruining the dataentry structure and also provides dropdowns for easy filling in some values.
  2. Deprecated: Standard dokuwiki “edit” link on the right or “Edit this page” on the top: You will see the dataentry in wiki language.
    You can accidentially ruin the dataentry structure.

See below for detailed description and allowed values of each field.

====== Techdata: D-Link DIR-509 A1 ======


*                 >>>>>>>> ! <<<<<<<<
* -------- >>>>>>>>  W A R N I N G  <<<<<<<<--------
*                 >>>>>>>> ! <<<<<<<<
*   If you can read this, YOU ARE DOING IT WRONG.
*   To edit this page in the only right way, do this:
*   1) Click "Cancel", then
*   2) Edit this page ONLY via the lower LEFT edit button.
*   In case you disobey to the above: You break it, you pay it.
*   Thank you for respecting the rules of this wiki.
*   --- Your wiki administration

===== Dataentry =====
---- dataentry techdata ----
Device Type_devicetype                         : Travel Router # If 'other' -> request new devicetype @wiki admin
Brand                                          : (EXAMPLE) # ===>  Mandatory  <===
Model                                          : DIR-509 # ===>  Mandatory  <===
Versions                                       : A1 # List versions comma separated: v1, v1.1, v1.5, v2, v2.5
FCCID_url                                      : # link-scheme:
Availability_availability                      : Available 2017 #
OWrt Supported Since Rev_hidden                : #
OWrt Supported Since Rel_hidden                : 14.07 # First official release (i.e. not trunk)
OWrt Supported Current Rel_hidden              : 15.05.1 # Current official release (i.e. not trunk)
OWrt Unsupported_hidden                        :  # e.g. '5GHz wifi'; Describe what is not supported
LEDE Supported Since Commit_git                :;a=commit;h=42914b0b0e47237400a825a54189d707abd86693 #;a=commit;h=<commithash>
LEDE Supported Since Rel_releasesince-lede     :  # First official release (i.e. not trunk)
LEDE Supported Current Rel_releasecurrent-lede : snapshot # Current official release (i.e. not trunk)
LEDE Unsupported                               :  # Describe what is not supported, e.g. '5GHz wifi'
Gluon support_gluonsupport                     : unknown # Yes, No, Broken, unknown
Target_target                                  : ar71xx #
Subtarget                                      : generic #
Instruction Set_hidden                         : MIPS32 #
Sub Instruction Set_hidden                     : MIPS32 24K/E series # --------> Description goes here
Package architecture_pkg-arch                  : mips_24kc #
Packages download_pkg-dl                       : mips_24kc|Download #
Bootloader_bootloader                          : U-Boot #
CPU                                            : Atheros AR1311 # Main CPU/SoC, e.g. Atheros AR9331; Broadcom BCM6361
CPU Cores_numcores_                            : 1 # Number of CPU cores
CPU MHz                                        : 400 # pure number without 'MHz'
Flash MB_mbflashs                              : 8 # CTRL+click for multiselect
RAM MB_mbram                                   : 64 #
Ethernet 100M ports_numethport                 : 1 # Number of 100Mbit ethernet ports
Ethernet GBit ports_numethport                 : - # Number of Gbit ethernet ports
Switch                                         :  # e.g. Atheros AR8236
Modem_modem                                    : No # Select type of modem
Comments network ports_                        :  # Comments on Ethernet, Fibre and Modem
VLAN_yesno                                     : ¿ #
WLAN Hardwares                                 : ¿ Atheros AR9285 (onboard) # e.g. Atheros AR5416; separate multiple by comma; add '#x (mini-)PCI(e)' if necessary
WLAN 2.4GHz_wlan24                             : b/g/n #
WLAN 5.0GHz_wlan50                             : - #
WLAN Comments_                                 :  # MIMO and other WIFI information
Detachable Antennas_numdetachantenna           : - # Number of detachable antennas
Bluetooth_bluetooth                            :  # Bluetooth version, e.g. 4.1
USB ports_port-usbs                            : 1x 2.0 # Number of USB2.0 & 3.0 ports; CTRL+click for multiselect
SATA ports_numsataport                         : - # Number of SATA or eSATA ports
Comments USB SATA ports_                       :  # Comments on USB, SATA and eSATA ports
Video port_port-video                          : # Kind of video port, e.g. LVDS, HDMI, Composite, ...
Audio port_port-audio                          : # Kind of audio port, e.g. Line out, phone jack, ...
Phone ports_port-phone                         : # Number or kind of phone ports
Comments AV ports_                             : # Comments on Audio, Video, Phone ports
Serial_yesno                                   : Yes #
Serial connection parameters_serialparam       : # e.g. 115200 / 8N1
Serial connection voltage_serialvoltage        : ¿ # Serial voltage level
JTAG_yesno                                     : No #
LED count_numled                               : 2 # Number of (user configurable) LEDs
Button count_numbutton                         : 2 # Number of (user configurable) buttons/switches (other than Power)
GPIOs_numgpio                                  : # Number of accessible GPIOs
Power Supply                                   : 100-240 VAC, 50/60 Hz, 0.3 A # Specifications of Power Supply (Volt, Amp) or Battery (Volt, mAh)
OpenWrt Device Page_hidden                     : #
LEDE Device Page_page                          :  # toh/brand/brand_model_version
Device Techdata_hidden                         : View/Edit data # ===> Mandatory, must be "View/Edit data" <===
OWrt Forum Topic URL_url                       : #
WikiDevi URL_url                               : #
OEM Device Homepage URL_url                    : #
Firmware OEM Stock URL_url                     : #
Firmware OWrt Install URL_hidden               : #; If more than 1 file for install/upgrade -> link to download *folder* instead of image
Firmware OWrt Upgrade URL_hidden               : #; If more than 1 file for install/upgrade -> link to download *folder* instead of image
Firmware LEDE Install URL_url                  : #; If more than 1 file for install/upgrade -> link to download *folder* instead of image
Firmware LEDE Upgrade URL_url                  : #; If more than 1 file for install/upgrade -> link to download *folder* instead of image
Picture_img100s                                :  media:example:genericrouter1.png # media:brand:model_general_view.jpg; Single general picture to identify the device; detail pictures to be provided on device page. How to add images:
Comments_                                      : Additional to reset and WPA buttons it also has a 3 state mode switch AP/Repeater/HS # Anything that is worth mentioning


General nomenclature


Conventions per characteristic


  • Why this template?
    • Automated toh creation with comfortable filtering option through usage of Structured data plugin for Dokuwiki
  • Mode of operation (How does this work?)
    • required: Dokuwiki Structured data plugin
    • required: Dokuwiki sqlite plugin (for structured data plugin)
    • required: Dokuwiki Include plugin (for including permanote, see below)
    • required: Dokuwiki server: php5-sqlite
    • required: dataentry (see above) on device page or on separate technical data page
    • required: data pages with {{page>meta:infobox:dataentry_permanote&noheader&nofooter&noeditbtn}} (this will include an infobox regarding usage of the dataentry in each of the dataentry pages)
    • required: page/infobox dataentry_permanote, which contains the permanent usage notes to be included in the data page (see above)
    • required: wiki page containing a datatable section → see for details
  • Why the '_' at the end of 'Status_' and other characteristics ending in 's'?
    Why 'ss' where 's' would be the correct spelling?
  • Why separate technical data pages? Why not include the technical data in the device pages?
    • In general, dataentries can be placed either
      • on the device page: Anywhere, at the beginning, at the end, in the middle... it doesn't matter. OR
      • on separate dataentry page (one dataentry page per device / per device version)
    • For different versions of a device, different dataentry files must be created anyways (only one dataentry section per page allowed). This means:
      • Separate the technical data (dataentry) from the device page
      • Put dataentry pages in separate namespace techdata (one dataentry page per device / per differing device version)
    • Multiple dataentries on the same page are possible, but do not lead to the desired result, see footnote #1:
      “any additional dataentry on the same page would overwrite any preceding dataentry on this page and so - while many dataentry blocks on one page may be displayed - only the values of the last one would be stored in the SQLite database and could be retrieved as an output by e.g. a datatable”
      → Any HW version with different technical data needs separate dataentry page, in order for the automatedly created toh to work correctly.
  • Why the Datatype aliases? What do these aliases do, how do they work?
    • By adding a datatype alias like _modem, _yesno, _brand, _target, etc., you can define valid values for the respective field, which finally leads to the dataentry editor displaying drop down fields instead of simple textboxes. → User can click and select instead of typing in the value → no different spelling, no need to enter ¿ manually ;-)
    • Aliases and the valid values are defined in admin / Data Plugin: Field aliases

Since it is so easy to create a toh, it's no problem to create multiple tables with different content (columns).
The general OpenWrt/LEDE user may only be interested in the columns as shown above, while other users may whish to have other columns (e.g. what flash chip / RAM chip is used). Whatever the user wants to see in this table: Take a subset of characteristics out of the template, put them in a new wiki page, and you're done. It can't be much easier, can it?

Users need to be kept from doing silly things, that could break the functionality of the data plugin. Therefore, a permanent note shall be included in every dataentry page. In order to define and later on edit the permanent note in only one place, we need an infobox:

Content of meta:infobox:dataentry_topnote

===== Usage =====
  * Edit the dataentry via the **LEFT** edit button below the box
  * For adding new dropdown values, contact the wiki admin.
  * For conventions / allowed values, see below
  * For general usage help, see [[:meta:template_dataentry_background|Dataentry template background]]

To include the infobox in the dataentry pages, simply add this: {{page>meta:infobox:dataentry_topnote&noheader&nofooter&noeditbtn}}

To include detailed help regarding allowed values and formatting etc. in the dataentry pages, simply add this below the dataentry: {{page>:meta:template_dataentry_background#conventions_for_dataentry_values&nofooter&noeditbtn}}

This is the same way as with including the permanent note above and has the advantage, that you can include this big section in each datapage by adding minimal code, and if something needs to be changed, you only need to change one page, which then is automatically included in all available device- and datapages.

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
  • Last modified: 2022/04/05 19:36
  • by tmomas