CHCCWDEV(8)

πŸ“¦ version 2.44.1, in opensuse-leap 16.0

πŸ’… chccwdev β€” like, the manual page, but make it make sense

okay so bestie, welcome to chccwdev(8) β€” a System Manager's Manual moment, section 8, and honestly? she's iconic. this is the tool you reach for when you need to poke at the generic attributes of channel attached devices. no cap. πŸŽ€


✨ NAME ✨

chccwdev β€” modify generic attributes of channel attached devices. that's the whole vibe. periodt.


🌸 SYNOPSIS 🌸

chccwdev -h

chccwdev [ (-a <name>=<value> | -e | -d | -s | -f) [...]]
         <range> [, <range> [...]]

chccwdev -v

like, three whole modes. pick your fighter πŸ’–


πŸ¦‹ DESCRIPTION πŸ¦‹

so the chccwdev command sets generic attributes for devices that are controlled by the common I/O subsystem. that's the whole job description, and she does it well.

attributes get set in the order they're specified on the commandline β€” except the online attribute, which is special (main character energy, we'll get to her). πŸ‘‘

if the same attribute is given more than one time, the value that was set last wins. and yes, that's also true β€” even though it's lowkey not that obvious β€” when you're mixing the generic -a and the -e, -d, -s and -f arguments. 🀯

all attributes will be set in the following order:

  1. all attributes except online. if the device is offline there will be no error if the attribute doesn't exist.
  2. set the online attribute to the desired value β€” that's (forced) online or (safe) offline. ✨
  3. set all the attributes that haven't been set yet. at this point, invalid attribute names will always cause an error. no grace, no mercy πŸ’€
⚠️ okay listen: if any error occurs, the execution is terminated. so if you're using ranges, only the devices before the current one have been modified. there is no automatic rollback. all attributes that already have been changed will stay that way. she does not undo her choices, bestie 😭

πŸ’… OPTIONS πŸ’…

  • -h, --help β€” print help text. the "hey what does this do" button 🫢
  • -v, --version β€” print the version of the s390-tools package and the command. receipts, basically 🧾
  • -a, --attribute <name>=<value> β€” try to set the attribute named name to the given value. after writing the attribute it will be read back to check whether the setting was accepted. she double-checks. that's the vibe check πŸ”₯
  • -e, --online β€” try to set the specified devices online.
  • -f, --forceonline β€” same as online, but for devices that support this (DASD devices), it can be used to bring it online regardless of any reserved states. it's giving "no thoughts, just force" πŸ’€
  • -d, --offline β€” try to set the specified devices offline. heads up: the --online, --forceonline, --offline, and --safeoffline options are mutually exclusive. pick one, bestie πŸ™ˆ
  • -s, --safeoffline β€” DASD only: for each specified device, wait until all outstanding I/O requests have completed, and then try to set the device offline. very "let her finish her sentence" of it. also, the --online, --forceonline, --offline, and --safeoffline options are mutually exclusive ✨

πŸŽ€ the grammar, because yes πŸŽ€

<range> = <bus ID>[-<bus ID>]

<bus ID> = ([0-9]+\.[0-9]+\.)?[0-9a-f]{1,4}

note that bus IDs specified in short form (i.e. without leading 0.<n>.) will be interpreted as 0.0.<bus ID>.

example: "0192" becomes "0.0.0192". she fills in the blanks for you, that's just how she is πŸ¦‹


🌈 EXAMPLES 🌈

chccwdev --online 0.0.0192,0.0.0195-0.0.0198

tries to set the devices with the bus ID 0.0.0192, 0.0.0195, 0.0.0196, 0.0.0197 and 0.0.0198 online. inclusive range, slay ✨

chccwdev --attribute readonly=1 --attribute online=1 0.0.0192

this will try to set the device with bus ID 0.0.192 online with the readonly attribute set to one (read-only mode). yes, it says 0.0.192 and the rest says 0.0.0192 β€” that's the original's energy, i'm just reporting it πŸ’…

chccwdev --attribute cmb_enable=1 0.0.0195-0.0.0198

set the cmb_enable attribute of the devices 0.0.0195, 0.0.0196, 0.0.0197 and 0.0.0198 to one. this would for example activate the usage of the channel measurement block facility. look at her, enabling facilities 🧚

chccwdev --safeoffline 0.0.0192,0.0.0195-0.0.0198

after completing all outstanding I/O requests for the devices with bus ID 0.0.0192, 0.0.0195, 0.0.0196, 0.0.0197 and 0.0.0198, tries to set the devices offline. patiently. respectfully. 🫢


πŸ‘‘ AUTHOR πŸ‘‘

this man-page was written by Stefan Bader <shbader@de.ibm.com>. appreciate him, fr fr πŸ’–


⭐ SEE ALSO ⭐

  • lscss(8) β€” go read that one next, iykyk

πŸ’œ and that's the whole page! this little gem is from the s390-tools package, dated Apr 2006 β€” vintage, but still hitting different. bestie, you're now officially chccwdev-literate. go set some attributes responsibly 😭🌸
πŸ“¦ where this page comes from