Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
NUT-SCANNER(8)			   NUT Manual			  NUT-SCANNER(8)

NAME
     nut-scanner - Tool to scan communication buses for NUT devices

SYNOPSIS
     nut-scanner -h

     nut-scanner [OPTIONS]

DESCRIPTION
     nut-scanner  scans  available communication buses and displays any NUT-com-
     patible devices it has found.

     nut-scanner can also display the detected devices in various  formats,  in-
     cluding  ups.conf,  and  ensures that the generated devices name are unique
     across buses.

INSTALLATION
     nut-scanner is only built if libltdl (part of libtool development suite) is
     available.

     Available scanning options (USB, SNMP, IPMI, UPower, ...) will vary accord-
     ing to the available compile-time and run-time dependencies.  For	example,
     if  Net-SNMP is installed, thus providing libsnmp libraries (*.so or *.dll)
     and header files during compilation, and at least the library files on  the
     monitoring system, then SNMP discovery will be available. Similarly, UPower
     discovery requires GDBus/libgio libraries.

OPTIONS
     -h
	 Display the help text.

DISPLAY OPTIONS
     -Q | --disp_nut_conf_with_sanity_check
	 Display  result  in  the ups.conf format with sanity-check warnings (if
	 any) as comments (default).

     -N | --disp_nut_conf
	 Display result in the ups.conf format.

     -P | --disp_parsable
	 Display result in a parsable format.

BUS OPTIONS
     -C | --complete_scan
	 Scan all available communication buses (default behavior)

     -U | --usb_scan
	 List all NUT-compatible USB devices currently plugged in.

	 This option can be specified several times, for more hardware link-spe-
	 cific details; these can be counter-productive in case of USB	enumera-
	 tion changes over time:
	 +--------------+-------------------------------------------------------------------+
	 | Option count | Practical meaning						    |
	 +--------------+-------------------------------------------------------------------+
	 | -U		|	       do not report any `bus`/`device`/`busport` details   |
	 +--------------+-------------------------------------------------------------------+
	 | -UU		|	       report `bus` and `busport`, if available 	    |
	 +--------------+-------------------------------------------------------------------+
	 | -UUU 	|	       report `bus`/`device`/`busport` details		    |
	 +--------------+-------------------------------------------------------------------+
	 | -UUUU	|	       report `bus`/`device`/`busport` details, 	    |
	 |		|			  and `bcdDevice` (limited use and benefit) |
	 +--------------+-------------------------------------------------------------------+

	     Note
	     For reliability, it is preferable to match just by vendor and prod-
	     uct identification, and a serial number if available and unique.

     -S | --snmp_scan
	 Scan SNMP devices. Requires at least a start IP, and optionally, an end
	 IP. See specific SNMP OPTIONS for community and security settings.

     -M | --xml_scan
	 Scan  XML/HTTP  devices. Can broadcast a network message on the current
	 network interface(s) to retrieve XML/HTTP capable devices.  No  IP  re-
	 quired  in this mode. If IP address ranges are specified, they would be
	 scanned instead of a broadcast.

     -O | --oldnut_scan
	 Scan NUT devices (i.e.  upsd daemon) on IP ranging from start IP to end
	 IP.

     -n | --nut_simulation_scan
	 Scan NUT simulated devices (.dev files in the built-in "sysconfig"  lo-
	 cation).

	     Warning
	     The  NUT_CONFPATH	environment  variable  override is not currently
	     supported.

     -A | --avahi_scan
	 Scan NUT servers using Avahi request  on  the	current  network  inter-
	 face(s). No IP address options are required or used.

     -I | --ipmi_scan
	 Scan  NUT  compatible	power supplies available via IPMI on the current
	 host, or over the network if IP address ranges are specified.

     -J | --upower_scan
	 Scan UPower devices. Requires GDBus/libgio libraries to be available.

     -E | --eaton_serial serial ports
	 Scan Eaton devices (XCP and SHUT) available via serial bus on the  cur-
	 rent  host.  This  option must be requested explicitly, even for a com-
	 plete scan.  serial ports can be expressed in various forms:

	 *   auto to scan all serial ports.

	 *   a	single	character  indicating  a  port	number	(0  (zero)   for
	     /dev/ttyS0  and /dev/ttyUSB0 on Linux, 1 for COM1 on Windows, a for
	     /dev/ttya on Solaris...)

	 *   a range of N characters, hyphen separated, describing the range  of
	     ports  using  X-Y syntax, where X and Y are characters referring to
	     the port number.

	 *   a single port name.

	 *   a list of ports name, comma separated, like /dev/ttyS1,/dev/ttyS4.

