xref: /dflybsd-src/sbin/devd/devd.8 (revision 0b674f7495e4f156f5047bf3c1e8130298011973)
171fc104fSHasso Tepper.\"
271fc104fSHasso Tepper.\" Copyright (c) 2002 M. Warner Losh.
371fc104fSHasso Tepper.\" All rights reserved.
471fc104fSHasso Tepper.\"
571fc104fSHasso Tepper.\" Redistribution and use in source and binary forms, with or without
671fc104fSHasso Tepper.\" modification, are permitted provided that the following conditions
771fc104fSHasso Tepper.\" are met:
871fc104fSHasso Tepper.\" 1. Redistributions of source code must retain the above copyright
971fc104fSHasso Tepper.\"    notice, this list of conditions and the following disclaimer.
1071fc104fSHasso Tepper.\" 2. Redistributions in binary form must reproduce the above copyright
1171fc104fSHasso Tepper.\"    notice, this list of conditions and the following disclaimer in the
1271fc104fSHasso Tepper.\"    documentation and/or other materials provided with the distribution.
1371fc104fSHasso Tepper.\"
1471fc104fSHasso Tepper.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
1571fc104fSHasso Tepper.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1671fc104fSHasso Tepper.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1771fc104fSHasso Tepper.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
1871fc104fSHasso Tepper.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
1971fc104fSHasso Tepper.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
2071fc104fSHasso Tepper.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
2171fc104fSHasso Tepper.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
2271fc104fSHasso Tepper.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
2371fc104fSHasso Tepper.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
2471fc104fSHasso Tepper.\" SUCH DAMAGE.
2571fc104fSHasso Tepper.\"
2675627d21SSascha Wildner.\" $FreeBSD: head/sbin/devd/devd.8 270004 2014-08-14 22:33:56Z asomers $
2771fc104fSHasso Tepper.\"
28*0b674f74SSascha Wildner.Dd September 29, 2016
2971fc104fSHasso Tepper.Dt DEVD 8
3071fc104fSHasso Tepper.Os
3171fc104fSHasso Tepper.Sh NAME
3271fc104fSHasso Tepper.Nm devd
3371fc104fSHasso Tepper.Nd "device state change daemon"
3471fc104fSHasso Tepper.Sh SYNOPSIS
3571fc104fSHasso Tepper.Nm
36e348c2adSSascha Wildner.Op Fl dnq
3771fc104fSHasso Tepper.Op Fl f Ar file
38e348c2adSSascha Wildner.Op Fl l Ar num
3971fc104fSHasso Tepper.Sh DESCRIPTION
4071fc104fSHasso TepperThe
4171fc104fSHasso Tepper.Nm
4271fc104fSHasso Tepperdaemon provides a way to have userland programs run when certain
4371fc104fSHasso Tepperkernel events happen.
4471fc104fSHasso Tepper.Pp
4571fc104fSHasso TepperThe following options are accepted.
4671fc104fSHasso Tepper.Bl -tag -width ".Fl f Ar file"
4771fc104fSHasso Tepper.It Fl d
48e348c2adSSascha WildnerRun in the foreground instead of becoming a daemon and log additional information for debugging.
4971fc104fSHasso Tepper.It Fl f Ar file
5071fc104fSHasso TepperUse configuration file
5171fc104fSHasso Tepper.Ar file
5271fc104fSHasso Tepperinstead of the default
5371fc104fSHasso Tepper.Pa /etc/devd.conf .
5471fc104fSHasso TepperIf option
5571fc104fSHasso Tepper.Fl f
5671fc104fSHasso Tepperis specified more than once, the last file specified is used.
57e348c2adSSascha Wildner.It Fl l Ar num
5875627d21SSascha WildnerLimit concurrent socket connections to
59e348c2adSSascha Wildner.Ar num .
60e348c2adSSascha WildnerThe default connection limit is 10.
6171fc104fSHasso Tepper.It Fl n
6271fc104fSHasso TepperDo not process all pending events before becoming a daemon.
6371fc104fSHasso TepperInstead, call daemon right away.
64e348c2adSSascha Wildner.It Fl q
65e348c2adSSascha WildnerQuiet mode.  Only log messages at priority LOG_WARNING or above.
6671fc104fSHasso Tepper.El
6771fc104fSHasso Tepper.Sh IMPLEMENTATION NOTES
6871fc104fSHasso TepperThe
6971fc104fSHasso Tepper.Nm
7071fc104fSHasso Tepperutility
7171fc104fSHasso Tepperis a system daemon that runs in the background all the time.
7271fc104fSHasso TepperWhenever a device is added to or removed from the device tree,
7371fc104fSHasso Tepper.Nm
7471fc104fSHasso Tepperwill execute actions specified in
7571fc104fSHasso Tepper.Xr devd.conf 5 .
7671fc104fSHasso TepperFor example,
7771fc104fSHasso Tepper.Nm
7871fc104fSHasso Teppermight execute
7971fc104fSHasso Tepper.Xr dhclient 8
8071fc104fSHasso Tepperwhen an Ethernet adapter is added to the system, and kill the
8171fc104fSHasso Tepper.Xr dhclient 8
8271fc104fSHasso Tepperinstance when the same adapter is removed.
8371fc104fSHasso TepperAnother example would be for
8471fc104fSHasso Tepper.Nm
8571fc104fSHasso Tepperto use a table to locate and load via
8671fc104fSHasso Tepper.Xr kldload 8
8771fc104fSHasso Tepperthe proper driver for an unrecognized device that is added to the system.
8871fc104fSHasso Tepper.Pp
8971fc104fSHasso TepperThe
9071fc104fSHasso Tepper.Nm
9171fc104fSHasso Tepperutility
9271fc104fSHasso Tepperhooks into the
9371fc104fSHasso Tepper.Xr devctl 4
9471fc104fSHasso Tepperdevice driver.
9571fc104fSHasso TepperThis device driver has hooks into the device configuration system.
9671fc104fSHasso TepperWhen nodes are added or deleted from the tree, this device will
9771fc104fSHasso Tepperdeliver information about the event to
9871fc104fSHasso Tepper.Nm .
9971fc104fSHasso TepperOnce
10071fc104fSHasso Tepper.Nm
10171fc104fSHasso Tepperhas parsed the message, it will search its action list for that kind
10271fc104fSHasso Tepperof event and perform the action with the highest matching value.
10371fc104fSHasso TepperFor most mundane uses, the default handlers are adequate.
10471fc104fSHasso TepperHowever, for more advanced users, the power is present to tweak every
10571fc104fSHasso Tepperaspect of what happens.
10671fc104fSHasso Tepper.Pp
10771fc104fSHasso TepperThe
10871fc104fSHasso Tepper.Nm
10971fc104fSHasso Tepperutility
11071fc104fSHasso Tepperreads
11171fc104fSHasso Tepper.Pa /etc/devd.conf
11271fc104fSHasso Tepperor the alternate configuration file specified with a
11371fc104fSHasso Tepper.Fl f
11471fc104fSHasso Tepperoption and uses that file to drive the rest of the process.
11571fc104fSHasso TepperWhile the format of this file is described in
11671fc104fSHasso Tepper.Xr devd.conf 5 ,
11771fc104fSHasso Teppersome basics are covered here.
11871fc104fSHasso TepperIn the
11971fc104fSHasso Tepper.Ic options
12071fc104fSHasso Teppersection, one can define multiple directories to search
12171fc104fSHasso Tepperfor config files.
12271fc104fSHasso TepperAll files in these directories whose names match the pattern
12371fc104fSHasso Tepper.Pa *.conf
12471fc104fSHasso Tepperare parsed.
12571fc104fSHasso TepperThese files are intended to be installed by third party vendors that
12671fc104fSHasso Tepperwish to hook into the
12771fc104fSHasso Tepper.Nm
12871fc104fSHasso Teppersystem without modifying the user's other
12971fc104fSHasso Tepperconfig files.
13071fc104fSHasso Tepper.Pp
13175627d21SSascha WildnerSince
13275627d21SSascha Wildner.Xr devctl 4
13375627d21SSascha Wildnerallows only one active reader,
13471fc104fSHasso Tepper.Nm
13575627d21SSascha Wildnermultiplexes it, forwarding all events to any number of connected clients.
13675627d21SSascha WildnerClients connect by opening the SOCK_SEQPACKET
13771fc104fSHasso Tepper.Ux
13871fc104fSHasso Tepperdomain socket at
13975627d21SSascha Wildner.Pa /var/run/devd.seqpacket.pipe .
14071fc104fSHasso Tepper.Sh FILES
14175627d21SSascha Wildner.Bl -tag -width ".Pa /var/run/devd.seqpacket.pipe" -compact
14271fc104fSHasso Tepper.It Pa /etc/devd.conf
14371fc104fSHasso TepperThe default
14471fc104fSHasso Tepper.Nm
14571fc104fSHasso Tepperconfiguration file.
14675627d21SSascha Wildner.It Pa /var/run/devd.seqpacket.pipe
14771fc104fSHasso TepperThe socket used by
14871fc104fSHasso Tepper.Nm
14971fc104fSHasso Tepperto communicate with its clients.
15075627d21SSascha Wildner.It Pa /var/run/devd.pipe
15175627d21SSascha WildnerA deprecated socket retained for use with old clients.
15271fc104fSHasso Tepper.El
15371fc104fSHasso Tepper.Sh SEE ALSO
15471fc104fSHasso Tepper.Xr devctl 4 ,
15571fc104fSHasso Tepper.Xr devd.conf 5
156*0b674f74SSascha Wildner.Sh HISTORY
157*0b674f74SSascha WildnerThe
158*0b674f74SSascha Wildner.Nm
159*0b674f74SSascha Wildnercommand appeared in
160*0b674f74SSascha Wildner.Fx 5.0 .
161*0b674f74SSascha Wildner.Nm
162*0b674f74SSascha Wildnerfirst appeared in
163*0b674f74SSascha Wildner.Dx 2.1 .
16471fc104fSHasso Tepper.Sh AUTHORS
16571fc104fSHasso Tepper.An M. Warner Losh
166