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.

0
U

Property:pcd (chipcmd)

From BoxMatrix


BoxMatrix >> Shell-Commands >> pcd (chipcmd) @ 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

Info
  
Name-Collision - multiple objects in this wiki use the name pcd!
pcd (chipcmd) Process Control Daemon, a supervisor alike service manager daemon.
pcd (process) Process Control Daemon, a supervisor alike service manager daemon.

Chipset-Command

Goto:   Rules  -  API  -  Examples  -  Dependencies   -   Model-Matrix   -   Symbols   -   SMW-Browser

Details

pcd is a Process Control Daemon, a supervisor alike service manager daemon designed to speed up system boot time.

It is used on all cable models, always running on the ARM side which contains the DOCSIS stack.

Excerpt from the PCD homepage:

PCD (Process Control Daemon), is an open source, light-weight, system level process manager 
for Embedded Linux based products (Consumer electronics, network devices, and more). With PCD 
in control, it is guaranteed that the system’s boot up time will be reduced, and its reliability,
availability and robustness will be enhanced.

Fw 7.29 help:

Usage: pcd [options]

Options:
-f FILE, --file=FILE            Specify PCD rules file.
-p, --print                     Print parsed configuration.
-v, --verbose                   Verbose display.
-t tick, --timer-tick=tick      Setup timer ticks in ms (default 200ms).
-e FILE, --errlog=FILE          Specify error log file (in nvram).
-h, --help                      Print this message and exit.

Rules

pcd is configured by rule files also called scripts, *.pcd text files located in /etc/scripts.
Their purpose is similar to the *.sercive files of supervisor., but they are more advanced

Excerpt from the PCD Scripts documentation:

The PCD script, or Rule file is the actual input to the PCD. The script file is a human readable
text file, and it is composed of “Rule Blocks”. Each Rule block defines which process to start, 
when to start it, in which priority to run it, what recovery action to take when it fails, and 
more. A rule block is associated with a single process. The Rule Blocks have a uniform structure 
and composed of a set of commands, according to the following syntax, where lines that start with 
a # mark are remark lines which the PCD ignores.

TODO: List all PCD rules here.

API

pcd does not have a specific control command like svctl for supervisor but provides an API.
This API can be compiled into an executable and provides functions similar to svctl.

Excerpt from the PCD API documentation:

The PCD provides additional API for every application in order to request services from the PCD, 
or retrieve information. The services that the PCD provides encapsulate the actual process name 
and id (pid might vary). The controlling application only needs to know the rule name in order 
to request a service.

6490 fw 7.29 PCD API usage:

Examples

Simplified from pacm_setup.sh fw 7.29:

killall watchdog_rt
pcd -f /etc/scripts/vsdk.pcd -p -t 20 -e /nvram/pcd_error_log.txt &  

pcd will reboot the system if it is terminated unless CONFIG_DOCSIS_PCD_NO_REBOOT is y which adds -d option.

Dependencies

Daily updated index of all dependencies of this command. Last update: 2024-04-19 07:32 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 pcd (process) 11* 5.24 - 7.61 Process Control Daemon, a supervisor alike service manager daemon. Puma
Depends on lib libc.so 11 4.85 - 7.62 Standard C library Linux
Depends on lib libcap.so 4 7.14 - 7.62 POSIX 1003.1e capabilities library Linux
Depends on lib libdl.so 7 4.85 - 7.57 Dynamic linking library Linux
Depends on lib libgcc_s.so 4 7.04 - 7.62 GCC low-level runtime library Linux
Depends on lib libslibc.so 4 7.14 - 7.62 Bounds-checking C functions for use with the GNU C library Linux
Depends on lib libticc.so 11 4.85 - 7.62 TODO Linux
7 dependencies for this command

Model-Matrix

Daily updated index of the presence, path and size of this command for each model. Last update: 2024-04-20 05:16 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 6320 Cable v1 6.03 - 6.04 /usr/sbin 54.8k - 54.9k
FRITZ!Box 6320 Cable v2 6.21 /usr/sbin 54.9k
FRITZ!Box 6340 Cable 5.24 /usr/sbin 50.4k
FRITZ!Box 6360 Cable 4.85 - 6.51 /usr/sbin 50.4k - 54.9k
FRITZ!Box 6430 Cable (arm) 6.84 - 7.29 /usr/sbin 38.1k - 42.4k
FRITZ!Box 6490 Cable (arm) 6.20 - 7.51 /usr/sbin 38.1k - 54.9k
FRITZ!Box 6590 Cable (arm) 6.83 - 7.57 /usr/sbin 38.1k - 42.4k
FRITZ!Box 6591 Cable (arm) 7.12 - 7.57 /usr/sbin 180k - 252k
FRITZ!Box 6660 Cable (arm) 7.14 - 7.57 /usr/sbin 242k - 252k
FRITZ!Box 6670 Cable (arm) 7.61 - 7.62 /usr/sbin 58.2k - 285k
FRITZ!Box 6690 Cable (arm) 7.28 - 7.57 /usr/sbin 242k - 252k
11 models use this command

Symbols

Daily updated index of all symbols of this command. Last update: 2024-04-19 07:32 GMT.

Firmware Symbol
0 symbols for this command

SMW-Browser

Information is currently being retrieved from the backend.