cangen1
Manual page for cangen 2023.03-1
Usage
cangen [options]
<CAN
interface>
Overview
cangen - CAN frames generator.
Options
-
-g <ms> -
(gap in milli seconds - default: 200 ms)
-
-a -
(use absolute time for gap)
-
-t -
(use SO_TXTIME)
-
--start <ns> -
(start time (UTC nanoseconds))
-
--mark <id> -
(set SO_MARK to <id>, default 1)
-
-e -
(generate extended frame mode (EFF) CAN frames)
-
-f -
(generate CAN FD CAN frames)
-
-b -
(generate CAN FD CAN frames with bitrate switch (BRS))
-
-E -
(generate CAN FD CAN frames with error state (ESI))
-
-R -
(generate RTR frames)
-
-8 -
(allow DLC values greater then 8 for Classic CAN frames)
-
-m -
(mix
-e-f-b-E-Rframes)
-
-I <mode> -
(CAN ID generation mode - see below)
-
-L <mode> -
(CAN data length code (dlc) generation mode - see below)
-
-D <mode> -
(CAN data (payload) generation mode - see below)
-
-p <timeout> -
(poll on
-ENOBUFSto write frames with <timeout> ms)
-
-n <count> -
(terminate after <count> CAN frames - default infinite)
-
-i -
(ignore
-ENOBUFSreturn values on write() syscalls)
-
-x -
(disable local loopback of generated CAN frames)
-
-c <count> -
(number of messages to send in burst, default 1)
-
-v -
(increment verbose level for printing sent CAN frames)
Generation modes:
- 'r'
-
=> random values (default)
- 'e'
-
=> random values, even ID
- 'o'
-
=> random values, odd ID
- 'i'
-
=> increment values
-
<value> => fixed value (in hexadecimal for
-Iand-D)
-
=> nibbles written as 'x' are randomized (only
-D)
The gap value (in milliseconds) may have decimal places, e.g. '-g 4.73' When incrementing the CAN data the data length code minimum is set to 1. CAN IDs and data content are given and expected in hexadecimal values.
Examples
cangen vcan0 -g 4 -I 42A -L 1 -D i -v -v
-
(fixed CAN ID and length, inc. data)
cangen vcan0 -e -L i -v -v -v
-
(generate EFF frames, incr. length)
cangen vcan0 -D 11223344DEADBEEF -L 8
-
(fixed CAN data payload and length)
cangen vcan0 -D 11xx3344DEADBEEF -L 8
-
(fixed CAN data payload where 2. byte is randomized, fixed length)
cangen vcan0 -I 555 -D CCCCCCCCCCCCCCCC -L 8 -g 3.75
-
(generate a fix busload without bit-stuffing effects)
cangen vcan0 -g 0 -i -x
-
(full load test ignoring -ENOBUFS)
cangen vcan0 -g 0 -p 10 -x
-
(full load test with polling, 10ms timeout)
cangen vcan0
-
(my favourite default :)
History
- Debian 13 (Trixie): the text shown here
- Debian 12 (Bookworm) to Debian 11 (Bullseye)
- Debian 10 (Buster)
--mark since Debian 13 (Trixie);
--start since Debian 13 (Trixie);
-8 since Debian 13 (Trixie);
-E since Debian 11 (Bullseye);
-a since Debian 13 (Trixie);
-c since Debian 11 (Bullseye);
-t since Debian 13 (Trixie).