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 september. Please use hippie2000@webnmail.de instead.

0
U

Property:aicmd

From BoxMatrix
(Redirected from aicmd)


BoxMatrix >> Shell-Commands >> aicmd @ 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

Startup-Scr Hotplug-Scr BusyBox-Cmds Bash-Cmds AVM-Cmds Chipset-Cmds Linux-Cmds Shared-Libs Kernel-Mods Research

AVM-Command

Goto:   Examples  -  Endpoints  -  Libraries  -  Functions  -  Events  -  Dependencies   -   Model-Matrix   -   Symbols   -   SMW-Browser

Details

aicmd is an avmipc_command query client to show status info and logs from daemons supporting it and to set debug flags.
On models which run multiple Linux instances aicmd abstracts on which Linux the specific daemon is running.

fw 7.29 help:

root@fritz2:/var/mod/root# aicmd -?

usage: aicmd [options] [endpoint] [command]

options:
  -?                 - print this help
  -a STRING          - name for avmipc. (NULL)
  -v                 - verbose. (NOTSET)
  -o INTEGER         - output buffer size. (32768)
  -i INTEGER         - input buffer size. (8192)
  -D STRING          - switch debug logs on. (FUNC)

options fw 7.12+:
  -l                 - list listening endpoints. (NOTSET)
  -e                 - list all endpoints. (NOTSET)

aicmd pumaglued support get docsisinfo"
aicmd multid dnsd dump
aicmd -l
aicmd -e

In fw 7.01 there was no way to list the listenering endpoints, and the aicmd_listener event did not exist yet.

Examples

Listing 6490 fw 7.29 ATOM endpoints - remote endpoints run on ARM:
Calling the same command from an armconsole lists the same with local and remote exchanged.

root@fritz2:/var/mod/root# aicmd -l | sort

local:avmnexusd
local:ctlmgr
local:ddnsd
local:deviceinfod
local:dsld
local:l2tpv3d
local:meshd
local:multid
local:pcpd
local:upnpd
local:voipd
local:vpnd
local:wsdd
remote:avmpacmstated
remote:pumaglued

A good example for aicmd remote usage is the 6490 armconsole which just calls the aicmd command:

aicmd pumaglued shell start

If a daemom exists twice with the same name it could be addressed prepending local: and remote:.

root@fritz2:/var/mod/root# aicmd local:avmipcd avmcsock show csock

IDX ; NAME/ADDR                               ;     WHAT/STATE                              ; TYPE/FILE                     ;   PKTS IN;   PKTS OUT;   BYTES IN;  BYTES OUT;
4   ; 169.254.1.1:10012                       ;     connected to 169.254.1.2:59475          ; socket:[3642]                 ;   2367715;          0;  862432096;          0;
6   ; /var/tmp/me_remote.ctl 'avmipc'         ;     fd 6                                    ; unix,dgram                    ;
7   ; /var/tmp/me_avmipcd.ctl 'avmipc'        ;     fd 7                                    ; unix,dgram                    ;
8   ; 169.254.1.1:10012                       ;     listen                                  ; inet,stream                   ;
9   ; /var/tmp/me_avmipc_state.ctl 'avmipc'   ;     fd 9                                    ; unix,dgram                    ;
10  ; 127.0.0.1:59110 'avmipc'                ;     connected to 127.0.0.1:11283            ; inet,stream                   ;         1;          1;         21;         20;

root@fritz2:/var/mod/root# aicmd remote:avmipcd avmcsock show csock

IDX ; NAME/ADDR                               ;     WHAT/STATE                              ; TYPE/FILE                     ;   PKTS IN;   PKTS OUT;   BYTES IN;  BYTES OUT;
5   ; /var/tmp/me_remote.ctl 'avmipc'         ;     fd 5                                    ; unix,dgram                    ;
6   ; /var/tmp/me_avmipcd.ctl 'avmipc'        ;     fd 6                                    ; unix,dgram                    ;
7   ; 169.254.1.2:10012                       ;     listen                                  ; inet,stream                   ;
8   ; /var/tmp/me_avmipc_state.ctl 'avmipc'   ;     fd 8                                    ; unix,dgram                    ;
9   ; 169.254.1.2:10012                       ;     connected to 169.254.1.1:52884          ; socket:[5185848]              ;         1;          0;         34;          0;
10  ; 169.254.1.2:59475 'avmipc'              ;     connected to 169.254.1.1:10012          ; inet,stream                   ;         0;    2304289;          0;  862423918;
12  ; 169.254.1.2:60594 'avmipc'              ;     connected to 169.254.1.1:11247          ; inet,stream                   ;         1;          1;         21;         20;

A perfect playground to experiment with the features of aicmd without disturbing the system is testdaemon!

Endpoints

All aicmd endpoints are maintained in the AVMIPC-Datastore as subscribers of the aicmd_listener event.
All Listeners inherit functions from aicmd enhanced Libraries they open, at least from libavmcsock.so.
Have a look at the Endpoints section of each Listener article for their respective functions.
The Firmw column is a snapshot of manual research at 6.88 / 7.01 / 7.12 / 7.29 / 7.39 probes and will change.

Listener Firmw Libraries
avmcounterd (avmcmd) 7.39 libavmcsock.so, libavmrrdtoolapi.so, libewnwlinux.so
avmike (avmcmd) 7.29 libavmcsock.so, libavmpcp.so, libewnwlinux.so
avmipcd (avmcmd) 7.01 libavmcsock.so, libewnwlinux.so
avmnexusd (avmcmd) 7.01 libavmcsock.so, libewnwlinux.so
avmntpd (avmcmd) 7.39 libavmcsock.so, libewnwlinux.so
avmpacmstated (avmcmd) 7.29 libavmcsock.so, libewnwlinux.so
bb_shm_manager (avmcmd) 7.39 libavmcsock.so, libewnwlinux.so
ctlmgr (avmcmd) 7.01 libavmcsock.so, libavmpcp.so, libcmapi.so, libewnwlinux.so, libtr064.so, libwebsrv.so
ddnsd (avmcmd) 7.29 libavmcsock.so, libewnwlinux.so
deviceinfod (avmcmd) 7.01 libavmcsock.so, libewnwlinux.so
dnsqcheckd (avmcmd) 7.08 libewnwlinux.so, libavmcsock.so
dsld (avmcmd) 7.01 libavmcsock.so, libavmpcp.so, libewnwlinux.so
l2tpv3d (avmcmd) 7.29 libavmcsock.so, libewnwlinux.so
meshd (avmcmd) 7.01 libavmcsock.so, libewnwlinux.so, libmeshd.so
moved (avmcmd) 7.39 libavmcsock.so, libewnwlinux.so, libmoved.so
multid (avmcmd) 6.88 libavmcsock.so, libavmpcp.so, libewnwlinux.so
nltest 7.39 libavmcsock.so, libewnwlinux.so
pcpd (avmcmd) 6.88 libavmcsock.so, libavmpcp.so, libewnwlinux.so
pumaglued (avmcmd) 7.29 libavmcsock.so, libewnwlinux.so
rextd (avmcmd) 7.29 libewnwlinux.so, libavmcsock.so
simulate_umts 7.39 libavmcsock.so
testdaemon 7.39 libavmcsock.so, libewnwlinux.so
upnpd (avmcmd) 7.01 libavmcsock.so, libewnwlinux.so
voipd (avmcmd) 6.88 libavmcsock.so, libavmpcp.so, libewnwlinux.so
vpnd (avmcmd) 7.29 libavmcsock.so, libavmpcp.so, libewnwlinux.so
wsdd (avmcmd) 7.29 libavmcsock.so, libewnwlinux.so
26 aicmd listeners

TODO: no Endpoints section yet: cloudmsgd
In 7272 fw 6.83 there were only the listeners voipd, multid and pcpd.

Libraries

Some of the Shared-Libraries are aicmd enhanced and share functions with aicmd Listeners opening them.
The mandatory library libavmcsock.so is included by every aicmd Listener, sinxe it contains the management code.
Have a look at the Endpoints section of each Library article for their respective functions.
The Firmw column is a snapshot of manual research at 6.88 / 7.01 / 7.12 / 7.29 / 7.39 probes and will change.

Library Firmw Listeners
libavmcsock.so 7.01 avmcounterd, avmike, avmipcd, avmnexusd, avmntpd, avmpacmstated, bb_shm_manager, ctlmgr, ddnsd, deviceinfod, dsld, l2tpv3d, meshd, moved, multid, nltest, pcpd, pumaglued, simulate_umts, testdaemon, upnpd, voipd, vpnd, wsdd, rextd, dnsqcheckd
libavmpcp.so 7.29 avmike, ctlmgr, dsld, multid, pcpd, voipd, vpnd
libavmrrdtoolapi.so 7.39 avmcounterd
libcmapi.so 7.39 ctlmgr
libewnwlinux.so 7.01 avmcounterd, avmike, avmipcd, avmnexusd, avmntpd, avmpacmstated, bb_shm_manager, ctlmgr, ddnsd, deviceinfod, dsld, l2tpv3d, meshd, moved, multid, nltest, pcpd, pumaglued, testdaemon, upnpd, voipd, vpnd, wsdd, rextd
libmeshd.so 7.01 meshd
libmoved.so 7.39 moved
libtr064.so 7.39 ctlmgr
libwebsrv.so 7.29 ctlmgr
9 aicmd enhanced libraries

TODO: no Endpoints section yet: libavmupnpbig.so, libavmupnp.so, libmesh_shared.so, libusp.so

A good example for using avmcsock library functions which are polymorph to all aicmd listeners is from supportdata:

aicmd -l | sort | while read daemon ; do 

   echo "=== Sockets used by $daemon: ==="

   aicmd $daemon avmcsock show csock

done

This lists all csock used by all aicmd listeners, regardless whether they are local or remote.

Functions

aicmd capable daemons could not be found by library dependency, since the code is in libavmcsock.so, which is widely used.
They register their endpoint's capabilities with aicmd_* functions in libavmcsock.so, which could be searched for.

There are 4 basic uppercase functions which so far every aicmd capable daemon registers:

HELP     - show help                     - if aicmd_help is registered
SLABDUMP - show slab allocation          - if aicmd_slabdump is registered
SLABSHOW - show slab information         - if aicmd_slabshow is registered
QUIT     - disconnect                    - if aicmd_quit is registered

The least cost function is aicmd_quit so this is a perfect search string to find endpoints in daemons.

Shared-Libraries can add functions to endpoints using aicmd_register_library / aicmd_unregister_library.
Since every aicmd endpoint needs libavmcsock.so to register this is another set of basic functions:

# provided by libavmcsock.so: - fw 7.01+

avmcsock show csock                      - show all csock
avmcsock show dnsconfig                  - show all dns context
avmcsock show timercb                    - show all timer
avmcsock show debughandles               - show all debughandles
avmcsock show cprocess                   - show all processes
avmcsock set debug                       - set debug flags

# provided by libavmcsock.so: - fw 7.29+

avmcsock show cbcontext                  - show all cbdata
avmcsock show daemon                     - show daemon status
avmcsock show cbuf                       - show cbuf status

# provided by libavmcsock.so: - fw 7.39+

avmcsock getsymbol <address>             - get symbol for address
avmcsock show dnsglobal                  - show all dns global values
avmcsock show dnscache                   - show cache
avmcsock show dnsqueries                 - show all pending queries
avmcsock show avmipc [endpoint shmatch]  - show avmipc events and states
avmcsock ctimer show                     - show all timer
avmcsock ctimer overview                 - show ctimer overview
avmcsock iotrace format unctrl|hexdump   - set format for csock iotrace
avmcsock iotrace file                    - enable iotrace to file
avmcsock iotrace enable                  - enable iotrace via debugmsg
avmcsock iotrace disable                 - disable iotrace
avmcsock iotrace match help|<match>      - show allowed matches or set match
avmcsock iotrace reset                   - remove all matches
avmcsock iotrace show                    - show configuration

Most aicmd daemons also open libewnwlinux.so which adds another set of basic functions:

# provided by libewnwlinux.so: - fw 7.01+

ewnwlinux show csockshell                - show shells running
ewnwlinux show genetlink                 - show gerneric netlink families

Events

Daily updated index of AVM-Events and AVMIPC-Datastore nodes affecting this command. Last update: 2022-11-30 06:47 GMT.
The owners of Event-Sinks and Event-Sources are manual research, which may be incomplete or even wrong.
A * in the Mod column marks info from Supportdata-Probes, which will always stay incomplete.
A ** in the Mod column marks info from Supportdata2 probes, which by their nature will stay way more incomplete.
A - in the Mod column marks manual research, the Firmware then shows where the item occurs, not the Relation.

Relation Typ Object Mod Firmware Info Origin
Command cmd aicmd 71 6.54 - 7.39 avmipc_command query client. AVM
Sends avmipc aicmd_listener - 7.12 - 7.39 Special event covering all aicmd compatible listeners. AVM
2 event relations for this command

Dependencies

Daily updated index of all dependencies of this command. Last update: 2022-11-30 07:28 GMT.
A * in the Mod column marks info from Supportdata-Probes, which will always stay incomplete.

Relation Typ Object Mod Firmware Info Origin
Reloads serv vpnd.service 21 7.39 supervisor service for vpnd. AVM
Depends on lib ld.so 44 7.08 - 7.39 Dynamic linker / loader Linux
Depends on lib libavmcsock.so 70 6.54 - 7.39 Networking, I/O and helper functions AVM
Depends on lib libc.so 70 6.54 - 7.39 Standard C library Linux
Depends on lib libdl.so 55 6.54 - 7.39 Dynamic linking library Linux
Depends on lib libewnwlinux.so 70 6.54 - 7.39 Linux networking functions AVM
Depends on lib libgcc_s.so 17 6.69 - 6.110 GCC low-level runtime library Linux
Depends on lib libpthread.so 55 6.54 - 7.39 POSIX threading library Linux
Depends on lib librt.so 55 6.54 - 7.39 POSIX realtime extensions library Linux
Depends on lib libsvctl.so 52 7.19 - 7.39 supervisor control library AVM
Depends on lib libwdt.so 26 7.39 AVM-Watchdogs management API AVM
Depends on lib libz.so 52 6.98 - 7.39 Zlib compressor / decompressor Linux
12 dependencies for this command

Model-Matrix

Daily updated index of the presence, path and size of this command for each model. Last update: 2022-11-30 06:01 GMT.
Showing all models using this command. Click any column header (click-wait-click) to sort the list by the respective data.
The (main/scrpn/boot/arm/prx/atom) label in the Model column shows which CPU is meant for models with multiple Linux instances.
Note that this list is merged from Firmware-Probes of all known AVM firmware for a model, including Recovery.exe and Labor-Files.

Model Firmware Path Size
FRITZ!Box 5530 Fiber (prx) 7.27 - 7.30 /bin 14.4k
FRITZ!Box 3272 6.83 - 6.88 /bin 8.3k
FRITZ!Box 3490 (main) 6.80 - 7.30 /bin 7.8k - 14.5k
FRITZ!Box 4020 6.83 - 7.02 /bin 7.8k - 9.7k
FRITZ!Box 4040 6.69 - 7.39 /bin 6.1k - 13.5k
FRITZ!Box 4060 7.26 - 7.39 /bin 13.4k
FRITZ!Box 5490 (main) 6.69 - 7.29 /bin 7.8k - 14.5k
FRITZ!Box 5491 (main) 7.01 - 7.29 /bin 9.7k - 14.5k
FRITZ!Box 5530 Fiber (main) 7.21 - 7.30 /bin 14.4k
FRITZ!Box 5590 Fiber (arm) 7.27 - 7.30 /bin 13.4k - 14.4k
FRITZ!Box 5590 Fiber (prx) 7.27 - 7.30 /bin 14.4k
FRITZ!Box 6430 Cable (arm) 6.84 - 7.29 /bin 6.9k - 13.4k
FRITZ!Box 6430 Cable (atom) 6.84 - 7.29 /bin 7.4k - 13.3k
FRITZ!Box 6490 Cable (arm) 6.83 - 7.39 /bin 6.9k - 13.4k
FRITZ!Box 6490 Cable (atom) 6.83 - 7.39 /bin 7.4k - 13.3k
FRITZ!Box 6590 Cable (arm) 6.83 - 7.39 /bin 6.9k - 13.4k
FRITZ!Box 6590 Cable (atom) 6.83 - 7.39 /bin 7.4k - 13.3k
FRITZ!Box 6591 Cable (arm) 7.04 - 7.39 /bin 8.7k - 13.6k
FRITZ!Box 6591 Cable (atom) 7.04 - 7.39 /bin 8.7k - 13.5k
FRITZ!Box 6660 Cable (arm) 7.14 - 7.39 /bin 9.7k - 13.5k
FRITZ!Box 6660 Cable (atom) 7.14 - 7.39 /bin 9.7k - 13.5k
FRITZ!Box 6690 Cable (arm) 7.28 - 7.39 /bin 9.8k - 13.5k
FRITZ!Box 6690 Cable (atom) 7.28 - 7.39 /bin 13.4k - 13.5k
FRITZ!Box 6820 LTE v1 6.69 - 7.29 /bin 8.3k - 14.5k
FRITZ!Box 6820 LTE v2 6.69 - 7.29 /bin 8.3k - 14.5k
FRITZ!Box 6820 LTE v3 7.19 - 7.29 /bin 14.5k
FRITZ!Box 6840 LTE 6.69 - 6.87 /bin 7.8k
FRITZ!Box 6850 LTE 7.21 - 7.39 /bin 13.4k - 14.4k
FRITZ!Box 6850 5G 7.24 - 7.30 /bin 13.4k
FRITZ!Box 6890 LTE 6.84 - 7.39 /bin 7.8k - 14.4k
FRITZ!Box 6890 LTE v1 6.84 - 7.39 /bin 7.8k - 14.4k
FRITZ!Box 6890 LTE v2 6.84 - 7.39 /bin 7.8k - 14.4k
FRITZ!Box 7272 6.69 - 6.88 /bin 8.3k
FRITZ!Box Fon WLAN 7360 v2 6.80 - 6.87 /bin 7.8k
FRITZ!Box 7362 SL 6.69 - 7.13 /bin 7.8k - 14.4k
FRITZ!Box Fon WLAN 7390 6.80 - 6.87 /bin 8.3k
FRITZ!Box 7412 6.80 - 6.87 /bin 7.8k
FRITZ!Box 7430 6.69 - 7.29 /bin 7.8k - 14.5k
FRITZ!Box 7490 (main) 6.69 - 7.39 /bin 7.8k - 14.5k
FRITZ!Box 7510 7.30 /bin 13.4k
FRITZ!Box 7520 6.98 - 7.29 /bin 7.7k - 13.4k
FRITZ!Box 7520 v2 (arm) 7.30 - 7.31 /bin 13.4k
FRITZ!Box 7530 6.93 - 7.39 /bin 6.3k - 13.5k
FRITZ!Box 7530 AX 7.20 - 7.39 /bin 13.6k
FRITZ!Box 7560 6.69 - 7.29 /bin 7.8k - 14.4k
FRITZ!Box 7580 6.69 - 7.29 /bin 7.8k - 14.4k
FRITZ!Box 7581 6.54 - 7.16 /bin 5.9k - 13.6k
FRITZ!Box 7582 6.83 - 7.16 /bin 5.9k - 13.6k
FRITZ!Box 7583 7.01 - 7.31 /bin 9.7k - 14.4k
FRITZ!Box 7583 VDSL 7.19 - 7.31 /bin 14.4k
FRITZ!Box 7590 6.83 - 7.39 /bin 7.8k - 14.4k
FRITZ!Box 7590 AX 7.19 - 7.39 /bin 14.4k
FRITZ!WLAN Repeater 310 A 6.90 - 7.14 /bin 8.4k - 14.4k
FRITZ!WLAN Repeater 310 B 6.90 - 7.14 /bin 7.9k - 14.4k
FRITZ!WLAN Repeater 450E 6.90 - 7.14 /bin 8.4k - 14.4k
FRITZ!Repeater 600 7.11 - 7.29 /bin 14.4k - 14.5k
FRITZ!Repeater 600 v2 7.19 - 7.30 /bin 14.5k
FRITZ!WLAN Repeater 1160 6.90 - 7.14 /bin 7.9k - 14.4k
FRITZ!Repeater 1200 7.11 - 7.29 /bin 13.4k
FRITZ!Repeater 1200 AX 7.27 - 7.39 /bin 13.4k
FRITZ!WLAN Repeater 1750E 6.90 - 7.29 /bin 8.4k - 14.5k
FRITZ!Repeater 2400 7.12 - 7.39 /bin 10.5k - 14.5k
FRITZ!Repeater 3000 6.98 - 7.39 /bin 7.6k - 13.5k
FRITZ!Repeater 3000 AX 7.39 /bin 13.4k
FRITZ!Repeater 6000 7.19 - 7.39 /bin 13.4k
FRITZ!WLAN Repeater DVB-C 6.92 - 7.02 /bin 8.4k - 9.7k
FRITZ!Powerline 540E 6.90 - 7.14 /bin 8.4k - 14.4k
FRITZ!Powerline 546E 6.90 - 7.10 /bin 8.4k - 14.4k
FRITZ!Powerline 1240E 6.90 - 7.14 /bin 7.9k - 14.4k
FRITZ!Powerline 1260E 6.90 - 7.29 /bin 6.3k - 13.4k
FRITZ!Powerline 1260 7.08 - 7.29 /bin 9.4k - 13.4k
71 models use this command

Symbols

Daily updated index of all symbols of this command. Last update: 2022-11-30 07:28 GMT.

Firmware Symbol
6.69 - 7.39 main
1 symbol for this command

SMW-Browser

Information is currently being retrieved from the backend.