1 '\" 2 .\" CDDL HEADER START 3 .\" 4 .\" The contents of this file are subject to the terms of the 5 .\" Common Development and Distribution License (the "License"). 6 .\" You may not use this file except in compliance with the License. 7 .\" 8 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 .\" or http://www.opensolaris.org/os/licensing. 10 .\" See the License for the specific language governing permissions 11 .\" and limitations under the License. 12 .\" 13 .\" When distributing Covered Code, include this CDDL HEADER in each 14 .\" file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 .\" If applicable, add the following below this CDDL HEADER, with the 16 .\" fields enclosed by brackets "[]" replaced with your own identifying 17 .\" information: Portions Copyright [yyyy] [name of copyright owner] 18 .\" 19 .\" CDDL HEADER END 20 .\" 21 .\" Copyright (c) 2012, Joyent, Inc. All Rights Reserved 22 .\" Copyright 2013 Nexenta Systems, Inc. All rights reserved. 23 .\" 24 .TH IPMI 7D "Oct 31, 2013" 25 .SH NAME 26 ipmi \- OpenIPMI compatible IPMI interface driver 27 .SH SYNOPSIS 28 .LP 29 .nf 30 \fB/dev/ipmi0\fR 31 .fi 32 33 .SH DESCRIPTION 34 .sp 35 .LP 36 The \fBipmi\fR device is a character special file that provides access to the 37 Intelligent Platform Management Interface for the system. For more 38 information on \fBIPMI\fR and to obtain a copy of the \fBIPMI\fR 39 specification and implementation guidelines, refer to 40 http://www.intel.com/design/servers/ipmi/. 41 The driver is adapted from the FreeBSD driver which is in turn adapted from 42 the Linux driver, however, not all features described in the standard are 43 supported. The current implementation depends on the \fBsmbios\fR(7d) to 44 discover the existence of an IPMI device. 45 .sp 46 .LP 47 48 .SH IOCTLS 49 .sp 50 .LP 51 Sending and receiving messages through the IPMI drivers requires the use of 52 \fBioctl\fR(2). 53 54 The ioctl command codes below are defined in \fBsys/ipmi.h\fR. 55 The third argument to ioctl should be a pointer to the type indicated. 56 Currently the following ioctls are supported: 57 .RS +4 58 .TP 59 .ie t \(bu 60 .el o 61 IPMICTL_RECEIVE_MSG "struct ipmi_recv" 62 .br 63 Receive a message. 64 .br 65 Possible error values: 66 .RS +8 67 EAGAIN No messages are in the process queue. 68 .br 69 EFAULT An address supplied was invalid. 70 .br 71 EMSGSIZE The address could not fit in the message buffer and 72 will remain in the buffer. 73 .RE 74 .RE 75 76 .RS +4 77 .TP 78 .ie t \(bu 79 .el o 80 IPMICTL_RECEIVE_MSG_TRUNC "struct ipmi_recv" 81 .br 82 Like IPMICTL_RECEIVE_MSG but if the message cannot fit into the buffer, it 83 will truncate the contents instead of leaving the data in the buffer. 84 .RE 85 86 .RS +4 87 .TP 88 .ie t \(bu 89 .el o 90 IPMICTL_SEND_COMMAND "struct ipmi_req" 91 .br 92 Send a message to the interface. 93 .br 94 Possible error values: 95 .RS +8 96 EFAULT An address supplied was invalid 97 .br 98 ENOMEM Buffers could not be allowed for the command, out of memory. 99 .RE 100 .RE 101 102 .RS +4 103 .TP 104 .ie t \(bu 105 .el o 106 IPMICTL_SET_MY_ADDRESS_CMD "unsigned int" 107 .br 108 Set the slave address for source messages. 109 .RE 110 111 .RS +4 112 .TP 113 .ie t \(bu 114 .el o 115 IPMICTL_GET_MY_ADDRESS_CMD "unsigned int" 116 .br 117 Get the slave address for source messages. 118 .RE 119 120 .RS +4 121 .TP 122 .ie t \(bu 123 .el o 124 IPMICTL_SET_MY_LUN_CMD "unsigned int" 125 .br 126 Set the slave LUN for source messages. 127 .RE 128 129 .RS +4 130 .TP 131 .ie t \(bu 132 .el o 133 IPMICTL_GET_MY_LUN_CMD "unsigned int" 134 .br 135 Get the slave LUN for source messages. 136 .RE 137 138 Stub Only Ioctl 139 140 .RS +4 141 .TP 142 .ie t \(bu 143 .el o 144 IPMICTL_SET_GETS_EVENTS_CMD int 145 .br 146 Set whether this interface receives events. 147 .RE 148 149 Unimplemented Ioctls 150 151 .RS +4 152 .TP 153 .ie t \(bu 154 .el o 155 IPMICTL_REGISTER_FOR_CMD 156 .br 157 Register to receive a specific command 158 .RE 159 160 .RS +4 161 .TP 162 .ie t \(bu 163 .el o 164 IPMICTL_UNREGISTER_FOR_CMD 165 .br 166 Unregister to receive a specific command 167 .RE 168 169 .SH SEE ALSO 170 .sp 171 .LP 172 \fBipmitool\fR(1), \fBioctl\fR(2), \fBsmbios\fR(7d) 173 .sp 174 .LP 175 \fIIntelligent Platform Management Interface Specification Second 176 Generation\fR, v2.0 \(em 177 June 12, 2009 Markup 178 .SH NOTES 179 .sp 180 .LP 181 Not all systems include an \fBIPMI\fR.