hotplug(8) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

hotplug(8)

System Administration Commands                                      hotplug(8)



NAME
       hotplug - configure hotplug connectors and ports

SYNOPSIS
       hotplug list [-c] [-d] [-l] [-v] [path [connection]]


       hotplug online path port


       hotplug offline [-f] [-q] [-r] path port


       hotplug enable [-f] [path] connector


       hotplug disable [-f] [-q] [-r] [path] connector


       hotplug poweron [path] connector


       hotplug poweroff [-f] [-q] [-r] [path] connector


       hotplug set -o options [path] connector


       hotplug get -o options [path] connector


       hotplug install path port


       hotplug uninstall [-f] [-q] [-r] path port


       hotplug -?

DESCRIPTION
       The hotplug command is used to manage hotplug connections. A connection
       can be a connector or port. A hotplug connector is a representation  of
       a  physical  point  in  the  system where components can be inserted or
       removed. A hotplug port is a representation of a logical point  in  the
       system  device  tree  where the connection of a device to the system is
       managed.


       The hotplug command only supports hotplug operations on hotplug connec‐
       tors  for  PCI  Express buses and PCI buses that implement the Standard
       PCI Hotplug feature. Hotplug ports on PCI Express and PCI buses in sys‐
       tems  with PCI Express fabrics are also supported. Additional buses may
       be supported in the future.


       The hotplug command operates on the following kinds of objects:

       path

           Hotplug connectors and ports are integrated into the Solaris device
           tree. The names of connectors and ports are unique relative only to
           their bus controller. A device path is required to uniquely  refer‐
           ence  a  connector and the parent path of the device is required to
           uniquely reference a port.

           The hotplug command can accept the case that a user specifies  only
           a physical hotplug connector for the state-change operation subcom‐
           mands. If no such connector exists, the command will fail. If  mul‐
           tiple  connectors exist with the same name in the system, the state
           change operations interact with the user to determine which connec‐
           tor needs to be operated upon. See the "Examples" section, below.


       connector

           If  a  hardware  component  supports  being  physically inserted or
           removed, then a hotplug connector  represents  the  location  where
           this  action may occur. When a connector exists, it has a hierarchy
           of ports and device nodes that depend upon it.


       port

           All device nodes can be virtually hotplugged, even if  their  hard‐
           ware  does  not support physical hotplugging. A hotplug port exists
           between a device node and its parent  node  in  the  system  device
           tree.  It  represents  the  location  where the device node and its
           dependents can be managed.


       connection

           A hotplug connection is a generic term to refer to either a hotplug
           connector or a hotplug port.



       Hotplug  connectors  and  ports are managed according to a state model.
       The hotplug command can list information about the hotplug  connections
       in  a system, or it can initiate change of state operations on specific
       hotplug connections.


       Hotplug connectors can be in the following states:

       empty

           A component is not physically inserted in the connector.


       present

           A component is physically inserted in the connector, but the compo‐
           nent is powered off. The component is not in use.


       powered

           A component is physically inserted in the connector, and the compo‐
           nent is powered on. The component is disabled and is not in use.


       enabled

           A component is physically inserted in the connector. The  component
           is  powered  on  and  has  been probed and tested. The component is
           enabled and devices that represent its functions can be used.



       Hotplug ports can be in the following states:

       port-empty

           No device exists for the hotplug port.


       port-present

           A device exists for the hotplug port, but the device has  not  been
           probed  and  it has no attached device driver. The device is not in
           use.


       offline

           A device exists for the hotplug  port,  and  the  device  has  been
           probed.  A  device driver is not attached, and the device is not in
           use.


       online

           A device exists for the hotplug port,  and  its  device  driver  is
           fully attached. The device is in use.


       maintenance

           A  device  exists  for  the  hotplug port, and its device driver is
           fully attached. The device is in use, but not fully operational.  A
           maintenance  or fault management operation is affecting the device.
           The reason that caused the device to enter  maintenance  state  may
           vary.  It is described by a sub-state under maintenance state. Cur‐
           rently there is only one sub-state defined:

           maintenance-suspended

               The device is live suspended.




       The hotplug command can also access bus  private  properties  for  each
       hotplug  connector. The current values of bus private properties can be
       displayed. New  values  for  each  bus  private  property  can  be  set
       directly.

