Commit Graph

54 Commits (31a59be02f279af14ff0acf7c32fd852c324890d)

Author SHA1 Message Date
Marc Kleine-Budde ef6c39ebd6 cansequence: add missing "--strict" to long_options
Fixes: 642190647e ("cansequence: add option to ignore classical CAN frames")
2023-12-05 10:38:23 +01:00
Marc Kleine-Budde 642190647e cansequence: add option to ignore classical CAN frames 2023-11-29 18:28:32 +01:00
Marc Kleine-Budde bd835f2ca2 cansequence: add support to send and receive CAN-FD 2023-11-29 18:24:19 +01:00
Marc Kleine-Budde 6695f6f557 cansequence: print_usage(): clarify help for -e, --extended option 2023-11-29 18:24:19 +01:00
Marc Kleine-Budde 92a99c33ad cansequence: print_usage(): convert tabs to spaces in help text 2023-11-29 18:24:19 +01:00
Marc Kleine-Budde 0b0bce87c4 cansequence: also show help for option "-?"
This avoids the "invalid option" error message in the auto generated
man pages.

| DESCRIPTION
|       ./cansequence: invalid option -- '?'
2023-11-29 18:24:19 +01:00
Marc Kleine-Budde e8a808e2ab cansequence: convert extended, receive from int -> bool 2023-11-29 18:24:19 +01:00
Marc Kleine-Budde 5c433340c3 cansequence: convert towards kernel coding style 2023-11-29 17:23:00 +01:00
Marc Kleine-Budde 5e3397ee71 cansequence: print counter received data as hex
In the CAN universe, most data is displayed in hex. Change the verbose
output to hex, to ease debugging.
2023-11-24 08:04:55 +01:00
Marc Kleine-Budde c8cf342cb2 cansequence: main(): error handling: add "()" to function name in error message
Commit 0be066bee6 ("cansequence: main(): allow to bind on "any"
interface") converted from SIOCGIFINDEX ioctl() to if_nametoindex()
and adjusted the error message, but forgot the "()" after the function
name, which is used in the rest of the error messages in this file.

Add the missing "()".

Fixes: 0be066bee6 ("cansequence: main(): allow to bind on "any" interface")
2023-09-19 08:57:44 +02:00
Marc Kleine-Budde e7c03ee93b cansequence: do_receive(): fix error message if recvmsg() fails
In commit 9567230494 ("cansequence: print out dropped packages by
socket counter"), the read() syscall was replaced by recvmsg(). Adjust
error message accordingly.

Fixes: 9567230494 ("cansequence: print out dropped packages by socket counter")
2023-09-19 08:55:53 +02:00
Marc Kleine-Budde d7a51a5494 cansequence: remove --version option from help text
It is not implemented and not supported by any of the can-utils, so
remove it.

Reported-by: Jan Luebbe <jlu@pengutronix.de>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2023-09-18 17:09:00 +02:00
Marc Kleine-Budde 87a6788e6d cansequence: do_send(): fix errno check
"errno" hold the positive error value.

Link: https://github.com/linux-can/can-utils/issues/448
Reported-by:  Adien Akhmad <adien.akhmad@gmail.com>
Suggested-by: Oliver Hartkopp <socketcan@hartkopp.net>
Fixes: fb5903f226 ("[cansequece] added various improvements")
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2023-08-28 16:11:24 +02:00
Marc Kleine-Budde 0be066bee6 cansequence: main(): allow to bind on "any" interface
This is handy for running cansequence during an ifdown/ifup or a
rmmod/insmod cycle.
2023-07-07 08:34:11 +02:00
Marc Kleine-Budde 87def9b1fa cansequence: main(): use C99 initializers for struct sockaddr_can addr
By using C99 initializers for struct sockaddr_can addr the not
assigned members are automatically set to 0x0, resulting in not
passing uninitialized memory to the bind() syscall.

Also remove the printing of the socket family, type and proto, this
was interesting back in the days, when the numbers were not fixed, yet.
2023-07-07 08:34:11 +02:00
Yasushi SHOJI 3caf692925 cansequence: Follow Bash exit status when signaled
Bash and many other shells use 128 + signum as the exit status when a
program get signal and exit.  Follow the common behavior so that we
know how the programs are killed.

Signed-off-by: Yasushi SHOJI <yashi@spacecubics.com>
2023-03-20 10:22:12 +09:00
Marc Kleine-Budde 7d375df741 cansequence: do_receive(): improve output in case of packet miss-match 2022-12-19 15:26:28 +01:00
Stefan Herbrechtsmeier 7af4264a13 cansequence: exit program with failure in case of poll timeout
The poll function returns 0 to indicate a call timed out.

Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com>
2022-01-27 15:53:10 +01:00
Marc Kleine-Budde ccfa3c8b00 cansequence: do_send(): remove unneeded cast
This patch fixes the following warning:

cansequence.c:232:3: warning: expression result unused [-Wunused-value]
	(unsigned char)frame.data[0]++;
	^              ~~~~~~~~~~~~~~~

Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2020-11-04 14:58:10 +01:00
Marc Kleine-Budde a726c2a57a Merge branch 'cansequence' of github.com:marckleinebudde/can-utils into master
The PTX flavour canutils have a useful utility for generating a sequence of CAN
frames with an incrementing payload and checking such a sequence for missed and
reordered frames.

Recently, it has helped finding a regression in the kernel pfifo_fast qdisc,
which led to reordered frames.

To bring the utility to a greater audience, import the current state, including
its history, into the linux-can set of utilities.

Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2020-10-19 13:44:16 +02:00
Marc Kleine-Budde a8131b7996 cansequence: add SPDX identifier for GPL-2.0-only and copyrights
Message-Id: 20201019111239.GM12463@pengutronix.de
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2020-10-19 13:26:43 +02:00
Marc Kleine-Budde 2afcbd2fee cansequence: print error frames in hex
Fixes: faad20983348 ("cansequence: receive snd show error frames")
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2020-10-14 18:02:32 +02:00
Marc Kleine-Budde 00134246c2 cansequence.c: add extended identifier flag to mask
Without this, the extended identifier flag was not important when
filtering on CAN frames. Add this to mask to only receive the frame type
we want to recieve.

Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2020-10-14 18:02:32 +02:00
Marc Kleine-Budde a1c20aeb45 cansequence: receive snd show error frames
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2020-10-14 18:02:32 +02:00
Marc Kleine-Budde d699135833 cansequence: show delta and obsolute overflows
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2020-10-14 18:02:32 +02:00
Marc Kleine-Budde de5b9607dc cansequence: add internal 32 bit sequence counter 2020-10-14 18:02:32 +02:00
Marc Kleine-Budde 36fc75bdb7 cansequence: use sigaction() instead of signal
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2020-10-14 18:02:32 +02:00
Marc Kleine-Budde 68d5f87889 cansequence: exit with failure in case of unknown option
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2020-10-14 18:02:32 +02:00
Marc Kleine-Budde 4d50109a69 cansequence: do_receive: move variables into loop
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2020-10-14 18:02:32 +02:00
Marc Kleine-Budde ac9124c776 cansequence: sort options more alphabetically
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2020-10-14 18:02:32 +02:00
Marc Kleine-Budde 0bcb5d9c2c cansequence: codingstyle cleanups
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2020-10-14 18:02:32 +02:00
Marc Kleine-Budde 1e0fb39e8b cansequence: add support for drop after a certain number of incidents
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2020-10-14 18:02:32 +02:00
Marc Kleine-Budde 9567230494 cansequence: print out dropped packages by socket counter
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2020-10-14 18:02:30 +02:00
Marc Kleine-Budde 985121aaad cansequence: cleanup perror() and exit()
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2020-10-14 18:02:24 +02:00
Marc Kleine-Budde 7975f9859c cansequence: make use of bool variables
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2020-10-14 18:02:24 +02:00
Marc Kleine-Budde c9bb22022d cansequence: move rx and tx loop into separate functions
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2020-10-14 18:02:24 +02:00
Marc Kleine-Budde 2f125e44ce cansequence: mark functions as static
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2020-10-14 18:02:24 +02:00
Marc Kleine-Budde 9841820ea0 [cansequence] add sequence wrap around counter
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2020-10-14 18:02:24 +02:00
Marc Kleine-Budde fb5903f226 [cansequece] added various improvements
- added poll support if sender
- add cmd line option for can_id
- setup canfilter to disable receiving in sender mode

Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2020-10-14 18:02:24 +02:00
Marc Kleine-Budde 4aaad29082 * src/cansequence.c:
obay loop option


git-svn-id: https://iocaste.extern.pengutronix.de/svn/canutils/trunks/canutils-3.0-trunk@104 5fd5a299-6ef2-0310-aa18-8b01d7c39d8c
2020-10-14 18:02:24 +02:00
Marc Kleine-Budde a16f8ed471 git-svn-id: https://iocaste.extern.pengutronix.de/svn/canutils/trunks/canutils-3.0-trunk@98 5fd5a299-6ef2-0310-aa18-8b01d7c39d8c 2020-10-14 18:02:24 +02:00
Marc Kleine-Budde 6e3b123d5b git-svn-id: https://iocaste.extern.pengutronix.de/svn/canutils/trunks/canutils-3.0-trunk@97 5fd5a299-6ef2-0310-aa18-8b01d7c39d8c 2020-10-14 18:02:20 +02:00
Marc Kleine-Budde c93d3a63c5 * src/cansequence.c, src/cansend.c:
fix interface cmd line

git-svn-id: https://iocaste.extern.pengutronix.de/svn/canutils/trunks/canutils-3.0-trunk@95 5fd5a299-6ef2-0310-aa18-8b01d7c39d8c
2020-10-14 18:02:10 +02:00
Marc Kleine-Budde 5fa35cbe2a git-svn-id: https://iocaste.extern.pengutronix.de/svn/canutils/trunks/canutils-3.0-trunk@92 5fd5a299-6ef2-0310-aa18-8b01d7c39d8c 2020-10-14 18:02:01 +02:00
Marc Kleine-Budde f4cec293dc git-svn-id: https://iocaste.extern.pengutronix.de/svn/canutils/trunks/canutils-3.0-trunk@91 5fd5a299-6ef2-0310-aa18-8b01d7c39d8c 2020-10-14 18:01:50 +02:00
Marc Kleine-Budde bd3ea25fe1 * src/cansequence.c, src/cansend.c:
cleanups

git-svn-id: https://iocaste.extern.pengutronix.de/svn/canutils/trunks/canutils-3.0-trunk@90 5fd5a299-6ef2-0310-aa18-8b01d7c39d8c
2020-10-14 18:01:48 +02:00
Marc Kleine-Budde d8be4d8a4f * src/canecho.c, src/candump.c, src/cansequence.c, src/cansend.c:
include limits.h

git-svn-id: https://iocaste.extern.pengutronix.de/svn/canutils/trunks/canutils-3.0-trunk@89 5fd5a299-6ef2-0310-aa18-8b01d7c39d8c
2020-10-14 18:01:37 +02:00
Marc Kleine-Budde b3b501d922 git-svn-id: https://iocaste.extern.pengutronix.de/svn/canutils/trunks/canutils-3.0-trunk@88 5fd5a299-6ef2-0310-aa18-8b01d7c39d8c 2020-10-14 18:01:23 +02:00
Marc Kleine-Budde 0c888d7942 * src/cansequence.c:
fixed print of received frame number


git-svn-id: https://iocaste.extern.pengutronix.de/svn/canutils/trunks/canutils-2.0-trunk@85 5fd5a299-6ef2-0310-aa18-8b01d7c39d8c
2020-10-14 18:00:36 +02:00
Marc Kleine-Budde ac8ae17727 * src/cansequence.c:
fixed out of order expected and received value


git-svn-id: https://iocaste.extern.pengutronix.de/svn/canutils/trunks/canutils-2.0-trunk@84 5fd5a299-6ef2-0310-aa18-8b01d7c39d8c
2020-10-14 18:00:36 +02:00