Skip to content

Releases: nmuellerdo/ses-led-control

v0.1.2

Choose a tag to compare

@nmuellerdo nmuellerdo released this 16 Jul 12:27

Security and robustness fix for the interactive menu. Recommended update from v0.1.0 / v0.1.1.

  • Fixed a command-execution path: the menu row selection was evaluated as a bash arithmetic array subscript, so input like 0,R_ENC[$(cmd)] could run cmd as root. Row input is now validated as a plain base-10 index.
  • Malformed input (08, 1x, ...) no longer crashes the menu, and a leading zero is no longer parsed as octal (which toggled the wrong slot).
  • ident / fault / off-all now fail with a clear message when no enclosure slots can be read, instead of a misleading "Target not found" under --dry-run.
  • discover_enclosures ignores lsscsi lines without a real /dev/sg node; dropped the undocumented menu alias.

This matters most if the tool is whitelisted in sudoers. See CHANGELOG.md.

v0.1.1

Choose a tag to compare

@nmuellerdo nmuellerdo released this 16 Jul 11:49

Practical usage on TrueNAS SCALE.

  • Recommended usage is now a single-file download - no install, no clone:
    curl -fsSLO https://raw.githubusercontent.com/nmuellerdo/ses-led-control/main/bin/ses-led-control
    then sudo bash ses-led-control.
  • Removed install.sh: TrueNAS SCALE mounts /usr read-only, so installing to
    /usr/local/bin failed even as root.
  • The GitHub Pages landing page now has an interactive terminal demo.

The tool itself is unchanged from v0.1.0. See CHANGELOG.md.

v0.1.0

Choose a tag to compare

@nmuellerdo nmuellerdo released this 16 Jul 11:32

First public release of ses-led-control.

Control the Identify (locate) and Fault LEDs of disk slots in enclosures that
speak SES (SCSI Enclosure Services) on Linux - built with TrueNAS SCALE in mind,
which has no built-in way to drive these LEDs.

Highlights

  • Slot overview across all SES enclosures (device, serial, model, size, firmware,
    status, IDENT/FAULT), including empty slots.
  • Interactive menu and non-interactive CLI: list, ident on|off <target>,
    fault on|off <target>, off-all.
  • Targets by block device (/dev/sdX or sdX), disk serial, or sgN:slot.
  • --dry-run prints the sg_ses commands without touching hardware; root is
    only needed to actually switch LEDs.
  • Offline parity self-test and shellcheck CI.

Developed and tested on TrueNAS SCALE (Supermicro SC846P + LSI SAS3x36). Written
with the help of Claude (Anthropic). See CHANGELOG.md for details.