SUB-COMMANDS
       The following subcommands are supported:

       list

           Show  information  for hotplug connectors, ports, and their associ‐
           ated devices. Hotplug connectors and hotplug ports  are  integrated
           into  the Solaris device tree hierarchy. The list subcommand there‐
           fore displays the hierarchy of device nodes with additional  infor‐
           mation  included  to  show  the locations of hotplug connectors and
           hotplug ports. The names of  hotplug  connectors  are  enclosed  in
           square  brackets,  and  the  names of hotplug ports are enclosed in
           angled brackets. The current state of each  hotplug  connection  is
           displayed next to its name.


       online

           Change the state of a hotplug port to the online state.


       offline

           Change the state of a hotplug port to the offline state.


       enable

           Change  the  state of a hotplug connector to the enabled state. All
           of the hotplug connector's dependent ports  will  be  automatically
           probed and initialized into the online state.

           If  hardware errors occur while probing a connected device, details
           of the errors are reported to the Solaris Fault Manager for diagno‐
           sis.  Depending  upon the errors, it may be possible to ignore them
           with a forced operation, using the -f option.


       disable

           Change the state of a hotplug connector from the enabled  state  to
           the powered state. All dependent ports that are in the online state
           will first be transitioned to the port-present state.


       poweron

           Change the state of a hotplug connector from the present  state  to
           the powered state.


       poweroff

           Change the state of a hotplug connector from the powered or enabled
           state to the present state. All dependent ports  that  are  in  the
           online  state will first be transitioned to the port-present state,
           and will then be removed.


       set

           Set bus-specific properties for a hotplug connector. The  specified
           option  string is a bus specific string of name and value pairs, as
           could be parsed by getsubopt(3C). The  names  and  values  will  be
           passed  directly  to  the bus controller that manages the specified
           hotplug connector to perform a bus-specific function.


       get

           Display the current values of bus specific properties for a hotplug
           connector.  The specified option string is a bus specific string of
           named properties, as could be parsed by  getsubopt(3C).  The  names
           will  be  passed  directly  to  the bus controller to specify which
           properties should be returned. The current  values  of  each  named
           property will then be displayed.



       The  install  and  uninstall subcommands install and uninstall services
       the drivers of the ports can support.

       install

           The install subcommand install services the drivers of the  hotplug
           port's device can support.

           For example, this subcommand can be applied to the port of physical
           function of PCIe IO virtualization devices. It upgrades the port to
           ONLINE state (if it is not yet in that state) and then installs the
           virtual functions that the physical function (driver) supports. New
           hotplug ports will be created to represent each virtual function as
           a dependent of the specified physical function. The  newly  created
           ports will be initiated to OFFLINE state.


       uninstall

           The uninstall subcommand uninstall services the drivers of the hot‐
           plug port's device can support.

           This subcommand can be applied to the ports of  physical  functions
           of  PCIe  IO  virtualization devices. If the specified hotplug port
           has any dependent ports of virtual functions, the  dependent  ports
           and corresponding virtual function nodes will be removed.


