ISOTPSEND(1)
π ISOTPSEND β the manual page, but make it make sense π
okay bestie, so this is isotpsend, and it lives in section 1 of the manual (that's the "User Commands" girlies π
). It's the manual page for isotpsend 2023.03-1build1, and yes, the whole vibe is: you're pushing ISO-TP PDUs out onto a CAN interface, and it EATS the PDU data off STDIN. No cap. Let's get into it. π¦
β¨ SYNOPSIS β¨
isotpsend [options] <CAN interface>
that's it. that's the whole shape of it. you give it a CAN interface, you give it some options, and you feed it hex off STDIN like it's a little hungry gremlin π
π OPTIONS π
-s <can_id>β the source can_id. fr fr: use 8 digits if you're working with extended IDs, don't be out here being sloppy with your digit count π-d <can_id>β the destination can_id. same energy as-s: 8 digits for extended IDs, bestie, use all of them π-x <addr>[:<rxaddr>]β extended addressing, and you can optionally tack on a separate rxaddr after the colon if you're feeling fancy π-p [tx]:[rx]β sets and enables the tx/rx padding bytes. both slots, one flag, iconic behavior honestly.-P <mode>β checks the rx padding. pick your mode: (l)ength, (c)ontent, or (a)ll. yes you literally just say the letter, it's giving letter-of-the-day π-t <time ns>β the frame transmit time (that's N_As) in nanosecs. this one has a little star on it, hold onto that thought. (*) β-f <time ns>β ignores the FC (flow control) and force-feeds a local tx stmin value, in nanosecs. it's not waiting around for permission, it's the main character π€-D <len>β sends a fixed PDU withlenbytes. and the big part: no STDIN data. none. zero. it doesn't want any, so don't give it any. π-l <num>β sendsnumPDUs. and if you're truly unhinged, use'i'for an infinite loop. that's not a typo, that's a lifestyle. ππ₯-g <usecs>β waits the givenusecs(microseconds, bestie) before sending a PDU. little pause, little breather, self-care π§-bβ blocks until the PDU transmission is completed. it WILL wait for its moment and you WILL respect it.-Sβ SF broadcast mode β for functional addressing. π‘-Cβ CF broadcast mode β does not wait for flow controls. it said "no thoughts, just transmit" π-L <mtu>:<tx_dl>:<tx_flags>β link layer options for CAN FD. three values, colons between them, slay in that order. β¨
π«Ά THE IMPORTANT DEETS π«Ά
CAN IDs and addresses are given and expected in hexadecimal values. so if you fed it decimal and it looked at you weird β yeah, that's on that. lowkey important.
The pdu data is expected on STDIN, in space separated ASCII hex values. so it's not taking the data as an argument, it's taking it from stdin. feed it right, bestie. π
(*) = Use -t ZERO to set N_As to zero for Linux version 5.18+. that's the star from earlier. that's what it was for. no cap. β
and that's the whole page, we're done, go transmit something π
this was isotpsend from version 2023.03-1build1, dated December 2025 β mwah, take care of her, she's doing her best π«Άπβ¨
π¦ where this page comes from
- ubuntu resolute: can-utils 2023.03-1build1 Β· GPL-2.0-only
- ubuntu stonking: can-utils 2023.03-1build1 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms