iiod(1)

πŸ“¦
version 0.26 Β· 6 versions
, in ubuntu resolute, ubuntu stonking

πŸ’– iiod β€” the IIO Daemon, bestie edition πŸ’–

okay so real quick β€” this is iiod(1) from the LibIIO Utilities set, and she is that girl. pull up a chair, grab a strawberry πŸ“, and let's get into it.


✨ NAME ✨

iiod β€” the IIO Daemon. that's it, that's the name, she's iconic πŸ‘‘


🌸 SYNOPSIS 🌸

iiod [ options ]

literally just her and her options, living her best life.


πŸ¦‹ DESCRIPTION πŸ¦‹

so iiod is a server built on top of Libiio, and what she does is share a Libiio context across the network, USB, or a UART link. no cap. one context, many friends, all vibes. πŸ’…


πŸŽ€ COMMANDS πŸŽ€

one bullet per option, no skips, no summaries, we don't gatekeep here:

  • -V, --version β€” shows you the version of this program. cute lil flex.
  • -d, --debug β€” uses the alternative debug interface. and bestie, it is incompatible, that's literally stated, so don't come crying to me.
  • -D, --demux β€” demux channels directly on the server. doing the work herself, main character energy fr fr.
  • -i, --interactive β€” runs iiod in the controlling terminal.
  • -a, --aio β€” use asynchronous I/O. fast girl behavior πŸ”₯
  • -F, --ffs <arg> β€” uses the given FunctionFS mountpoint to serve over USB.
  • -n, --nb-pipes <arg> β€” specifies the number of USB pipes (ep couples) to use.
  • -s, --serial <arg> β€” runs iiod on the specified UART.
  • -p, --port <arg> β€” the port to listen on, and the default is 30431. and here's the tea: using --port 0 will pick an ephemeral port (dynamic / unused in the range between 32768–60999). so mysterious of her ✨
  • -u, --uri β€” the Uniform Resource Identifier (uri) for connecting to devices, and it can be one of these:
    • ip:[address] β€” a network address, either numeric (192.168.0.1) or a network hostname.
    • ip: β€” blank. if compiled with zeroconf support, she will find an IIO device on network. she'll hunt it down herself πŸ•΅οΈβ€β™€οΈ
    • usb:[device:port:instance] β€” normally returned from iio_info -S.
    • serial:[port],[baud],[settings] β€” these are controlled, and they need to match the iiod (or tinyiiod) on the other end of the serial port. mutual understanding, as it should be 🫢
      • [port] is something like '/dev/ttyUSB0' on Linux, and 'COM4' on Windows.
      • [baud] is normally one of 110, 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 38400, 57600, 115200 [default], 128000 or 256000, but ngl it can vary system to system.
      • [settings] would normally be configured as '8n1', and this is controlled by:
        • data_bits: (5, 6, 7, 8 [default], or 9)
        • parity_bits: ('n' none [default], 'o' odd, 'e' even, 'm' mark, or 's' space)
        • stop_bits: (1 [default], or 2)
        • flow_control: ('0' none [default], 'x' Xon Xoff, 'r' RTSCTS, or 'd' DTRDSR)
    • local: β€” with no address part. this is the default. she stays home πŸ’œ

πŸ’€ RETURN VALUE πŸ’€

if the specified device is not found, a non-zero exit code is returned. so like, check ur uri before u text her back, okay? 😭


bestie PSA: the debug interface in -d is explicitly described as alternative (incompatible) β€” that's not me being dramatic, that's the manpage. respect the caveat. πŸ™ˆ

and that's the whole page, no notes. slay. βœ¨πŸŒΈπŸ¦‹πŸŽ€πŸ’…

signing off with the receipts: this is from libiio-0.26, dated 06 February 2026. periodt. πŸ‘‘

πŸ“¦ where this page comes from