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.
Property:assetsd (avmcmd)
BoxMatrix >> Shell-Commands >> assetsd (avmcmd) | @ 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 |
Startup-Scr | Hotplug-Scr | BusyBox-Cmds | Bash-Cmds | AVM-Cmds | Chipset-Cmds | Linux-Cmds | Shared-Libs | Kernel-Mods | Research |
Name-Collision - multiple objects in this wiki use the name assetsd!
|
AVM-Command
Command: | assetsd (avmcmd) - type Exec | Wiki | Freetz | IPPF | whmf | AVM | Web |
Location: | Shell-Commands >> AVM-Commands - Origin: AVM | ||||||
Path: | Release: /sbin Lab+Rel: /sbin | ||||||
Properties: | Size: 54.0k - 69.4k - Firmware: 7.90 - 8.00 | ||||||
Function: | Asset-Bundles package-management daemon. |
Goto: Endpoints - Source - Dependencies - Model-Matrix - Symbols - SMW-Browser
Details
This is research in progress and may be partially or completely wrong.
assetsd is the new AVM Asset-Bundles package-management daemon.
It can install / activate / update / remove software packages which AVM calls Asset-Bundles.
Assets come from the AVM-Cloud and are installed on Internal-Storage or USB-Storage.
They are signed by AVM so there's no risk to execute malware from these storage locations.
Background: The first package AVM ever installed persistent was FHEM in 7390 fw 5.04 - 6.06.
It was delivered as a pseudo Firmware-Update image and installed FHEM and Perl on Internal-Storage.
This project was canceled since the installed files were executed unsigned and offered the
security risk to be replaced by malware.
AVM learned from the past. Assets are gzip compressed tar archives which contain an asset_bundle.mf
manifest.
This manifest stores type_id
, content_version
and the list of each contained file. asset_bundle.sign
contains the signatures.
Execution of an installed bundle requires activation by AVM's API server, which could be temporary or persistent.
Activations are renewed periodically during the update check, allowing AVM to disable bundles if security holes were found.
All activations are per content_version
so they could be rejected selectively.
Like all modern AVM-Cloud services the assets manager API uses OAuth 2,0 protected single-sign-on.
Downloads of Asset-Bundles are also OAuth protected and are performed by the new webget command.
All communication uses HTTPS and the avm_root_ca.pem reference certificate stored in the firmware.
This all seems to be a good security concept.
Endpoints
aicmd endpoint(s) provided by assetsd, with these functions: (fw 7.90)
root@fritz:/var/mod/root# aicmd assetsd # provided by assetsd: - fw 7.90+ HELP - show help SLABDUMP - show slab allocation SLABSHOW - show slab information QUIT - disconnect # provided by libewnwlinux.so: - fw 7.01+ ewnwlinux show csockshell - show shells running ewnwlinux show genetlink - show gerneric netlink families # provided by libewnwlinux.so: - fw 7.90+ ewnwlinux netlink show - show internal information ewnwlinux netlink getroute [address] - get route for inet address ewnwlinux netlink interfaces - show interfaces ewnwlinux netlink routes [ 4 | 6 ] - show routes # 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 # provided by libavmcsock.so: - fw 7.90+ avmcsock show signals - show signal handler avmcsock show connector [cache|stats] - show connector information avmcsock show clogger - show clogger information avmcsock set clogmod [ <module> [ '.' <submodule ] ... ] [ '=' <level> ] - set clogmod log level avmcsock slab check - red zone/free check avmcsock slab reap [heavy] - call slab_reap/slab_reap_heavy avmcsock slab dump [long] - show slab allocation avmcsock slab show - show slab information avmcsock slab ewma [show|activate|deactivate|reset] - show average allocates/freed per second avmcsock avmipc notifier [endpoint shmatch] - show registered notifier avmcsock avmipc set [endpoint shmatch] - show states/events sent avmcsock avmipc csv [endpoint shmatch] - show states/events sent and listing as csv
Source
The names of source files compiled into an executable often help to understand function blocks (and show gaps in the docs).
fw 7.90 source files:
$ strings /sbin/assetsd | grep -e '\.c$' -e '\.cpp$' ar7/assetsd/asset_bundle_manager.cpp
Dependencies
Daily updated index of all dependencies of this command. Last update: 2024-12-21 07:44 GMT.
A *
in the Mod
column marks info from Supportdata-Probes, which will always stay incomplete.
Relation | Typ | Object | Mod | Firmware | Info | Origin |
---|---|---|---|---|---|---|
Started by | serv | assetsd.service | 21 | 7.90 - 8.00 | supervisor service for assetsd. | AVM |
Runs as | proc | assetsd (process) | 4* | 7.90 - 8.00 | Process running assetsd | AVM |
Registers | wdog | assetsd (watchdog) | 4* | 7.90 - 8.00 | Watchdog for assetsd | AVM |
Serving | sock | me_LIBOAUTH_IPC_($pid).ctl | 18* | 7.24 - 8.00 | avmipc endpoint of dect_manager, cloudmsgd, device_updatecheck, assetsd | AVM |
Serving | sock | me_asset_bundle_api_server.ctl | 4* | 7.90 - 8.00 | avmipc endpoint of assetsd | AVM |
Serving | sock | me_assetsd.ctl | 4* | 7.90 - 8.00 | avmipc_command endpoint of assetsd | AVM |
Depends on | lib | ld.so | 7 | 7.90 - 8.00 | Dynamic linker / loader | Linux |
Depends on | lib | libar7cfg.so | 21 | 7.90 - 8.00 | TFFS-Configuration API to ar7.cfg and many more. | AVM |
Depends on | lib | libasset_bundle.so | 21 | 7.90 - 8.00 | Asset-Bundles helper functions | AVM |
Depends on | lib | libavmauth.so | 21 | 7.90 - 8.00 | Fritzbox authentification helpers | AVM |
Depends on | lib | libavmcipher.so | 21 | 7.90 - 8.00 | AES / DES / Rijndael encryption / decryption. | AVM |
Depends on | lib | libavmcsock.so | 21 | 7.90 - 8.00 | Networking, I/O and helper functions | AVM |
Depends on | lib | libavmfbstate.so | 21 | 7.90 - 8.00 | IPC fritzbox state notification | AVM |
Depends on | lib | libavmhmac.so | 21 | 7.90 - 8.00 | HMAC / SHA / MD5 hashing. | AVM |
Depends on | lib | libavmwdt.so | 21 | 7.90 - 8.00 | AVM-Watchdogs management API | AVM |
Depends on | lib | libboxenv.so | 21 | 7.90 - 8.00 | API to the rc.conf enhanced Config-Environment | AVM |
Depends on | lib | libboxlib.so | 21 | 7.90 - 8.00 | Box status, logging and statistics functions | AVM |
Depends on | lib | libc.so | 21 | 7.90 - 8.00 | Standard C library | Linux |
Depends on | lib | libcore.so | 21 | 7.90 - 8.00 | Gathers the MAC addresses of the device and maintains its device mode. | AVM |
Depends on | lib | libcrypto.so | 21 | 7.90 - 8.00 | OpenSSL general crypto and X.509 library | Linux |
Depends on | lib | libdl.so | 5 | 7.90 - 8.00 | Dynamic linking library | Linux |
Depends on | lib | libdputil.so | 21 | 7.90 - 8.00 | DataPipe / packet utilities | AVM |
Depends on | lib | libewnwjson.so | 21 | 7.90 - 8.00 | JSON helper functions | AVM |
Depends on | lib | libewnwlinux.so | 21 | 7.90 - 8.00 | Linux networking functions | AVM |
Depends on | lib | libewnwnet.so | 21 | 7.90 - 8.00 | Internet helper functions | AVM |
Depends on | lib | libfbconf.so | 21 | 7.90 - 8.00 | API to hardcoded fbconf.cfg | AVM |
Depends on | lib | libgcc_s.so | 21 | 7.90 - 8.00 | GCC low-level runtime library | Linux |
Depends on | lib | libjuisclient.so | 21 | 7.90 - 8.00 | Update-Search - second generation - JUIS | AVM |
Depends on | lib | liblocalize.so | 21 | 7.90 - 8.00 | Charset conversion helper functions | AVM |
Depends on | lib | libm.so | 5 | 7.90 - 8.00 | C math library | Linux |
Depends on | lib | liboauth2.so | 21 | 7.90 - 8.00 | OAuth v2.0 authentificator | Linux |
Depends on | lib | libpthread.so | 5 | 7.90 - 8.00 | POSIX threading library | Linux |
Depends on | lib | librt.so | 5 | 7.90 - 8.00 | POSIX realtime extensions library | Linux |
Depends on | lib | libslab_c++.so | 21 | 7.90 - 8.00 | C++ slab allocator | AVM |
Depends on | lib | libstdc++.so | 21 | 7.90 - 8.00 | GNU C++ library | Linux |
Depends on | lib | libsvctl.so | 21 | 7.90 - 8.00 | supervisor notification library | AVM |
Depends on | lib | libtiinterpreter.so | 21 | 7.90 - 8.00 | Preprocessor for SSI-Files by TI. | AVM |
Depends on | lib | libwebkpiclient.so | 21 | 7.90 - 8.00 | KPI sensor for system parts which use HTTP / HTTPS | AVM |
Depends on | lib | libwebsrv.so | 21 | 7.90 - 8.00 | HTTP / HTTPS webserver and tools. | AVM |
Depends on | lib | libyajl.so | 21 | 7.90 - 8.00 | Event-driven JSON parser | Linux |
Depends on | lib | libz.so | 21 | 7.90 - 8.00 | Zlib compressor / decompressor | Linux |
41 dependencies for this command |
Model-Matrix
Daily updated index of the presence, path and size of this command for each model. Last update: 2024-12-21 05:44 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/rtl)
label in the Model
column shows which CPU is meant for Multi-Linux models.
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 4040 | 7.90 - 8.00 | /sbin | 54.1k |
FRITZ!Box 4050 | 7.90 | /sbin | 54.0k |
FRITZ!Box 4060 | 7.90 | /sbin | 54.0k |
FRITZ!Box 5530 Fiber (main) | 8.00 | /sbin | 69.4k |
FRITZ!Box 5590 Fiber (main) | 7.90 - 8.00 | /sbin | 54.0k |
FRITZ!Box 6591 Cable (atom) | 7.90 - 8.00 | /sbin | 62.1k |
FRITZ!Box 6660 Cable (atom) | 7.90 - 8.00 | /sbin | 62.1k |
FRITZ!Box 6670 Cable (atom) | 7.90 | /sbin | 62.2k |
FRITZ!Box 6690 Cable (atom) | 7.90 | /sbin | 62.1k |
FRITZ!Box 6850 LTE | 7.90 | /sbin | 54.1k |
FRITZ!Box 6850 5G | 7.90 | /sbin | 54.1k |
FRITZ!Box 7510 | 7.90 - 8.00 | /sbin | 54.0k |
FRITZ!Box 7520 | 8.00 | /sbin | 54.1k |
FRITZ!Box 7520 v2 (main) | 7.90 - 8.00 | /sbin | 54.1k |
FRITZ!Box 7530 | 7.90 - 8.00 | /sbin | 54.1k |
FRITZ!Box 7530 AX | 8.00 | /sbin | 54.1k |
FRITZ!Box 7583 VDSL (main) | 8.00 | /sbin | 69.4k |
FRITZ!Box 7590 (main) | 7.90 - 8.00 | /sbin | 69.3k - 69.4k |
FRITZ!Box 7590 AX (main) | 8.00 | /sbin | 69.4k |
FRITZ!Box 7690 | 7.90 | /sbin | 54.0k |
20 models use this command |
Symbols
Daily updated index of all symbols of this command. Last update: 2024-12-21 07:44 GMT.
Firmware | Symbol |
---|---|
7.90 - 8.00 | asset_bundle_manager_exit |
7.90 - 8.00 | asset_bundle_manager_init |
7.90 - 8.00 | asset_bundle_manager_reconfig |
7.90 - 8.00 | main |
4 symbols for this command |