ISOTEST(1)

✨ NAME ✨

isotest β€” ISO testing, bestie. That's the whole name, no cap. πŸ¦‹


πŸŽ€ SYNOPSIS πŸŽ€

isotest <MODE> [OPTIONS] [bdaddr] [bdaddr1]...

πŸ’– DESCRIPTION πŸ’–

So isotest(1) is literally the tool you use to test Isochronous (CIS/BIS) communications on the BlueZ stack. That's it, that's the vibe. If you're messing with CIS or BIS on BlueZ, this is your girl. πŸ’…


🌈 MODES 🌈

Pick one, she's your main character for the run:

  • -d, --dump=[FILE] β€” Listen and dump incoming data (CIS server / BIS broadcaster), and if you want, save all that content into FILE. πŸ‘‘
  • -c, --reconnect β€” Reconnect (CIS client). Simple. Clean.
  • -m, --multiple β€” Multiple connects (CIS client). Yes plural, she's social. πŸ’–
  • -r, --receive=[FILE] β€” Receive (CIS server / BIS broadcast receiver), optionally saving the contents to FILE.
  • -s, --send=[FILE] β€” Connect and send (CIS client / BIS broadcaster), and optionally pull the contents from FILE instead. πŸ“€
  • -n, --silent β€” Connect and be silent (CIS client / BIS broadcaster). Not a word. The strong silent type. 🀫

πŸ’… OPTIONS πŸ’…

okay this is the long part but stay with me, every single one matters:

  • -b, --bytes=<SIZE> β€” Send or Receive packet size. πŸ“¦
  • -i, --index=<NUM> β€” Select the specified HCI device index. Good news: hciNUM is also acceptable, so pick your fave spelling. πŸŽ€
  • -j, --jitter=<JITTER> β€” Socket jitter buffer.
  • -h, --help β€” the help. The original gives no description and honestly? She just is help. πŸ’€
  • -q, --quiet β€” Disables packet logging. (Not the same as --silent, don't get it twisted. 🫢)
  • -t, --timeout=<USEC> β€” Socket send timeout.
  • -C, --continue β€” Continuously send packets, starting over in case of a file. πŸ”
  • -W, --defer=<SEC> β€” Enable deferred setup.
  • -M, --mtu=<SDU> β€” Socket QoS SDU.
  • -S, --sca/adv-interval=<SCA/INTERVAL> β€” Socket QoS CIS SCA / BIS advertising interval.
  • -P, --packing=<PACKING> β€” Socket QoS Packing. The options are:
    • 0x00 β€” Sequential
    • 0x01 β€” Interleaved
  • -F, --framing=<FRAMING> β€” Socket QoS Framing. The options are:
    • 0x00 β€” Unframed
    • 0x01 β€” Framed
  • -I, --interval=<USEC> β€” Socket QoS Interval.
  • -L, --latency=<MSEC> β€” Socket QoS Latency.
  • -Y, --phy=<PHY> β€” Socket QoS PHY. The options are:
    • 0x01 β€” LE 1M
    • 0x02 β€” LE 2M
    • 0x03 β€” LE Coded
  • -R, --rtn=<NUM> β€” Socket QoS retransmissions.
  • -B, --preset=<PRESET> β€” Socket QoS preset.
  • -G, --CIG/BIG=<ID> β€” Socket QoS CIG/BIG ID.
  • -T, --CIS/BIS=<ID> β€” Socket QoS CIS/BIS ID.
  • -V, --type=<TYPE> β€” Socket destination address type:
    • le_public β€” LE Public Address
    • le_random β€” LE Random Address
  • -e, --enc=<ENCRYPTION> β€” Socket QoS BIG Encryption. The options are:
    • 0x00 β€” BIG unencrypted
    • 0x01 β€” BIG encrypted
  • -k, --bcode=<BCODE> β€” Socket QoS Broadcast Code. 🀫
  • -N, --nbis=<NBIS> β€” Number of BISes to create as part of a BIG (BIS broadcaster) or to synchronize to (BIS broadcast receiver).

πŸ¦‹ EXAMPLES πŸ¦‹

Real scenarios, real commands, copy them exactly bestie:

Unicast Central

$ tools/isotest -s XX:XX:XX:XX:XX:XX

Unicast Central connecting to 2 peers using CIG 0x01

$ tools/isotest -G 0x01 -s XX:XX:XX:XX:XX:XX YY:YY:YY:YY:YY:YY

Unicast Peripheral

$ tools/isotest -d

Broadcaster

$ tools/isotest -s 00:00:00:00:00:00

Broadcast Receiver using hci1

$ tools/isotest -i hci1 -d XX:XX:XX:XX:XX:XX

🌸 RESOURCES 🌸

<http://www.bluez.org> β€” go, absorb the lore. iykyk. πŸ’œ


πŸ› REPORTING BUGS πŸ›

<linux-bluetooth@vger.kernel.org> β€” found something cursed? Tell them, don't suffer in silence. 😭


πŸ‘‘ AUTHOR πŸ‘‘

Luiz Augusto Von Dentz <luiz.von.dentz@intel.com> β€” legend behavior, fr fr. 🫢


Free use of this software is granted under the terms of the GNU Lesser General Public Licenses (LGPL). Slay. πŸ’–


This whole page came to you courtesy of BlueZ, dated May 4, 2022 β€” and that's the tea, bestie. Stay isochronous. ✨