freebsd-dev/usr.sbin
Andriy Gapon c2a13d6f24 mpsutil slot set status
This code has been written as a proof of concept, but I think that it
can be useful in general.  It allows to set the status of an enclosure
slot.  Practically, this means controlling whatever slot status LEDs the
enclosure provides.  At present, the new command does not have sanity
checks or any conveniences.  That means that it is possible to issue the
command for an invalid slot and an enclosure.  But the worst I have seen
happening is either the command failing or simply being ignored.  Also,
at the moment, the status has to be specified as a numeric bit mask.
The bit definitions can be found in sys/dev/mps/mpi/mpi2_init.h, they
are prefixed with MPI2_SEP_REQ_SLOTSTATUS_.  The only way to address a
slot is by the enclosure handle and the slot number.  Both are readily
available from mpsutil show commands.

So, future enhancements could include alternative ways to address a slot
(e.g., by a disk handle or a disk device name) and human friendly names
for slot statuses.

The new command is useful alternative to 'sas2ircu locate' command.
First, sas2ircu is a proprietary blob.  Second, it supports setting only
locate / identify status bit.

Tested on HP H220 running LSI IT firmware 20.x.

Reviewed by:	bapt
MFC after:	3 weeks
Differential Revision:	https://reviews.freebsd.org/D20535
2019-09-04 13:47:38 +00:00
..
ac
accton
acpi
adduser
amd
ancontrol
apm
apmd
arp
audit
auditd
auditdistd
auditreduce
authpf
autofs autofs: Fix autounmountd's printing of mount time. 2019-08-09 02:20:26 +00:00
bhyve Validate guest-supplied length of headers for TSO transmit requests. 2019-08-05 21:39:55 +00:00
bhyvectl
bhyveload
binmiscctl
blacklistctl
blacklistd
bluetooth iwmbtfw(8): Fix compilation on platforms using gcc. 2019-08-18 23:10:07 +00:00
boot0cfg Remove deprecated GEOM classes 2019-08-13 20:06:55 +00:00
bootparamd
bsdconfig
bsdinstall
bsnmpd
btxld
camdd
cdcontrol DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
chkgrp
chown
chroot
ckdist
clear_locks
config Fix small bug in wrapping introduced in r325955. 2019-08-17 02:36:42 +00:00
cpucontrol
crashinfo
cron
crunch crunch: remove rsh and rlogin from example config file 2019-08-13 15:23:14 +00:00
ctladm Add device temperature reporting into CTL. 2019-07-26 03:49:16 +00:00
ctld
cxgbetool
daemon
dconschat
devctl
devinfo
diskinfo
dumpcis
editmap
edquota
eeprom
efibootmgr
efidp
efivar
etcupdate
extattr
extattrctl
fdcontrol
fdformat
fdread
fdwrite
fifolog
flowctl various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
fmtree
freebsd-update
fstyp
ftp-proxy
fwcontrol
getfmac
getpmac
gpioctl
gssd * Handle SIGPIPE in gssd 2019-02-21 01:30:37 +00:00
gstat
hyperv
i2c
ifmcstat
inetd
iostat
iovctl DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
ip6addrctl
ipfwpcap
iscsid
jail
jexec
jls
kbdcontrol
kbdmap
keyserv
kgmon
kldxref
lastlogin
lpr
lptcontrol
mailstats
mailwrapper
makefs makefs: share msdosfsmount.h between kernel msdosfs and makefs 2019-09-01 16:55:33 +00:00
makemap
manctl
memcontrol
mergemaster
mfiutil
mixer mixer(8): Report an error if the passed value is an empty string 2019-08-25 17:55:31 +00:00
mld6query Remove the USE_RFC2292BIS option and reap dead code 2019-07-22 20:11:33 +00:00
mlx5tool
mlxcontrol
mount_smbfs
mountd Add a reference to the NFSv3 RFC. 2019-08-08 21:08:13 +00:00
moused Remove mse(4) from tree 2018-10-22 02:34:10 +00:00
mpsutil mpsutil slot set status 2019-09-04 13:47:38 +00:00
mptable
mptutil mptutil: emit a warning on big-endian architectures 2019-07-22 17:25:35 +00:00
mtest
ndiscvt
ndp Update the "flag" for draft-ietf-6man-ipv6only-flag. 2018-11-03 18:03:24 +00:00
newsyslog
nfscbd
nfsd
nfsdumpstate
nfsrevoke
nfsuserd
ngctl
nghook
nmtree
nologin
nscd
ntp
nvram
ofwdump
pciconf Report Clock Power Management support and status. 2019-08-23 15:17:04 +00:00
periodic periodic: replace "tty" with "test -t 0" 2019-08-19 01:14:11 +00:00
pkg
pmc
pmcannotate
pmccontrol
pmcstat
pmcstudy Replace -Werror with ${WERROR} in pmcstudy 2019-08-25 22:06:26 +00:00
pnfsdscopymr
pnfsdsfile
pnfsdskill
pnpinfo
portsnap
powerd powerd(8): allow to force a method of battery state query 2019-01-06 02:39:03 +00:00
ppp
pppctl
praliases
praudit praudit(1): add tests 2018-06-17 17:31:16 +00:00
prometheus_sysctl_exporter
pstat
pw
pwd_mkdb pwd_mkdb: retire -B and -L endianness options 2018-10-21 00:48:38 +00:00
pwm
quot Normally when an attempt is made to mount a UFS/FFS filesystem whose 2018-12-06 00:09:39 +00:00
quotaon General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
rarpd
repquota
rip6query
rmt
route6d
rpc.lockd
rpc.statd
rpc.umntall
rpc.yppasswdd Increase YPMAXRECORD to 16M to be compatible with Linux. 2019-08-12 20:27:33 +00:00
rpc.ypupdated Increase YPMAXRECORD to 16M to be compatible with Linux. 2019-08-12 20:27:33 +00:00
rpc.ypxfrd
rpcbind
rrenumd
rtadvctl
rtadvd Remove obsolete compatibility code from rtadvd. 2019-07-17 16:50:53 +00:00
rtprio
rtsold
rwhod
sa
sendmail
service
services_mkdb
sesutil
setfib
setfmac
setpmac
smbmsg various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
snapinfo
spi
spkrtest
spray
syslogd Fix compilation of world with WITHOUT_{INET,INET6}_SUPPORT or both set. 2019-03-03 10:00:26 +00:00
sysrc
tcpdchk
tcpdmatch
tcpdrop
tcpdump
tests
traceroute
traceroute6 Remove the USE_RFC2292BIS option and reap dead code 2019-07-22 20:11:33 +00:00
trim
trpt trpt(8): Clean up build hack to detect ancient compiler 2018-02-16 20:46:44 +00:00
tzsetup tzsetup: upgrade to zone1970.tab 2019-07-17 06:17:27 +00:00
uathload
uefisign
ugidfw
uhsoctl
unbound
usbconfig Implement detach_kernel_driver command in usbconfig(8). 2019-08-16 21:17:56 +00:00
usbdump
utx
vidcontrol
vigr
vipw
wake various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
watch
watchdogd
wlandebug
wpa pkgbase: Add a FreeBSD-hostapd package 2019-07-19 15:09:00 +00:00
yp_mkdb
ypbind
ypldap Increase YPMAXRECORD to 16M to be compatible with Linux. 2019-08-12 20:27:33 +00:00
yppoll
yppush Increase YPMAXRECORD to 16M to be compatible with Linux. 2019-08-12 20:27:33 +00:00
ypserv Increase YPMAXRECORD to 16M to be compatible with Linux. 2019-08-12 20:27:33 +00:00
ypset
zic
zonectl
zzz
Makefile - Retire pc-sysinstall(8) 2019-09-03 19:42:04 +00:00
Makefile.amd64
Makefile.arm
Makefile.arm64
Makefile.i386
Makefile.inc
Makefile.mips
Makefile.powerpc
Makefile.riscv
Makefile.sparc64