OPTIONS
       The following options are supported:

       -l, --list-path

           Show  full  paths  to connections and device nodes. By default, the
           list subcommand shows hotplug connectors, ports, and devices in the
           format  of a tree. This option enables the display of full paths to
           each connection and device node.


       -c, --connectors

           Display a table that summarizes the current status of all  physical
           hotplug  connectors. Device topologies and hierarchical information
           are not included. In general, the names of physical hotplug connec‐
           tors  should  be  unique.  If  multiple connectors of the same name
           exist in the system, hotplug  displays  a  message  specifying  the
           same-named  hotplug  connectors and prompts for information to dis‐
           tinguish among those connectors. See "Examples," below.


       -d, --drivers

           Show the binding driver names and the instance number of the device
           nodes.  By  default, the list subcommand shows only hotplug connec‐
           tors, ports, and devices. This option enables the  display  of  the
           binding driver names and the instance numbers of the device nodes.


       -v, --verbose

           Show  verbose  usage details. By default, the list subcommand shows
           only hotplug connectors, ports, and devices.  This  option  enables
           the  display of more detailed information about how the devices are
           currently consumed. Examples include mounted filesystems or plumbed
           network interfaces associated with individual devices.

           Note  that  the  -v  option  does not display information for disks
           under ZFS control.


       -f, --force

           Force the operation.  Some  change  state  operations  that  impact
           resources currently in use will fail with a warning. A forced oper‐
           ation will attempt to ignore these warnings and proceed.

           This option should be used with extreme caution.


       -n, --non-interactive

           Disable the interactive feature. If the flag is  specified  and  an
           ambiguous  input is encountered, the command will exit immediately,
           returning a unique exit status to indicate the problem.


       -q, --query

           Query the operation. Instead of actually performing a change  state
           operation, perform a test to predict if the operation would succeed
           or fail. If it would fail, show the error messages  that  would  be
           expected if the operation had really been attempted.

           It is not possible to predict every failure. An operation that suc‐
           ceeds during a query could still fail for another reason when actu‐
           ally attempted.

           This option will not actually change the state of the system.


       -r, --removed

           Resources  are removed. This uses extreme force to change the state
           of a hotplug connector or hotplug port. The assumption is that  the
           connected devices are removed from the system and failure is not an
           option.

           If impacted resources are currently  in  use,  the  usage  will  be
           forcibly  terminated.  This  is  different from the -f option which
           could still fail if an operation impacts critical resources.  There
           can be negative consequences to the system and running applications
           with this option, so it must be used with extreme caution.

           This option is not compatible with the -q option.


       -o options, --=options

           Specify bus-specific properties for  a  set  or  get  command.  The
           options string conforms to the getsubopt(3C) syntax convention.

           For  the  get subcommand, there are two special options that can be
           used. The special options value of help will display all  supported
           properties  and their possible values. The special options value of
           all will display the current value of all supported properties.

           For the set subcommand, there is one special  option  that  can  be
           used.  The special options value of help will display all supported
           properties which can be set and their possible values.

           See "Notes" section  for  the  properties  supported  by  bus  con‐
           trollers.


       -?, --help

           Display a brief help message on proper use of the command.


EXAMPLES
       Example 1 Showing All Hotplug Connections



       The following command shows all hotplug connections:


         # hotplug list -v
         pci@0,0
         pci108e,534a@2,1 <pci.2,1> ONLINE
                 [pci30] EMPTY
         pci10de,5d@e <pci.e,0> ONLINE
                 display@b <pci.b,0> ONLINE
                 [NEM0] ENABLED
                 pci108e,534a@a,0 <pci.a,0> ONLINE
                         { Network interface nge0 }
                         { nge0: hosts IP addresses: 10.0.0.1 }
                 pci108e,534a@a,1 <pci.a,1> (MAINTENANCE)
                                     [NEM1] (EMPTY)
         pci108e,534a@c <pci.c,0> OFFLINE
         pci108e,534a@d <pci.d,0> ONLINE
                                   pci1028,40d@0 <pci.0,0> (MAINTENANCE-SUSPENDED,
         "activities=dma+pio+intr,reason=resource-rebalance")
                                          { Network interface bge0 }
                                          { bge0: hosts IP addresses: 10.0.1.1 }




       To  show  the  full paths of hotplug connections and devices, enter the
       following command:


         # hotplug list -l
         /pci@0,0
         /pci@0,0  <pci.0,0>  OFFLINE
         /pci@0,0/pci108e,4341
         /pci@0,0  <pci.1,0>  OFFLINE
         /pci@0,0/pci8086,3408
         /pci@0,0  <pci.3,0>  ONLINE
         /pci@0,0/pci8086,340a@3
         /pci@0,0/pci8086,340a@3 [Slot2]  EMPTY
         /pci@0,0  <pci.5,0>  ONLINE
         /pci@0,0/pci8086,340c@5
         /pci@0,0/pci8086,340c@5 [Slot1]  ENABLED
         /pci@0,0/pci8086,340c@5  <pci.0,0>  ONLINE
         /pci@0,0/pci8086,340c@5/pci111d,8018@0
         /pci@0,0  <pci.7,0>  ONLINE
         /pci@0,0/pci8086,340e@7
         /pci@0,0/pci8086,340e@7 [pcie4]  ENABLED
         /pci@0,0  <pci.9,0>  ONLINE
         /pci@0,0/pci8086,3410@9
         /pci@0,0/pci8086,3410@9 [pcie3]  ENABLED
         /pci@0,0  <pci.13,0>  OFFLINE
         /pci@0,0/pci8086,342d
         /pci@0,0  <pci.14,0>  OFFLINE
         /pci@0,0/pci8086,342e




       To show the binding driver names and instance numbers of  the  devices,
       enter the following command:


         # hotplug list -d
         pci@0,0  npe#0
             pci108e,4341  <pci.0,0>  OFFLINE  #0
             pci8086,3408  <pci.1,0>  OFFLINE  pcieb#0
             pci8086,340a@3  <pci.3,0>  ONLINE  pcieb#1
                 [Slot2]  EMPTY
             pci8086,340c@5  <pci.5,0>  ONLINE  pcieb#2
                 [Slot1]  ENABLED
                 pci111d,8018@0  <pci.0,0>  ONLINE  pcieb#0
                     pci111d,8018@2  <pci.2,0>  ONLINE  pcieb#6
                         pci108e,f1bc@0  <pci.0,0>  ONLINE  e1000g#0
                         pci108e,f1bc@0,1  <pci.0,1>  OFFLINE  e1000g#1
             pci8086,340e@7  <pci.7,0>  ONLINE  pcieb#3
                 [pcie4]  ENABLED
             pci8086,3410@9  <pci.9,0>  ONLINE  pcieb#4
                 [pcie3]  ENABLED
             pci8086,342d  <pci.13,0>  OFFLINE  #0
             pci8086,342e  <pci.14,0>  OFFLINE  #0




       To  show  the status of all physical hotplug connectors. enter the fol‐
       lowing command:


         # hotplug list -c
         Connection             State         Description
         ---------------------------------------------------------
         NEM0                   ENABLED       PCIe-Native
         PCI-EM0                ENABLED       PCIe-Native
         NEM1                   ENABLED       PCIe-Native
         PCI-EM1                ENABLED       PCIe-Native




       The table in the condition that multiple connectors with the same exist
       in the system:


         # hotplug list -c
         Connection   Note      State         Description
         ----------------------------------------------------------
         NEM0                   ENABLED       PCIe-Native
         PCI-EM0      *1        ENABLED       PCIe-Native
         PCI-EM0      *2        ENABLED       PCIe-Native
         NEM1                   ENABLED       PCIe-Native

         Note:
         Multiple connectors with the same name exist:

           [1] PCI-EM0   /pci@0,0/pci108e,4341@1a,2
           [2] PCI-EM0   /pci@1,0/pci108e,4341@1a,2




       Example 2 Reporting Failure During State Change Operation



       If  a  change  of state operation fails, an explanation is displayed to
       describe the failure. An attempt to offline a hotplug port with  depen‐
       dent devices that are currently in use by the system might fail as fol‐
       lows:


         # hotplug offline /pci@0,0/pci10de,5d@e pci.a,0
         ERROR: devices or resources are busy.
         pci108e,534a@a,0:
             { Network interface nge0 }
             { nge0: hosts IP addresses: 10.0.0.1 }
             { Plumbed IP Address }


       Example 3 Enabling User Interaction During State Change Operation



       If there are multiple connectors with the same name in  a  system,  the
       state change operations interact with the user to specify which connec‐
       tor needs to be operated upon.


         # hotplug enable PCI-EM0
         Multiple connectors with the same name exist:

            [1] PCI-EM0  /pci@0,0/pci108e,4341@1a,2
            [2] PCI-EM0  /pci@1,0/pci108e,4341@1a,2

         Please select a connector, then press ENTER:


       Example 4 Displaying Bus-Specific Properties and Values



       The following command displays all  supported  bus-specific  properties
       and their possible values:


         # hotplug get -o help /pci@0,0 pci.2,1
         power_led=<on|off|blink>
         fault_led=<on|off|blink>
         active_led=<on|off|blink>
         attn_led=<on|off|blink>
         card_type=<type description>
         board_type=<type description>


       Example 5 Displaying Bus-Specific Options



       The  following  command displays the card type and the current state of
       the Power LED of a PCI hotplug connector:


         # hotplug get -o card_type,power_led /pci@0,0 pci.2,1
         card_type=fibre
         power_led=on


       Example 6 Setting a Bus-Specific Property



       The following command turns on the attention LED of a PCI hotplug  con‐
       nector:


         # hotplug set -o attn_led=on /pci@0,0 pci.2,1


       Example 7 Installing Port Dependents



       The following commands install dependent ports of an IOV physical func‐
       tion and then display the resulting IOV  virtual  functions  that  were
       probed.


         # hotplug install /pci@400/pci@1/pci@0/pci@4 pci.0,1

         # hotplug list -v /pci@400/pci@1/pci@0/pci@4 pci.0,1
         <pci.0,1>  (ONLINE)
              { IOV physical function }
              { IOV virtual function 'pci.0,81' }
              { IOV virtual function 'pci.0,83' }
              { IOV virtual function 'pci.0,85' }
              { IOV virtual function 'pci.0,87' }
         <pci.0,81>  (OFFLINE)
         ethernet@0,81
         <pci.0,83>  (OFFLINE)
         ethernet@0,83
         <pci.0,85>  (OFFLINE)
         ethernet@0,85
         <pci.0,87>  (OFFLINE)
         ethernet@0,87


       Example 8 Uninstalling Port Dependents



       The  following  command attempts to uninstall dependent ports of an IOV
       physical function, but fails when a dependent IOV virtual  function  is
       busy.


         # hotplug uninstall /pci@400/pci@1/pci@0/pci@4 pci.0,0
         ERROR: devices or resources are busy.
         ethernet@0,81:
             { Network interface igvbf1 }
             { igvbf1: hosts IP addresses: 10.0.0.1 }
             { Plumbed IP Address }


