Lines Matching full:you

15 To use this, you need an interface to an IPMI controller in your
19 This document describes how to use the IPMI driver for Linux. If you
27 The Linux IPMI driver is modular, which means you have to pick several
32 No matter what, you must pick 'IPMI top-level message handler' to use
33 IPMI. What you do beyond that depends on your needs and hardware.
36 Kernel code (like the watchdog) can still use it. If you need access
37 from userland, you need to select 'Device interface for IPMI' if you
42 and just work. If you have a board with a standard interface (These
52 You should generally enable ACPI on your system, as systems with IPMI
55 If you have a standard interface and the board manufacturer has done
59 standard defaults, but they may not work. If you fall into this
60 situation, you need to read the section below named 'The SI Driver' or
63 IPMI defines a standard watchdog timer. You can enable this with the
64 'IPMI Watchdog Timer' config option. If you compile the driver into
65 the kernel, then via a kernel command-line option you can have the
68 Note that you can also have the watchdog continue to run if it is
80 If you want the driver to put an event into the event log on a panic,
82 you want the whole panic string put into the event log using OEM
84 option. You can also enable these dynamically by setting the module
91 The Linux IPMI driver is designed to be very modular and flexible, you
92 only need to take the pieces you need and you can use it in many
108 SMIC, and BT interfaces. Unless you have an SMBus interface or your
109 own custom interface, you probably need to use this.
144 The IPMI addressing works much like IP addresses, you have an overlay
186 You can send messages to a specific management controller (MC) on the
198 The channel is always zero. You can also receive commands from other
199 MCs that you have registered to handle and respond to them, so you can
223 When using the IOCTL interface from userland, you must provide a block
253 You should look at the receive type and handle the message
270 if IPMI devices exist. So you might have to defer your setup until
271 the device is detected, or you might be able to do it immediately.
272 To handle this, and to allow for discovery, you register an SMI
274 and tell you when they come and go.
280 To use the message handler, you must first create a user using
281 ipmi_create_user. The interface number specifies which SMI you want
282 to connect to, and you must supply callback functions to be called
283 when data comes in. This also allows to you pass in a piece of data,
284 the handler_data, that will be passed back to you on all calls.
286 Once you are done, call ipmi_destroy_user() to get rid of the user.
299 passed back when the response for the message is returned. You may
300 use it for anything you like.
303 field of the "handler" that you passed in to ipmi_create_user().
306 From userland, you fill out an ipmi_req_t structure and use the
307 IPMICTL_SEND_COMMAND ioctl. For incoming stuff, you can use select()
308 or poll() to wait for messages to come in. However, you cannot use
309 read() to get them, you must call the IPMICTL_RECEIVE_MSG with the
310 ipmi_recv_t structure to actually get the message. Remember that you
312 you must fill in the msg.data_len field with the size of the data.
315 If the message cannot fit into the data you provide, you will get an
317 queue. If you want to get it and have it truncate the message, use
320 When you send a command (which is defined by the lowest-order bit of
328 In kernelland, after you receive a message and are done with it, you
329 MUST call ipmi_free_recv_msg() on it, or you will leak messages. Note
330 that you should NEVER mess with the "done" field of a message, that is
334 that lets you supply the smi and receive message. This is useful for
336 (the watchdog timer uses this, for instance). You supply your own
346 commands that other things on the IPMB bus have sent you). To receive
347 these, you must register for them, they will not automatically be sent
348 to you.
350 To receive events, you must call ipmi_set_gets_events() and set the
356 For receiving commands, you have to individually register commands you
358 and command name for each command you want to receive. You also
359 specify a bitmask of the channels you want to receive the command from
360 (or use IPMI_CHAN_ALL for all channels if you don't care). Only one
367 msgid that you got in the received message.
392 You can specify up to four interfaces on the module load line and
410 The si_type may be either "kcs", "smic", or "bt". If you leave it blank, it
413 If you specify addrs as non-zero for an interface, the driver will
417 If you specify ports as non-zero for an interface, the driver will
420 If you specify irqs as non-zero for an interface, the driver will
482 to force this thread on or off. If you force it off and don't have
499 write-only parameter. You write a string to this interface. The string
508 You can specify more than one interface on the line. The "opt"s are::
516 and these have the same meanings as discussed above. Note that you
527 finds in DMI or ACPI tables. You can change this
542 spaces, so if the name is "This is an I2C chip" you can say
567 the smb_addr parameter unless you have DMI or ACPI data to tell the
585 patches and driver modifications. You can get those at the openipmi
599 It also allows you to directly address other MCs on the bus using the
600 ipmb direct addressing. You can receive commands from other MCs on
612 you want to instantiate one of these by hand, do::
616 Note that the address you give here is the I2C address, not the IPMI
617 address. So if you want your MC address to be 0x60, you put 0x30
626 depends on how the system is wired. You can fetch the channels with
638 You can use the IPMI smi_watcher to catch the IPMI interfaces as they
639 come or go, and to grab the information, you can use the function
656 assuming ipmi_smi_get_info returns success, you must call put_device
696 because you can't do data operations from an NMI.
726 Note that if you use the NMI preaction for the watchdog, you MUST NOT
732 Once you open the watchdog timer, you must write a 'V' character to the
742 events in the system event log if a panic occurs. if you enable the
743 'Generate a panic event to all BMCs on a panic' option, you will get
744 one event on a panic in a standard IPMI event format. If you enable
745 the 'Generate OEM events containing the panic string' option, you will
774 Because you cannot send OEM events using the standard interface, this
806 Note that if you have ACPI enabled, the system will prefer using ACPI to