iecset(1)
π iecset β the manual, but make it make sense π
okay bestie, so this is iecset from the General Commands Manual section (that's section 1, the "type this at your shell" zone), and I'm gonna walk you through it like we're on a call. grab a snack. π
β¨ NAME β¨
iecset β set or dump IEC958 status bits π
πΈ SYNOPSIS πΈ
iecset [options] [cmd arg...]
that's it. that's the whole vibe. options first, commands after, slay. β¨
π¦ DESCRIPTION π¦
so iecset is this tiny little utility (not me calling it small, it literally is) that sets or dumps the IEC958 status bits β which is the thing everybody calls "S/PDIF" β on whichever sound card you point it at, and it does all of that through the ALSA control API. no cap. π
here's the tea on how it behaves:
- start
iecsetwith no arguments except for options? it just shows you the current IEC958 status in a human-readable form. like, it's reading your card's mind and translating. π - give it commands in the arguments instead? it parses them, updates the IEC958 status bits, and then shows you the resultant status too. it never leaves you hanging. π«Ά
and about those commands β each one is made of a command directive and an argument. and when the argument is a boolean, you're allowed to write any of these: yes, no, true, false, or a digit number. so many options, we love to see it. π
π₯ EXAMPLES π₯
iecset -Dhw:1
displays the current IEC958 status bits on the second card. and btw? this is equivalent with -c 1. same thing, different font. π
iecset -x
displays the current IEC958 status bits in the style of the arguments for the PCM stream. the output string it spits out can be passed to the iec958 (or spdif) PCM type as the optional argument. it's giving "here's your plug-and-play string bestie". π
iecset pro off audio off
sets the current status to the consumer-mode and turns on the non-audio bit. and yes, the modified status will be shown too. periodt. β
wait, "pro off" turning on consumer mode and "audio off" turning on non-audio β yes bestie, off on a boolean means the other side of the flag gets lit. the flags are named for the true side. iykyk. π
π OPTIONS π
-Ddevice β specifies the device name of the control to open. π-ccard β specifies the card index to open. equivalent with-Dhw:x. π-nindex β specifies the IEC958 control element index, for when you have multiple IEC958 devices and you gotta choose one of them. pick your fighter. π-xβ dumps the status in the form of AESx bytes. β¨-iβ reads the command sequences from stdin. each line has a single command. one per line, no crowding. πΈ
π COMMANDS π
professional<bool> β the professional mode (true) or consumer mode (false). πaudio<bool> β the audio mode (true) or non-audio mode (false). π₯rate<int> β the sample rate, in Hz. π¦emphasis<int> β the emphasis:0= none,1= 50/15us,2= CCITT. πlock<bool> β rate lock: locked (true), unlocked (false). > heads up: this command is for the professional mode only. πsbits<int> β sample bits:2= 20bit,4= 24bit,6= undefined. > also professional mode only, bestie. πwordlength<int> β wordlength:0= No,2= 22-18 bit,4= 23-19 bit,5= 24-20 bit,6= 20-16 bit. > yep, professional mode only. βcategory<int> β category: the value runs from0to0x7f. > this one is consumer mode only. πcopyright<bool> β copyright: copyrighted (true), non-copyrighted (false). > consumer mode only. πoriginal<boo> β original flag: original (true), 1st generation (false). > consumer mode only. πΈ
π AUTHOR π
Takashi Iwai <tiwai@suse.de> β the icon, the legend, the moment. π
okay that's the whole page, you're officially an IEC958 girlie now π β¨
this was written up on 23 Oct 2003, it's part of the General Commands Manual, and yeah β the page you're looking at is iecset(1). that's a whole 20+ years of status bits being set and dumped and honestly? iconic. go forth and set your bits, bestie. π«Άπππ¦
π¦ where this page comes from
- alpine 3.22: alsa-utils-doc 1.2.14-r0 Β· GPL-2.0-or-later
- alpine 3.23: alsa-utils-doc 1.2.14-r4 Β· GPL-2.0-or-later
- alpine 3.24: alsa-utils-doc 1.2.15.2-r1 Β· GPL-2.0-or-later
- arch rolling: alsa-utils 1.2.16-1 Β· GPL-2.0-or-later
- centos-stream 10: alsa-utils 1.2.16-1.el10 Β· GPL-2.0-or-later
- centos-stream 9: alsa-utils 1.2.16-1.el9 Β· GPLv2+
- debian bookworm: alsa-utils 1.2.8-1 Β· GPL-2.0-only
- debian trixie: alsa-utils 1.2.14-1 Β· GPL-2.0-only
- fedora 43: alsa-utils 1.2.14-2.fc43 Β· GPL-2.0-or-later
- fedora 43: alsa-utils 1.2.16-1.fc43 Β· GPL-2.0-or-later
- fedora 44: alsa-utils 1.2.15.2-3.fc44 Β· GPL-2.0-or-later
- fedora 44: alsa-utils 1.2.16-1.fc44 Β· GPL-2.0-or-later
- nixos 26.05: alsa-utils 1.2.14
- nixpkgs unstable: alsa-utils 1.2.16
- opensuse-leap 16.0: alsa-utils 1.2.14-160000.2.2 Β· GPL-2.0-or-later
- opensuse-leap 16.0: alsa-utils 1.2.14-160000.2.2 Β· GPL-2.0-or-later
- opensuse-leap 16.0: alsa-utils 1.2.14-160000.2.2 Β· GPL-2.0-or-later
- opensuse-leap 16.0: alsa-utils 1.2.14-160000.2.2 Β· GPL-2.0-or-later
- ubuntu jammy: alsa-utils 1.2.6-1ubuntu1 Β· GPL-2.0-only
- ubuntu noble: alsa-utils 1.2.9-1ubuntu5 Β· GPL-2.0-only
- ubuntu questing: alsa-utils 1.2.14-1ubuntu1
- ubuntu resolute: alsa-utils 1.2.15.2-1ubuntu1 Β· GPL-2.0-only
- ubuntu stonking: alsa-utils 1.2.15.2-1ubuntu2 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms