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:wsdd (avmcmd)
BoxMatrix >> Shell-Commands >> wsdd (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 wsdd!
|
AVM-Command
Command: | wsdd (avmcmd) - type Exec | Wiki | Freetz | IPPF | whmf | AVM | Web |
Location: | Shell-Commands >> AVM-Commands - Origin: AVM | ||||||
Path: | Release: /sbin Lab+Rel: /sbin | ||||||
Properties: | Size: 25.7k - 34.0k - Firmware: 7.24 - 8.00 | ||||||
Function: | Web Services Discovery (WS-Discovery) daemon |
Goto: Examples - Endpoints - Events - Source - Dependencies - Model-Matrix - Symbols - SMW-Browser
Details
wsdd is a Web Services Discovery (WSD) daemon.
It announces model information and URLs to webservices using a bunch of WS-*
SOAP protocols.
The standards used are SOAP, WSA (WS-Addressing), WSD (WS-Discovery), WSDP (WS-DevicesProfile) and WSX (WS-MetadataExchange).
Communication is performed using Port-3702-udp (WSD) and Port-5357-tcp (WSDAPI).
fw 7.29 help:
fritz3:/var/mod/root $ wsdd -? usage: wsdd wsdd [options] options: -? - print this help -f - run in foreground. (NOTSET) -s - stop daemon. (NOTSET) -v - verbose. (NOTSET) -I - send wsdd a SIGHUP. (NOTSET) -p STRING - Pidfile. ("/var/run/wsdd.pid") -w STRING - Workgroup. ("WORKGROUP") -D STRING - switch debug logs on. (FUNC) start server: wsdd stop server : wsdd -s
Examples
wsdd uses SOAP messages which consist of a XML header and a SOAP envelope containing a SOAP header and a SOAP body.
The envelope references the XML namespaces used in the SOAP message.
<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:pnpx="http://schemas.microsoft.com/windows/pnpx/2005/10" xmlns:pub="http://schemas.microsoft.com/windows/pub/2005/07" xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsd="http://schemas.xmlsoap.org/ws/2005/04/discovery" xmlns:wsdp="http://schemas.xmlsoap.org/ws/2006/02/devprof" xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex"> <soap:Header> <wsa:To> urn:schemas-xmlsoap-org:ws:2005:04:discovery </wsa:To> <wsa:Action> http://schemas.xmlsoap.org/ws/2005/04/discovery/Hello </wsa:Action> <wsa:MessageID> urn:uuid:%s </wsa:MessageID> <wsd:AppSequence InstanceId="%u" MessageNumber="%u" SequenceId="urn:uuid:%s" /> </soap:Header> <soap:Body> <wsd:Hello> <wsa:EndpointReference> <wsa:Address> urn:uuid:%s </wsa:Address> </wsa:EndpointReference> <wsd:XAddrs> http://%s/%s </wsd:XAddrs> <wsd:MetadataVersion> 1 </wsd:MetadataVersion> </wsd:Hello> </soap:Body> </soap:Envelope>
The SOAP header defines the target address, message id and action to perform. The SOAP body contains the payload data,
which is action specific. Actions sent are the discovery
actions Hello
, Bye
, ProbeMatches
, ResolveMatches
and
the transfer
actionGetResponse
, which sends this metadata body describing the device:
<soap:Body> <wsx:Metadata> <wsx:MetadataSection Dialect="http://schemas.xmlsoap.org/ws/2006/02/devprof/ThisDevice"> <wsdp:ThisDevice> <wsdp:FriendlyName> %s </wsdp:FriendlyName> <wsdp:FirmwareVersion> %s </wsdp:FirmwareVersion> <wsdp:SerialNumber> </wsdp:SerialNumber> </wsdp:ThisDevice> </wsx:MetadataSection> <wsx:MetadataSection Dialect="http://schemas.xmlsoap.org/ws/2006/02/devprof/ThisModel"> <wsdp:ThisModel> <wsdp:Manufacturer> AVM Berlin </wsdp:Manufacturer> <wsdp:ManufacturerUrl> http://www.avm.de </wsdp:ManufacturerUrl> <wsdp:ModelName> %s </wsdp:ModelName> <wsdp:ModelNumber> %s </wsdp:ModelNumber> <wsdp:ModelUrl> http://%s </wsdp:ModelUrl> <wsdp:PresentationUrl> http://%s </wsdp:PresentationUrl> <un0:DeviceCategory> Computers </un0:DeviceCategory> </wsdp:ThisModel> </wsx:MetadataSection> <wsx:MetadataSection Dialect="http://schemas.xmlsoap.org/ws/2006/02/devprof/Relationship"> <wsdp:Relationship Type="http://schemas.xmlsoap.org/ws/2006/02/devprof/host"> <wsdp:Host> <wsa:EndpointReference> <wsa:Address> urn:uuid:%s </wsa:Address> </wsa:EndpointReference> <wsdp:Types> pub:Computer </wsdp:Types> <wsdp:ServiceId> urn:uuid:%s </wsdp:ServiceId> <pub:Computer> %s/Workgroup:%s </pub:Computer> </wsdp:Host> </wsdp:Relationship> </wsx:MetadataSection> </wsx:Metadata> </soap:Body>
All XML above has been formatted for readability.
Endpoints
aicmd endpoint(s) provided by wsdd, with these functions: (fw 7.29)
root@fritz2:/var/mod/root# aicmd wsdd # provided by wsdd: - fw 7.29+ HELP - show help SLABDUMP - show slab allocation SLABSHOW - show slab information QUIT - disconnect msglog on - start logging messages to /var/tmp/wsdd.log msglog off - stop logging messages # 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
Events
Daily updated index of AVM-Events and AVMIPC-Datastore nodes affecting this command. Last update: 2023-12-10 05:13 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 |
---|---|---|---|---|---|---|
Netlink | family | NETLINK_ROUTE | 6** | 7.29 - 7.51 | Communication channel between routing dæmons and the kernel packet forwarding (#0) | Linux |
Multicast | group | RTMGRP_IPV4_IFADD | 6** | 7.29 - 7.51 | IPv4 address change of a Network-Interface | Linux |
Multicast | group | RTMGRP_IPV4_ROUTE | 6** | 7.29 - 7.51 | IPv4 Routing Table change | Linux |
Multicast | group | RTMGRP_IPV6_IFADDR | 6** | 7.29 - 7.51 | IPv6 address change of a Network-Interface | Linux |
Multicast | group | RTMGRP_IPV6_ROUTE | 6** | 7.29 - 7.51 | IPv6 Routing Table change | Linux |
Multicast | group | RTMGRP_LINK | 6** | 7.29 - 7.51 | Creation / deletion or up / down change of a Network-Interface. | Linux |
Multicast | group | RTMGRP_NOTIFY | 6** | 7.29 - 7.51 | Enable notification about changes in subscribed rtnetlink groups | Linux |
Multicast | group | RTMGRP_TC | 6** | 7.29 - 7.51 | Packet Scheduler Traffic Control change | Linux |
Endpoint | sock | me_wsdd.ctl | 12* | 7.24 - 7.51 | avmipc_command endpoint of wsdd | AVM |
Listens to | avmipc | @ | 6** | 7.29 - 7.51 | Special event for listeners of nameless private messages. | AVM |
Listens to | avmipc | aicmd_listener | 6** | 7.29 - 7.51 | Special event covering all aicmd compatible listeners. | AVM |
Listens to | avmipc | STATE_DEVICENAME_FBSTATE | 4** | 7.39 - 7.51 | State of the current Box-Name in JSON format. | AVM |
12 event relations for this command |
Source
The names of source files compiled into an executable often help to understand function blocks (and show gaps in the docs).
fw 7.39 source files:
$ strings /sbin/wsdd | grep -e '\.c$' -e '\.cpp$' ar7/wsdd/main.c ar7/wsdd/wsd_xml_parse.c
Dependencies
Daily updated index of all dependencies of this command. Last update: 2025-02-01 07:40 GMT.
A *
in the Mod
column marks info from Supportdata-Probes, which will always stay incomplete.
Relation | Typ | Object | Mod | Firmware | Info | Origin |
---|---|---|---|---|---|---|
Runs as | proc | wsdd (process) | 14* | 7.24 - 7.90 | Process running wsdd | AVM |
Serving | port | Port-3702-udp | 14* | 7.24 - 7.90 | WS-Discovery - Web Services Dynamic Discovery | AVM |
Serving | port | Port-5357-tcp | 14* | 7.24 - 7.90 | WSDAPI - Web Services Dynamic Discovery (WS-Discovery) | AVM |
Serving | sock | me_wsdd.ctl | 15* | 7.24 - 7.90 | avmipc_command endpoint of wsdd | AVM |
Depends on | lib | ld.so | 12 | 7.24 - 8.00 | Dynamic linker / loader | Linux |
Depends on | lib | libavmauth.so | 34 | 7.24 - 8.00 | Fritzbox authentification helpers | AVM |
Depends on | lib | libavmcsock.so | 34 | 7.24 - 8.00 | Networking, I/O and helper functions | AVM |
Depends on | lib | libavmfbstate.so | 27 | 7.39 - 8.00 | IPC fritzbox state notification | AVM |
Depends on | lib | libavmhmac.so | 34 | 7.24 - 8.00 | HMAC / SHA / MD5 hashing. | AVM |
Depends on | lib | libavmwdt.so | 21 | 7.61 - 8.00 | AVM-Watchdogs management API | AVM |
Depends on | lib | libboxenv.so | 20 | 7.90 - 8.00 | API to the rc.conf enhanced Config-Environment | AVM |
Depends on | lib | libboxlib.so | 34 | 7.24 - 7.81 | Box status, logging and statistics functions | AVM |
Depends on | lib | libc.so | 34 | 7.24 - 8.00 | Standard C library | Linux |
Depends on | lib | libcore.so | 21 | 7.61 - 8.00 | Gathers the MAC addresses of the device and maintains its device mode. | AVM |
Depends on | lib | libcrypto.so | 27 | 7.39 - 7.81 | OpenSSL general crypto and X.509 library | Linux |
Depends on | lib | libdl.so | 5 | 7.24 - 8.00 | Dynamic linking library | Linux |
Depends on | lib | libdputil.so | 30 | 7.24 - 7.31 | DataPipe / packet utilities | AVM |
Depends on | lib | libewnwlinux.so | 34 | 7.24 - 8.00 | Linux networking functions | AVM |
Depends on | lib | libewnwnet.so | 34 | 7.24 - 7.81 | Internet helper functions | AVM |
Depends on | lib | libfbconf.so | 21 | 7.61 - 8.00 | API to hardcoded fbconf.cfg | AVM |
Depends on | lib | libmxml.so | 34 | 7.24 - 8.00 | Mini-XML parser / generator | Linux |
Depends on | lib | libpthread.so | 5 | 7.24 - 8.00 | POSIX threading library | Linux |
Depends on | lib | librt.so | 5 | 7.24 - 8.00 | POSIX realtime extensions library | Linux |
Depends on | lib | libsvctl.so | 34 | 7.24 - 8.00 | supervisor notification library | AVM |
Depends on | lib | libtiinterpreter.so | 27 | 7.39 - 7.81 | Preprocessor for SSI-Files by TI. | AVM |
Depends on | lib | libwdt.so | 31 | 7.24 - 7.81 | AVM-Watchdogs management API | AVM |
Depends on | lib | libwebkpiclient.so | 27 | 7.39 - 8.00 | KPI sensor for system parts which use HTTP / HTTPS | AVM |
Depends on | lib | libwebsrv.so | 34 | 7.24 - 8.00 | HTTP / HTTPS webserver and tools. | AVM |
Depends on | lib | libz.so | 34 | 7.24 - 8.00 | Zlib compressor / decompressor | Linux |
29 dependencies for this command |
Model-Matrix
Daily updated index of the presence, path and size of this command for each model. Last update: 2025-02-01 05:39 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 3490 (main) | 7.27 - 7.30 | /sbin | 31.4k |
FRITZ!Box 4040 | 7.24 - 8.00 | /sbin | 29.7k - 29.8k |
FRITZ!Box 4050 | 7.58 - 7.90 | /sbin | 29.7k |
FRITZ!Box 4060 | 7.29 - 7.90 | /sbin | 29.7k - 29.9k |
FRITZ!Box 5490 (main) | 7.27 - 7.29 | /sbin | 31.4k |
FRITZ!Box 5491 (main) | 7.27 - 7.29 | /sbin | 31.4k |
FRITZ!Box 5590 Fiber (main) | 7.29 - 8.00 | /sbin | 29.7k - 29.9k |
FRITZ!Box 5690 Pro (main) | 7.62 | /sbin | 29.7k |
FRITZ!Box 6430 Cable (atom) | 7.29 | /sbin | 29.7k |
FRITZ!Box 6490 Cable (atom) | 7.24 - 7.51 | /sbin | 25.7k - 29.7k |
FRITZ!Box 6590 Cable (atom) | 7.24 - 7.51 | /sbin | 25.7k - 29.7k |
FRITZ!Box 6591 Cable (atom) | 7.24 - 8.00 | /sbin | 29.8k - 33.9k |
FRITZ!Box 6660 Cable (atom) | 7.24 - 8.00 | /sbin | 29.8k - 33.9k |
FRITZ!Box 6670 Cable (atom) | 7.61 - 7.90 | /sbin | 33.9k - 34.0k |
FRITZ!Box 6690 Cable (atom) | 7.28 - 7.90 | /sbin | 29.8k - 33.9k |
FRITZ!Box 6850 LTE | 7.24 - 7.90 | /sbin | 29.7k - 31.5k |
FRITZ!Box 6850 5G | 7.24 - 7.90 | /sbin | 29.7k - 29.8k |
FRITZ!Box 6890 LTE (main) | 7.24 - 7.57 | /sbin | 31.3k - 31.5k |
FRITZ!Box 6890 LTE v1 (main) | 7.24 - 7.57 | /sbin | 31.3k - 31.5k |
FRITZ!Box 6890 LTE v2 (main) | 7.24 - 7.57 | /sbin | 31.3k - 31.5k |
FRITZ!Box 7430 (main) | 7.28 - 7.31 | /sbin | 31.4k |
FRITZ!Box 7490 (main) | 7.24 - 7.51 | /sbin | 31.4k |
FRITZ!Box 7510 | 7.30 - 8.00 | /sbin | 29.7k - 29.9k |
FRITZ!Box 7520 | 7.25 - 8.00 | /sbin | 29.7k - 29.8k |
FRITZ!Box 7520 v2 (main) | 7.30 - 8.00 | /sbin | 29.7k - 29.8k |
FRITZ!Box 7530 | 7.24 - 8.00 | /sbin | 29.7k - 29.8k |
FRITZ!Box 7530 AX | 7.24 - 8.00 | /sbin | 29.8k - 29.9k |
FRITZ!Box 7560 (main) | 7.24 - 7.30 | /sbin | 31.5k |
FRITZ!Box 7580 (main) | 7.24 - 7.30 | /sbin | 31.5k |
FRITZ!Box 7583 (main) | 7.27 - 7.59 | /sbin | 31.3k - 31.5k |
FRITZ!Box 7583 VDSL (main) | 7.27 - 8.00 | /sbin | 31.3k - 31.5k |
FRITZ!Box 7590 (main) | 7.24 - 8.00 | /sbin | 31.3k - 31.5k |
FRITZ!Box 7590 AX (main) | 7.24 - 8.00 | /sbin | 31.3k - 31.5k |
FRITZ!Box 7690 | 7.61 - 7.90 | /sbin | 29.7k |
34 models use this command |
Symbols
Daily updated index of all symbols of this command. Last update: 2025-02-01 07:40 GMT.
Firmware | Symbol |
---|---|
7.24 - 8.00 | free_wsd_message |
7.24 - 8.00 | main |
7.24 - 8.00 | wsd_xml_parse_dgram |
3 symbols for this command |