NETWORK OPTIONS
	 Note

	 The networked buses (such as SNMP, NetXML, IPMI and "Old NUT") allow to
	 specify several IP (IPv4 or IPv6) address ranges,  down  to  individual
	 single IP addresses.

	 Normally a new range is specified by a set of one -s and one -e options
	 following each other (in any order on the command line).

	 Lone  or consecutive -s or -e options present on the command line would
	 translate to single-IP queries.

	 Also, a -m option squashed between two -s and -e options would be a new
	 range, turning those two into single-IP queries. This feature does  not
	 by  itself  recombine	"neighboring" addresses into one range, nor even
	 check for duplicate or overlapping specifications.

	 A single-address range may be a host name which would be resolved  into
	 one  IP  address  by  the system resolver. A CIDR using a host name and
	 netmask length would be resolved into an IP address  and  subjected  to
	 the mask application, to query hosts "near" the named one.

     Also note that some buses require IP address(es) to scan, and others have a
     different	behavior when exactly no addresses are specified (it is not cur-
     rently possible to mix the two behaviors in one invocation of the nut-scan-
     ner tool).

     Finally note that currently even if multi-threaded  support  is  available,
     each  range  specification  is a separate fan-out of queries constrained by
     the timeout. Requests to scan many single IP addresses will take a while to
     complete, much longer than if they were a single range. This will be  hope-
     fully fixed in later releases.

	 Note

	 Colon-separated IPv6 addresses must be passed in square brackets.

     -t | --timeout timeout
	 Set the network timeout in seconds. Default timeout is 5 seconds.

     -s | --start_ip start IP
	 Set  the  first IP (IPv4 or IPv6) when a range of IP is required (SNMP,
	 old_nut) or optional (XML/HTTP).

     -e | --end_ip end IP
	 Set the last IP (IPv4 or IPv6) when a range of IP  is	required  (SNMP,
	 old_nut) or optional (XML/HTTP). If this parameter is omitted, only the
	 start	IP  is scanned. If end IP is less than start IP, both parameters
	 are internally permuted.

     -m | --mask_cidr IP address/mask
	 Set a range of IP addresses by using CIDR notation.

	 A special form -m auto  allows  nut-scanner  to  detect  local  IP  ad-
	 dress(es)  and scan corresponding subnet(s) on supported platforms, and
	 -m auto4 or -m auto6 limits the selected addresses to IPv4 and IPv6 re-
	 spectively. Only the first "auto*" request would  be  honoured,  others
	 ignored with a warning.

	 An /ADDRLEN suffix can be added to the option, to filter out discovered
	 subnets  with too many bits available for the host address part (avoid-
	 ing millions of scans in the extreme cases). For example, if  the  IPv4
	 network  range  of  your  LAN	is  10.2.3.0/24,  its  address	part  is
	 (32-24)=8. Note that while this is applied to IPv6 networks also, their
	 typical /64 subnets are not likely to have a NUT/SNMP/NetXML/... server
	 that close nearby (in addressing terms), for a  tight	filter	to  find
	 them. Default is 8.

NUT DEVICE OPTION
     -p | --port port number
	 Set the port number of scanned NUT devices (default 3493).

SNMP V1 OPTION
     -c | --community community
	 Set SNMP v1 community name (default = public).

SNMP V3 OPTIONS
     -l | --secLevel security level
	 Set  the  security  level used for SNMPv3 messages. Allowed values are:
	 noAuthNoPriv, authNoPriv and authPriv. This parameter is  mandatory  if
	 you use non-trivial authentication.

     -u | --secName security name
	 Set  the security name used for authenticated SNMPv3 messages. This pa-
	 rameter is mandatory if you set security level.

     -w | --authProtocol authentication protocol
	 Set the authentication protocol used for authenticated SNMPv3 messages.
	 Allowed values are MD5, SHA, SHA256, SHA384  or  SHA512  (depending  on
	 Net-SNMP  library  capabilities;  check  help of the nut-scanner binary
	 program for the run-time supported list). Default value is MD5.

     -W | --authPassword authentication pass phrase
	 Set the authentication pass phrase used for authenticated  SNMPv3  mes-
	 sages. This parameter is mandatory if you set security level to authNo-
	 Priv or authPriv.

     -x | --privProtocol privacy protocol
	 Set  the  privacy  protocol used for encrypted SNMPv3 messages. Allowed
	 values are DES, AES, AES192 or AES256 (depending  on  Net-SNMP  library
	 capabilities;	check  help  of  the  nut-scanner binary program for the
	 run-time supported list). Default value is DES.

     -X | --privPassword privacy pass phrase
	 Set the privacy pass phrase used for encrypted  SNMPv3  messages.  This
	 parameter is mandatory if you set security level to authPriv.

