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:wsdd (avmcmd)

From BoxMatrix


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 Gallery

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

Info
  
Name-Collision - multiple objects in this wiki use the name wsdd!
wsdd (avmcmd) Web Services Discovery daemon (WS-Discovery)
wsdd (process) Web Services Discovery daemon (WS-Discovery)

AVM-Command

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 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

Events

Daily updated index of AVM-Events and AVMIPC-Datastore nodes affecting this command. Last update: 2022-12-09 06:44 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 5** 7.29 - 7.39 Communication channel between routing dæmons and the kernel packet forwarding (#0) Linux
Multicast group RTMGRP_IPV4_IFADD 5** 7.29 - 7.39 IPv4 address change of a Network-Interface Linux
Multicast group RTMGRP_IPV4_ROUTE 5** 7.29 - 7.39 IPv4 Routing Table change Linux
Multicast group RTMGRP_IPV6_IFADDR 5** 7.29 - 7.39 IPv6 address change of a Network-Interface Linux
Multicast group RTMGRP_IPV6_ROUTE 5** 7.29 - 7.39 IPv6 Routing Table change Linux
Multicast group RTMGRP_LINK 5** 7.29 - 7.39 Creation / deletion or up / down change of a Network-Interface. Linux
Multicast group RTMGRP_NOTIFY 5** 7.29 - 7.39 Enable notification about changes in subscribed rtnetlink groups Linux
Multicast group RTMGRP_TC 5** 7.29 - 7.39 Packet Scheduler Traffic Control change Linux
Endpoint sock me_wsdd.ctl 11* 7.24 - 7.39 avmipc_command endpoint of wsdd AVM
Listens to avmipc @ 5** 7.29 - 7.39 Special event for listeners of nameless private messages. AVM
Listens to avmipc aicmd_listener 5** 7.29 - 7.39 Special event covering all aicmd compatible listeners. AVM
Listens to avmipc STATE_DEVICENAME_FBSTATE 1** 7.39 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: 2022-12-09 07:31 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) 11* 7.24 - 7.39 Web Services Discovery (WS-Discovery) daemon AVM
Serving port Port-3702-udp 11* 7.24 - 7.39 WS-Discovery - Web Services Dynamic Discovery AVM
Serving port Port-5357-tcp 11* 7.24 - 7.39 WSDAPI - Web Services Dynamic Discovery (WS-Discovery) AVM
Serving sock me_wsdd.ctl 11* 7.24 - 7.39 avmipc_command endpoint of wsdd AVM
Depends on lib ld.so 12 7.24 - 7.39 Dynamic linker / loader Linux
Depends on lib libavmauth.so 36 7.24 - 7.50 Fritzbox authentification helpers AVM
Depends on lib libavmcsock.so 36 7.24 - 7.50 Networking, I/O and helper functions AVM
Depends on lib libavmfbstate.so 22 7.39 - 7.50 IPC fritzbox state notification AVM
Depends on lib libavmhmac.so 36 7.24 - 7.50 HMAC / SHA / MD5 hashing. AVM
Depends on lib libboxlib.so 36 7.24 - 7.50 Box status, logging and statistics functions AVM
Depends on lib libc.so 36 7.24 - 7.50 Standard C library Linux
Depends on lib libcrypto.so 22 7.39 - 7.50 OpenSSL general crypto and X.509 library Linux
Depends on lib libdl.so 7 7.24 - 7.39 Dynamic linking library Linux
Depends on lib libdputil.so 36 7.24 - 7.31 DataPipe / packet utilities AVM
Depends on lib libewnwlinux.so 36 7.24 - 7.50 Linux networking functions AVM
Depends on lib libewnwnet.so 36 7.24 - 7.50 Internet helper functions AVM
Depends on lib libmxml.so 36 7.24 - 7.50 Mini-XML parser / generator Linux
Depends on lib libpthread.so 7 7.24 - 7.39 POSIX threading library Linux
Depends on lib librt.so 7 7.24 - 7.39 POSIX realtime extensions library Linux
Depends on lib libsvctl.so 36 7.24 - 7.50 supervisor control library AVM
Depends on lib libtiinterpreter.so 22 7.39 - 7.50 Preprocessor for SSI-Files by TI. AVM
Depends on lib libwdt.so 36 7.24 - 7.50 AVM-Watchdogs management API AVM
Depends on lib libwebkpiclient.so 19 7.39 - 7.50 KPI sensor for system parts which use HTTP / HTTPS AVM
Depends on lib libwebsrv.so 36 7.24 - 7.50 HTTP / HTTPS webserver and tools. AVM
Depends on lib libz.so 36 7.24 - 7.50 Zlib compressor / decompressor Linux
25 dependencies for this command

Model-Matrix

Daily updated index of the presence, path and size of this command for each model. Last update: 2022-12-09 05:58 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 3490 (main) 7.27 - 7.30 /sbin 31.4k
FRITZ!Box 4040 7.24 - 7.39 /sbin 29.7k
FRITZ!Box 4060 7.26 - 7.39 /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 (arm) 7.27 - 7.30 /sbin 29.9k
FRITZ!Box 6430 Cable (arm) 7.29 /sbin 29.7k
FRITZ!Box 6430 Cable (atom) 7.29 /sbin 29.7k
FRITZ!Box 6490 Cable (arm) 7.24 - 7.39 /sbin 25.7k - 29.7k
FRITZ!Box 6490 Cable (atom) 7.24 - 7.39 /sbin 25.7k - 29.7k
FRITZ!Box 6590 Cable (arm) 7.24 - 7.39 /sbin 25.7k - 29.7k
FRITZ!Box 6590 Cable (atom) 7.24 - 7.39 /sbin 25.7k - 29.7k
FRITZ!Box 6591 Cable (arm) 7.24 - 7.39 /sbin 29.8k - 33.9k
FRITZ!Box 6591 Cable (atom) 7.24 - 7.39 /sbin 29.8k - 33.9k
FRITZ!Box 6660 Cable (arm) 7.24 - 7.39 /sbin 29.8k - 33.9k
FRITZ!Box 6660 Cable (atom) 7.24 - 7.39 /sbin 29.8k - 33.9k
FRITZ!Box 6690 Cable (arm) 7.28 - 7.39 /sbin 29.8k - 33.9k
FRITZ!Box 6690 Cable (atom) 7.28 - 7.39 /sbin 29.8k - 33.9k
FRITZ!Box 6850 LTE 7.24 - 7.39 /sbin 29.7k - 31.5k
FRITZ!Box 6850 5G 7.24 - 7.39 /sbin 29.7k
FRITZ!Box 6890 LTE 7.24 - 7.39 /sbin 31.5k
FRITZ!Box 6890 LTE v1 7.24 - 7.39 /sbin 31.5k
FRITZ!Box 6890 LTE v2 7.24 - 7.39 /sbin 31.5k
FRITZ!Box 7430 7.28 - 7.29 /sbin 31.4k
FRITZ!Box 7490 (main) 7.24 - 7.39 /sbin 31.4k
FRITZ!Box 7510 7.30 /sbin 29.9k
FRITZ!Box 7520 7.25 - 7.29 /sbin 29.7k
FRITZ!Box 7520 v2 (arm) 7.30 - 7.31 /sbin 29.7k
FRITZ!Box 7530 7.24 - 7.39 /sbin 29.7k - 29.8k
FRITZ!Box 7530 AX 7.24 - 7.39 /sbin 29.8k - 29.9k
FRITZ!Box 7560 7.24 - 7.29 /sbin 31.5k
FRITZ!Box 7580 7.24 - 7.29 /sbin 31.5k
FRITZ!Box 7583 7.27 - 7.31 /sbin 31.5k
FRITZ!Box 7583 VDSL 7.27 - 7.31 /sbin 31.5k
FRITZ!Box 7590 7.24 - 7.50 /sbin 31.3k - 31.5k
FRITZ!Box 7590 AX 7.24 - 7.39 /sbin 31.3k - 31.5k
36 models use this command

Symbols

Daily updated index of all symbols of this command. Last update: 2022-12-09 07:31 GMT.

Firmware Symbol
7.24 - 7.50 free_wsd_message
7.24 - 7.50 main
7.24 - 7.50 wsd_xml_parse_dgram
3 symbols for this command

SMW-Browser

Information is currently being retrieved from the backend.