xref: /dragonfly/share/man/man4/ipmi.4 (revision 7670f87f)
153a374c1SSascha Wildner.\"
253a374c1SSascha Wildner.\" Copyright (c) 2006 Tom Rhodes
353a374c1SSascha Wildner.\" All rights reserved.
453a374c1SSascha Wildner.\"
553a374c1SSascha Wildner.\" Redistribution and use in source and binary forms, with or without
653a374c1SSascha Wildner.\" modification, are permitted provided that the following conditions
753a374c1SSascha Wildner.\" are met:
853a374c1SSascha Wildner.\" 1. Redistributions of source code must retain the above copyright
953a374c1SSascha Wildner.\"    notice, this list of conditions and the following disclaimer.
1053a374c1SSascha Wildner.\" 2. Redistributions in binary form must reproduce the above copyright
1153a374c1SSascha Wildner.\"    notice, this list of conditions and the following disclaimer in the
1253a374c1SSascha Wildner.\"    documentation and/or other materials provided with the distribution.
1353a374c1SSascha Wildner.\"
1453a374c1SSascha Wildner.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
1553a374c1SSascha Wildner.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1653a374c1SSascha Wildner.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1753a374c1SSascha Wildner.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
1853a374c1SSascha Wildner.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
1953a374c1SSascha Wildner.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
2053a374c1SSascha Wildner.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
2153a374c1SSascha Wildner.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
2253a374c1SSascha Wildner.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
2353a374c1SSascha Wildner.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
2453a374c1SSascha Wildner.\" SUCH DAMAGE.
2553a374c1SSascha Wildner.\"
2653a374c1SSascha Wildner.\" $FreeBSD: head/share/man/man4/ipmi.4 267938 2014-06-26 21:46:14Z bapt $
2753a374c1SSascha Wildner.\"
2853a374c1SSascha Wildner.Dd December 14, 2014
2953a374c1SSascha Wildner.Dt IPMI 4
3053a374c1SSascha Wildner.Os
3153a374c1SSascha Wildner.Sh NAME
3253a374c1SSascha Wildner.Nm ipmi
3353a374c1SSascha Wildner.Nd "OpenIPMI compatible IPMI interface driver"
3453a374c1SSascha Wildner.Sh SYNOPSIS
3553a374c1SSascha Wildner.Cd "device ipmi"
3653a374c1SSascha Wildner.\".Pp
3753a374c1SSascha Wildner.\"To manually specify I/O attachment in
3853a374c1SSascha Wildner.\".Pa /boot/device.hints :
3953a374c1SSascha Wildner.\".Cd hint.ipmi.0.at="isa"
4053a374c1SSascha Wildner.\".Cd hint.ipmi.0.port="0xCA2"
4153a374c1SSascha Wildner.\".Cd hint.ipmi.0.spacing="8"
4253a374c1SSascha Wildner.\".Cd hint.ipmi.0.mode="KCS"
4353a374c1SSascha Wildner.\".Pp
4453a374c1SSascha Wildner.\"To manually specify memory attachment in
4553a374c1SSascha Wildner.\".Pa /boot/device.hints :
4653a374c1SSascha Wildner.\".Cd hint.ipmi.0.at="isa"
4753a374c1SSascha Wildner.\".Cd hint.ipmi.0.maddr="0xf0000000"
4853a374c1SSascha Wildner.\".Cd hint.ipmi.0.spacing="8"
4953a374c1SSascha Wildner.\".Cd hint.ipmi.0.mode="SMIC"
5053a374c1SSascha Wildner.\".Pp
5153a374c1SSascha Wildner.\"Meaning of
5253a374c1SSascha Wildner.\".Ar spacing :
5353a374c1SSascha Wildner.\".Bl -tag -offset indent -compact -width 0x0
5453a374c1SSascha Wildner.\".It 8
5553a374c1SSascha Wildner.\"8 bit alignment
5653a374c1SSascha Wildner.\".It 16
5753a374c1SSascha Wildner.\"16 bit alignment
5853a374c1SSascha Wildner.\".It 32
5953a374c1SSascha Wildner.\"32 bit alignment
6053a374c1SSascha Wildner.\".El
6153a374c1SSascha Wildner.\".Pp
6253a374c1SSascha Wildner.\"If the
6353a374c1SSascha Wildner.\".Ar port
6453a374c1SSascha Wildner.\"and
6553a374c1SSascha Wildner.\".Ar spacing
6653a374c1SSascha Wildner.\"are not specified the interface type default will be used.  Only specify
6753a374c1SSascha Wildner.\"either the
6853a374c1SSascha Wildner.\".Ar port
6953a374c1SSascha Wildner.\"for I/O access or
7053a374c1SSascha Wildner.\".Ar maddr
7153a374c1SSascha Wildner.\"for memory access.
7253a374c1SSascha Wildner.Sh DESCRIPTION
7353a374c1SSascha WildnerThe
7453a374c1SSascha Wildner.Tn IPMI
7553a374c1SSascha Wildner(Intelligent Platform Management Interface) is a standard for
7653a374c1SSascha Wildnermonitoring system hardware by permitting generic code to detect
7753a374c1SSascha Wildnerand monitor the sensors in a system.
7853a374c1SSascha WildnerThe
7953a374c1SSascha Wildner.Tn IPMI
8053a374c1SSascha Wildnerstandard offers watchdog support, an FRU database, and other
8153a374c1SSascha Wildnersupport extensions.
8253a374c1SSascha WildnerIt is currently being adopted by the makers of many
8353a374c1SSascha Wildnersingle board and embedded system manufacturers.
8453a374c1SSascha Wildner.Pp
8553a374c1SSascha WildnerThe
8653a374c1SSascha Wildner.Nm
8753a374c1SSascha Wildnerdriver in
8853a374c1SSascha Wildner.Dx
8953a374c1SSascha Wildneris heavily adopted from the standard and
9053a374c1SSascha Wildner.Tn Linux
9153a374c1SSascha Wildnerdriver; however, not all features described in the
9253a374c1SSascha Wildnerstandard are supported.
93*7670f87fSMarkus Pfeiffer.Sh SYSCTL VARIABLES
94*7670f87fSMarkus PfeifferThe following
95*7670f87fSMarkus Pfeiffer.Xr sysctl 8
96*7670f87fSMarkus Pfeiffervariables are available:
97*7670f87fSMarkus Pfeiffer.Bl -tag -width ".Va dev.ipmi.%d.watchdog_timeout"
98*7670f87fSMarkus Pfeiffer.It Va dev.ipmi.%d.watchdog_enable
99*7670f87fSMarkus PfeifferEnable watchdog functionality.
100*7670f87fSMarkus Pfeiffer.It Va dev.ipmi.%d.watchdog_timeout
101*7670f87fSMarkus PfeifferSet the watchdog timeout.
102*7670f87fSMarkus Pfeiffer.El
10353a374c1SSascha Wildner.Sh IOCTLS
10453a374c1SSascha WildnerSending and receiving messages through the
10553a374c1SSascha Wildner.Nm
10653a374c1SSascha Wildnerdriver requires the use of
10753a374c1SSascha Wildner.Xr ioctl 2 .
10853a374c1SSascha WildnerThe ioctls are used due to the complexity of
10953a374c1SSascha Wildnerdata sent to and from the device.
11053a374c1SSascha WildnerThe
11153a374c1SSascha Wildner.Xr ioctl 2
11253a374c1SSascha Wildnercommand codes below are defined in
11353a374c1SSascha Wildner.In sys/ipmi.h .
11453a374c1SSascha WildnerThe third argument to
11553a374c1SSascha Wildner.Xr ioctl 2
11653a374c1SSascha Wildnershould be a pointer to the type indicated.
11753a374c1SSascha Wildner.Pp
11853a374c1SSascha WildnerCurrently the following ioctls are supported:
11953a374c1SSascha Wildner.Bl -tag -width indent
12053a374c1SSascha Wildner.It Dv IPMICTL_RECEIVE_MSG Pq Vt "struct ipmi_recv"
12153a374c1SSascha WildnerReceive a message.
12253a374c1SSascha WildnerPossible error values:
12353a374c1SSascha Wildner.Bl -tag -width Er
12453a374c1SSascha Wildner.It Bq Er EAGAIN
12553a374c1SSascha WildnerNo messages are in the process queue.
12653a374c1SSascha Wildner.It Bq Er EFAULT
12753a374c1SSascha WildnerAn address supplied was invalid.
12853a374c1SSascha Wildner.It Bq Er EMSGSIZE
12953a374c1SSascha WildnerThe address could not fit in the message buffer and
13053a374c1SSascha Wildnerwill remain in the buffer.
13153a374c1SSascha Wildner.El
13253a374c1SSascha Wildner.It Dv IPMICTL_RECEIVE_MSG_TRUNC Pq Vt "struct ipmi_recv"
13353a374c1SSascha WildnerLike
13453a374c1SSascha Wildner.Dv IPMICTL_RECEIVE_MSG
13553a374c1SSascha Wildnerbut if the message cannot fit into the buffer, it
13653a374c1SSascha Wildnerwill truncate the contents instead of leaving the data
13753a374c1SSascha Wildnerin the buffer.
13853a374c1SSascha Wildner.It Dv IPMICTL_SEND_COMMAND Pq Vt "struct ipmi_req"
13953a374c1SSascha WildnerSend a message to the interface.
14053a374c1SSascha WildnerPossible error values:
14153a374c1SSascha Wildner.Bl -tag -width Er
14253a374c1SSascha Wildner.It Bq Er EFAULT
14353a374c1SSascha WildnerAn address supplied was invalid.
14453a374c1SSascha Wildner.It Bq Er ENOMEM
14553a374c1SSascha WildnerBuffers could not be allowed for the command, out of memory.
14653a374c1SSascha Wildner.El
14753a374c1SSascha Wildner.It Dv IPMICTL_SET_MY_ADDRESS_CMD Pq Vt "unsigned int"
14853a374c1SSascha WildnerSet the slave address for source messages.
14953a374c1SSascha Wildner.It Dv IPMICTL_GET_MY_ADDRESS_CMD Pq Vt "unsigned int"
15053a374c1SSascha WildnerGet the slave address for source messages.
15153a374c1SSascha Wildner.It Dv IPMICTL_SET_MY_LUN_CMD Pq Vt "unsigned int"
15253a374c1SSascha WildnerSet the slave LUN for source messages.
15353a374c1SSascha Wildner.It Dv IPMICTL_GET_MY_LUN_CMD Pq Vt "unsigned int"
15453a374c1SSascha WildnerGet the slave LUN for source messages.
15553a374c1SSascha Wildner.El
15653a374c1SSascha Wildner.Ss Unimplemented Ioctls
15753a374c1SSascha Wildner.Bl -tag -width indent
15853a374c1SSascha Wildner.It Dv IPMICTL_REGISTER_FOR_CMD Pq Vt "struct ipmi_cmdspec"
15953a374c1SSascha WildnerRegister to receive a specific command.
16053a374c1SSascha WildnerPossible error values:
16153a374c1SSascha Wildner.Bl -tag -width Er
16253a374c1SSascha Wildner.It Bq Er EFAULT
16353a374c1SSascha WildnerAn supplied address was invalid.
16453a374c1SSascha Wildner.It Bq Er EBUSY
16553a374c1SSascha WildnerThe network function/command is already in use.
16653a374c1SSascha Wildner.It Bq Er ENOMEM
16753a374c1SSascha WildnerCould not allocate memory.
16853a374c1SSascha Wildner.El
16953a374c1SSascha Wildner.It Dv IPMICTL_UNREGISTER_FOR_CMD Pq Vt "struct ipmi_cmdspec"
17053a374c1SSascha WildnerUnregister to receive a specific command.
17153a374c1SSascha WildnerPossible error values:
17253a374c1SSascha Wildner.Bl -tag -width Er
17353a374c1SSascha Wildner.It Bq Er EFAULT
17453a374c1SSascha WildnerAn address supplied was invalid.
17553a374c1SSascha Wildner.It Bq Er ENOENT
17653a374c1SSascha WildnerThe network function/command was not found.
17753a374c1SSascha Wildner.El
17853a374c1SSascha Wildner.El
17953a374c1SSascha Wildner.Ss Stub Only Ioctl
18053a374c1SSascha Wildner.Bl -tag -width indent
18153a374c1SSascha Wildner.It Dv IPMICTL_SET_GETS_EVENTS_CMD Pq Vt int
18253a374c1SSascha WildnerSet whether this interface receives events.
18353a374c1SSascha WildnerPossible error values:
18453a374c1SSascha Wildner.Bl -tag -width Er
18553a374c1SSascha Wildner.It Bq Er EFAULT
18653a374c1SSascha WildnerAn address supplied was invalid.
18753a374c1SSascha Wildner.El
18853a374c1SSascha Wildner.El
18953a374c1SSascha Wildner.Sh SEE ALSO
19053a374c1SSascha Wildner.Xr ioctl 2 ,
19153a374c1SSascha Wildner.Xr watchdog 4 ,
19253a374c1SSascha Wildner.\".Xr watchdog 8 ,
19353a374c1SSascha Wildner.Xr watchdogd 8 ,
19453a374c1SSascha Wildner.Xr wdog 9
19553a374c1SSascha Wildner.Sh HISTORY
19653a374c1SSascha WildnerThe
19753a374c1SSascha Wildner.Nm
19853a374c1SSascha Wildnerdriver first appeared in
19953a374c1SSascha Wildner.Fx 6.2 .
20053a374c1SSascha WildnerIt was imported to
20153a374c1SSascha Wildner.Dx 4.1 .
20253a374c1SSascha Wildner.Sh AUTHORS
20353a374c1SSascha Wildner.An -nosplit
20453a374c1SSascha WildnerThe
20553a374c1SSascha Wildner.Nm
20653a374c1SSascha Wildnerdriver was written by
20753a374c1SSascha Wildner.An Doug Ambrisko Aq Mt ambrisko@FreeBSD.org .
20853a374c1SSascha WildnerThis manual page was written by
20953a374c1SSascha Wildner.An Tom Rhodes Aq Mt trhodes@FreeBSD.org .
21053a374c1SSascha Wildner.Sh BUGS
21153a374c1SSascha WildnerNot all features of the MontaVista driver are supported.
21253a374c1SSascha Wildner.Pp
21353a374c1SSascha WildnerCurrently, IPMB and BT modes are not implemented.
214