EXIT STATUS
       0

           Successful completion.


       1

           Invalid command line options were specified.


       2

           The specified path or connection does not exist.


       3

           A fatal error occurred. One or more error messages are displayed on
           standard error.


       4

           The hotplug service is not available.


       5

           The connector name specified refers to multiple ports.


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE  TYPEAT‐
       TRIBUTE  VALUE _ Availabilitysystem/dynamic-reconfiguration _ Interface
       StabilityCommitted


SEE ALSO
       getsubopt(3C), attributes(7), cfgadm(8), hotplugd(8)

DIAGNOSTICS
       The following error message is displayed on systems that  do  not  have
       any supported IO buses:

         ERROR: there are no connections to display.
         (See hotplug(8) for more information.)



       If  this  error  message is seen, note that the system might still have
       other IO devices that support hotplugging, through the  cfgadm(8)  com‐
       mand instead of hotplug.


       The  following  error  message is displayed if hardware errors occurred
       while processing an enable operation:

         ERROR: hardware or driver specific failure.



       If this error message is seen, note  that  additional  details  of  the
       hardware errors may have been reported to the Solaris Fault Manager for
       diagnosis.

NOTES
       The hotplug service (FMRI svc:/system/hotplug) must  be  enabled  as  a
       prerequisite  for  using the hotplug command. The service is enabled by
       default. See hotplugd(8).


       The authorization solaris.hotplug.modify must be granted  in  order  to
       perform  change-of-state operations, or to install and uninstall depen‐
       dent ports. Alternatively, the rights profile "Hotplug Management"  can
       be granted, which includes that authorization.


       Verbose  usage information is gathered from the RCM framework. Its for‐
       mat and content is subject to change.


       The following bus specific properties are supported  in  PCI  bus  con‐
       trollers:

       power_led | fault_led | attn_led | active_led

           States  of a specific LED of a slot. The value could be on, off, or
           blink.

           They can all  be  used  with  get  subcommand,  but  only  property
           attn_led can be used with set subcommand.


       card_type | board_type

           Type of a card or board of a slot.

           They  can  all be used with get subcommand, but neither can be used
           with set subcommand.




Oracle Solaris 11.4               26 Mar 2020                       hotplug(8)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3