xref: /freebsd/usr.sbin/devctl/devctl.8 (revision 123af6ec70016f5556da5972d4d63c7d175c06d3)
1.\"
2.\" Copyright (c) 2015 John Baldwin <jhb@FreeBSD.org>
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\"    notice, this list of conditions and the following disclaimer.
9.\" 2. Redistributions in binary form must reproduce the above copyright
10.\"    notice, this list of conditions and the following disclaimer in the
11.\"    documentation and/or other materials provided with the distribution.
12.\"
13.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23.\" SUCH DAMAGE.
24.\"
25.\" $FreeBSD$
26.\"
27.Dd August 29, 2016
28.Dt DEVCTL 8
29.Os
30.Sh NAME
31.Nm devctl
32.Nd device control utility
33.Sh SYNOPSIS
34.Nm
35.Cm attach
36.Ar device
37.Nm
38.Cm clear driver
39.Op Fl f
40.Ar device
41.Nm
42.Cm detach
43.Op Fl f
44.Ar device
45.Nm
46.Cm disable
47.Op Fl f
48.Ar device
49.Nm
50.Cm enable
51.Ar device
52.Nm
53.Cm suspend
54.Ar device
55.Nm
56.Cm resume
57.Ar device
58.Nm
59.Cm set driver
60.Op Fl f
61.Ar device driver
62.Nm
63.Cm rescan
64.Ar device
65.Nm
66.Cm delete
67.Op Fl f
68.Ar device
69.Sh DESCRIPTION
70The
71.Nm
72utility adjusts the state of individual devices in the kernel's
73internal device hierarchy.
74Each invocation of
75.Nm
76consists of a single command followed by command-specific arguments.
77Each command operates on a single device specified via the
78.Ar device
79argument.
80The
81.Ar device
82may be specified either as the name of an existing device or as a
83bus-specific address.
84More details on supported address formats can be found in
85.Xr devctl 3 .
86.Pp
87The following commands are supported:
88.Bl -tag -width indent
89.It Cm attach Ar device
90Force the kernel to re-probe the device.
91If a suitable driver is found,
92it is attached to the device.
93.It Xo Cm detach
94.Op Fl f
95.Ar device
96.Xc
97Detach the device from its current device driver.
98If the
99.Fl f
100flag is specified,
101the device driver will be detached even if the device is busy.
102.It Xo Cm disable
103.Op Fl f
104.Ar device
105.Xc
106Disable a device.
107If the device is currently attached to a device driver,
108the device driver will be detached from the device,
109but the device will retain its current name.
110If the
111.Fl f
112flag is specified,
113the device driver will be detached even if the device is busy.
114.It Cm enable Ar device
115Enable a device.
116The device will probe and attach if a suitable device driver is found.
117Note that this can re-enable a device disabled at boot time via a
118loader tunable.
119.It Cm suspend Ar device
120Suspend a device.
121This may include placing the device in a reduced power state.
122.It Cm resume Ar device
123Resume a suspended device to a fully working state.
124.It Xo Cm set driver
125.Op Fl f
126.Ar device driver
127.Xc
128Force the device to use a device driver named
129.Ar driver .
130If the device is already attached to a device driver and the
131.Fl f
132flag is specified,
133the device will be detached from its current device driver before it is
134attached to the new device driver.
135If the device is already attached to a device driver and the
136.Fl f
137flag is not specified,
138the device will not be changed.
139.It Xo Cm clear driver
140.Op Fl f
141.Ar device
142.Xc
143Clear a previously-forced driver name so that the device is able to use any
144valid device driver.
145After the previous name has been cleared,
146the device is reprobed so that other device drivers may attach to it.
147This can be used to undo an earlier
148.Cm set driver
149command.
150If the device is currently attached to a device driver and the
151.Fl f
152flag is not specified,
153the device will not be changed.
154.It Cm rescan Ar device
155Rescan a bus device checking for devices that have been added or
156removed.
157.It Xo Cm delete
158.Op Fl f
159.Ar device
160.Xc
161Delete the device from the device tree.
162If the
163.Fl f
164flag is specified,
165the device will be deleted even if it is physically present.
166This command should be used with care as a device that is deleted but present
167can no longer be used unless the parent bus device rediscovers the device via
168a rescan request.
169.El
170.Sh SEE ALSO
171.Xr devctl 3 ,
172.Xr devinfo 8
173.Sh HISTORY
174The
175.Nm
176utility first appeared in
177.Fx 10.3 .
178