IPMI OPTIONS
     -b | --username username
	 Set  the  username  used  for	authenticating IPMI over LAN connections
	 (mandatory for IPMI over LAN. No default).

     -B | --password password
	 Specify the password to use when authenticating with  the  remote  host
	 (mandatory for IPMI over LAN. No default).

     -d | --authType authentication type
	 Specify  the  IPMI 1.5 authentication type to use (NONE, STRAIGHT_PASS-
	 WORD_KEY, MD2, and MD5) with the remote host (default=MD5). This forces
	 connection through the lan IPMI interface , thus in IPMI 1.5 mode.

     -L | --cipher_suite_id cipher suite identifier
	 Specify the IPMI 2.0 cipher suite ID to use. The Cipher Suite ID  iden-
	 tifies  a  set  of authentication, integrity, and confidentiality algo-
	 rithms to use for IPMI 2.0 communication.

	 The authentication algorithm identifies the algorithm to use  for  ses-
	 sion setup, the integrity algorithm identifies the algorithm to use for
	 session packet signatures, and the confidentiality algorithm identifies
	 the algorithm to use for payload encryption (default=3).

	 The following cipher suite ids are currently supported (Authentication;
	 Integrity; Confidentiality):

	 *   0: None; None; None

	 *   1: HMAC-SHA1; None; None

	 *   2: HMAC-SHA1; HMAC-SHA1-96; None

	 *   3: HMAC-SHA1; HMAC-SHA1-96; AES-CBC-128

	 *   6: HMAC-MD5; None; None

	 *   7: HMAC-MD5; HMAC-MD5-128; None

	 *   8: HMAC-MD5; HMAC-MD5-128; AES-CBC-128

	 *   11: HMAC-MD5; MD5-128; None

	 *   12: HMAC-MD5; MD5-128; AES-CBC-128

	 *   15: HMAC-SHA256; None; None

	 *   16: HMAC-SHA256; HMAC_SHA256_128; None

	 *   17: HMAC-SHA256; HMAC_SHA256_128; AES-CBC-128

MISCELLANEOUS OPTIONS
     -V | --version
	 Display NUT version.

     -a | --available
	 Display  available  buses  that  can  be  scanned, depending on how the
	 nut-scanner binary program has been compiled. (e.g. OLDNUT, USB,  SNMP,
	 XML, AVAHI, IPMI).

     -q | --quiet
	 Display  only	scan  result. No information on currently scanned bus is
	 displayed.

     -D | --nut_debug_level
	 Raise the debugging level. Use this multiple times to see more details.

	 Note

	 The level of debugging needed depends both on nut-scanner and the prob-
	 lem you're trying to diagnose. Therefore, first explain the problem you
	 have with nut-scanner to a developer/maintainer,  before  sending  them
	 debugging  output.  More  often than not, if you just pick a level, the
	 output may be either too limited or too verbose to be of any use.

EXAMPLES
     To scan USB devices only:

	 :; nut-scanner -U

	 [nutdev-usb1]
		 driver = "snmp-ups"
		 port = "192.168.0.42"

     To scan SNMP v1 device with public (default)  community  on  address  range
     192.168.0.0 to 192.168.0.255:

	 :; nut-scanner -S -s 192.168.0.0 -e 192.168.0.255

	 [nutdev-snmp1]
		 driver = "snmp-ups"
		 port = "192.168.0.42"

     The same using CIDR notation:

	 :; nut-scanner -S -m 192.168.0.0/24

	 [nutdev-snmp1]
		 driver = "snmp-ups"
		 port = "192.168.0.42"

     To scan NUT servers with a timeout of 10 seconds on IP range 192.168.0.0 to
     192.168.0.127 using CIDR notation:

	 :; nut-scanner -O -t 10 -m 192.168.0.0/25

	 [nutdev-nut1]
		 driver = "dummy-ups"
		 port = "dummy-test@192.168.1.28"

     To  scan  for  power supplies, through IPMI (1.5 mode) over the network, on
     address range 192.168.0.0 to 192.168.0.255 using CIDR notation:

	 :; nut-scanner -I -m 192.168.0.0/24 -b username -B password

     To  scan  for  Eaton  serial  devices  on	ports  0  and	1   (/dev/ttyS0,
     /dev/ttyUSB0, /dev/ttyS1 and /dev/ttyUSB1 on Linux):

	 :; nut-scanner --eaton_serial 0-1

     To  scan  for  Eaton serial devices on ports 1 and 2 (COM1 and COM2 on Win-
     dows):

	 :; nut-scanner --eaton_serial 1-2

     To scan for UPower devices:

	 :; nut-scanner -J

	 [nutdev-upower1]
		 driver = "upower"
		 port = "/org/freedesktop/UPower/devices/ups_hiddev0"
		 vendor = "APC"
		 product = "Back-UPS ES 700G"
		 serial = "5B1234567890"
		 bus = "upower"

SEE ALSO
     ups.conf(5)

   Internet resources:
     The NUT (Network UPS Tools) home page: https://www.networkupstools.org/

Network UPS Tools 2.8.5.	   08/04/2026			  NUT-SCANNER(8)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=nut-scanner&sektion=8&manpath=FreeBSD+Ports+15.1.quarterly>

home | help