If you like BoxMatrix then please contribute Supportdata, Supportdata2, Firmware and/or Hardware (get in touch).
My metamonk@yahoo.com is not reachable by me since years. Please use hippie2000@webnmail.de instead.

Event-Text

From BoxMatrix


BoxMatrix >> Webinterface >> Event-Text @ 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 Media

UI-Structure UI-Modules HTML-Files XML-Files REST-API Lua-Scripts Javascript Browser SSI-Files SSI-Directives HTML-Text Event-Text Help-Pages CSS-Files Graphics Research

Info
FRITZ!OS always provided an Event-Log in the System section of the Webinterface, which lists everything which happened. This covers informative messages like "The system time was updated successfully by time server 164.68.124.74" or error messages like "Login to the FRITZ!Box user interface from the IP address 192.168.178.20 failed (incorrect password)". The Event-Log is stored in RAM in a ring buffer (a buffer which never grows) and to save memory it does not store the long message texts but a numerical ID of the message plus optional arguments like the mentioned IP addresses.

Event-Text[edit]

The Event-Log is stored in .ar7events which is a binary shared ring buffer handled by libboxlib.so. The command eventsdump can be used to print its content, eventadd can add a new event.

Goto:   Event-Log   -   Event-Numbers   -   Event-Texts   -   Research

Event-Log[edit]

All messages which appear in the Event-Log are stored as numbers internally, with optional arguments. These are mapped to text usng the strings.tab database. This file exists since firmware 1.120, and consists of a message id number per line, one white space, followed by the respective message text. Empty lines group the message texts. // introduces a comment line. Example snippets from strings.tab in english 7050 firmware 4.26:

// **** event_ids.h ****
1 %s1
131 USB device %s1, class \"%s2\", plugged in

As you can see these are printf format strings, optionally expecting one or more arguments. To add these 2 sample events to the log use the eventadd command:

$ eventadd 1 "Hello world!"
$ eventadd 131 1004 "USB 2.0 (hi-speed) storage"

To view the log from the shell use the eventsdump command:

$ eventsdump
16.03.21 20:54:12 USB device 1004, class "USB 2.0 (hi-speed) storage", plugged in
16.03.21 20:54:01 Hello world!

You can test your message before submitting it to the log using the localize command:

$ localize 131 1004 "USB 2.0 (hi-speed) storage"
USB device 1004, class "USB 2.0 (hi-speed) storage", plugged in

You can also use localize to find out the format arguments of an event string *and their order*:

$ localize 2066 %s1 %s2 %s3 %s4 %s5 %s6 %s7 %s8 %s9
Independent forwarding to %s2 (%s3) added for port %s1. 

With the introduction of numerical HTML-Text keys using SSI-Directives in firmware 4.88 there was no more need to have a translated strings.tab per language. The 2 sample lines of strings.tab now look like this:

1 {?16:405?}
131 {?16:8789?}

As you can see strings.tab now uses the ntext_16 numerical HTML-Text key slot, which contains translated event strings from the htmltext.db for the current language.

Event-Numbers[edit]

Event numbers rage from 1 to 99999 with many gaps. Current firmware uses less than 1400 of them.
Within these numbers ranges are defined for specific purposes and system parts. Unfortunately event_ids.h is not present in any AVM-Tarball.

  • 1   -   Generic event
  • 2-12   -   DSL sync (9 = cable sync)
  • 13-21   -   UMTS modem
  • 22-29   -   Internet connection
  • 30-36   -   PPP
  • 37-39   -   IPv6 (SixXS Tunnel)
  • 40-49   -   PPPoE
  • 50-55   -   Budget monitoring
  • 56-59   -   IPv6
  • 60   -   Broken config, factory reset
  • ...
  • 600-799   -   WLAN
  • ...
  • 2410-2490   -   Powerline
  • ...
  • 98000-98999   -   Australian Timezones
  • 99000-99999   -   3 digit phone number prefix country names   -   Germany = 049 => 99049, Luxembourg = 352 => 99352, Other = 99 => 99099

To be continued... :)

Event-Texts[edit]

The following table lists the relation of the event number and its text to the source of this text and possible online and offline help pages.
Since Wiki articles with numerical names are difficult to handle and collide with model nick names the event numbers are named event_* here.

Daily updated index of all event texts found scanning Firmware-Probes . Last update: 2024-04-06 08:31 GMT.
The label (evtext) in the Event-ID column shows there are other objects in this wiki using this name.
The Mod column shows the amount of models using the respective text. Click the column header to sort by this number.
The Event-Text column contains some german strings marked Todo:, which are not translated yet.
The Text-Source column shows which HTML-Text ID the string comes from, Text means it is directly stored in strings.tab.
The Help-Page column shows which offline HTML-Files and online Help-Pages were found for the respective event ID.

Research[edit]

To print a range of event message format strings you can use this script:

for i in `seq 1 99`; do
	echo -n "$i = "
	localize $i %s1 %s2 %s3 %s4 %s5 %s6 %s7 %s8 %s9 || echo
done

The || echo is required to always get a line feed since localize fails silently.

Fact-Box

Facts about "Event-Text"
Event-Texts1,298 +