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