Commit Graph

841 Commits (6e7f845a6886d69e14b6fb3796673dd1efd217e0)

Author SHA1 Message Date
Oliver Hartkopp 6e7f845a68 isotpsend: add support for transmission without flow control
Usually the ISO 15765-2 protocol is a point-to-point protocol to transfer
segmented PDUs to a dedicated receiver. This receiver sends a flow control
message to specify protocol options and timings (e.g. block size / STmin).

The so called functional addressing communication allows a 1:N
communication but is limited to a single frame length.

The new CAN_ISOTP_CF_BROADCAST flag introduced in Linux 5.19 allows an
unconfirmed 1:N communication with PDU lengths that would not fit into a
single frame. This feature is not covered by the ISO 15765-2 standard.

The isotpsend tool gets a new option '-C' to enable this unconfirmed 1:N
communication by setting the CAN_ISOTP_CF_BROADCAST flag.

Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
2022-05-13 20:00:45 +02:00
Oliver Hartkopp d320a4a871 asc2log: reduce code duplication
Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
2022-05-01 13:57:25 +02:00
Oliver Hartkopp 81e76a7a0d log asc converter: support len8_dlc for Classical CAN frames part 2
In commit 6799180bd0 ("log asc converter: support len8_dlc for Classical
CAN frames") the len8_dlc support was accidentally only implemented for
the new CANFD asc format. This patch adds len8_dlc support for the 'old'
Classical CAN asc format which in fact always supported len8_dlc.

Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
2022-05-01 13:47:57 +02:00
Oliver Hartkopp 2bdb93924e asc2log: make sure we have read the dlc value with sscanf()
Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
2022-05-01 13:02:08 +02:00
Oliver Hartkopp afc6a324da asc2log: move check for error frames
We need to check for different sscanf() failures and the number of read
items in the data frames. So move the simple check to the beginning.

Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
2022-05-01 12:55:49 +02:00
Marc Kleine-Budde 901c9e519d
Merge pull request #354 from philschenker/master
Return -1 Exit-Code if compare_frame fails
2022-04-12 17:21:43 +02:00
Philippe Schenker 26842295b8 canfdtest: make use of return value of check_frame
check_frame has a return value. Make use of this in can_echo_dut which
then is evaluated and returned thereof in main()

Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2022-04-12 17:18:22 +02:00
Philippe Schenker 24de626f33 canfdtest: return -1 if compare_frame fails
Do report errors from function compare_frame also on the exit-code.

Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2022-04-12 17:10:58 +02:00
Oliver Hartkopp c70d0a8e61 candump: handle individual logfile name for stdout
Since commit ad250a68dc ("candump: add option to define individual
filename for logfile") the option "-f <fname>" allows to define an
individual filename for a logfile.

Usually the "-" is used as filename to represent stdout or stdin on
Linux/Posix systems to be able to concatenate several applications via
pipes. This patch handles this special case by detecting the filename
"-" to print the logfile format on stdout instead of creating a logfile
with the name "-".

Fixes: ad250a68dc ("candump: add option to define individual filename for logfile")
Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
2022-03-25 15:15:57 +01:00
Marc Kleine-Budde aa3f029925
Merge pull request #351 from hartkopp/isotp-updates
isotp: support Linux 5.18 features
2022-03-14 20:47:09 +01:00
Oliver Hartkopp dfb607c807 remove obsolete char pointer casts
Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
2022-03-14 18:21:45 +01:00
Oliver Hartkopp 84d3294132 isotp: support Linux 5.18 features
- update isotp.h include file
- update maximum PDU (buffer) size to 64kByte buffer
- support setting of N_As (frame_txtime) to zero

Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
2022-03-12 18:09:48 +01:00
Oliver Hartkopp 5e0895981b candump: fix accidentally disabled traffic timeout feature
With the option '-T <msecs>' candump terminates after getting no CAN traffic
for a specific time. With the introduction of epoll_wait() this feature
has been accidentally disabled.

This patch adds an extra check to detect the timeout again.

Fixes: 639498bc80 ("candump: use epoll_wait() instead of select()")
Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
2022-03-07 10:32:41 +01:00
Oliver Hartkopp ad250a68dc candump: add option to define individual filename for logfile
Link: https://github.com/linux-can/can-utils/pull/345
Suggested-by: https://github.com/xR3b0rn
Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
2022-02-16 11:46:46 +01:00
Marc Kleine-Budde ec6a573de1
Merge pull request #342 from hartkopp/isotpsend
isotpsend: add new options to generate PDU traffic load
2022-02-10 09:29:19 +01:00
Oliver Hartkopp acec220189 isotpsend: add new options to generate PDU traffic load
Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
2022-02-09 18:34:09 +01:00
Marc Kleine-Budde b38d2639ba
Merge pull request #341 from marckleinebudde/mcp251xfd-dump
mcp251xfd-dump: add dump for IOCON register
2022-02-09 08:36:25 +01:00
Marc Kleine-Budde 0ccc3fed91 mcp251xfd-dump: add dump for IOCON register 2022-02-09 08:29:53 +01:00
Marc Kleine-Budde 9f9f2ff721
Merge pull request #340 from marckleinebudde/fix-typo
cansniffer: main(): fix typo comand -> command
2022-02-01 16:14:22 +01:00
Marc Kleine-Budde 00fbc5d536 cansniffer: main(): fix typo comand -> command
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-02-01 16:13:20 +01:00
Marc Kleine-Budde 2758f8eb62
Merge pull request #339 from jaiqc/master
closes #master: Fixed typo error in isodump
2022-02-01 16:07:52 +01:00
Jayachandran Dharuman 2ac24b86fd closes #master: Fixed typo erros in slcan and testj1939 2022-02-01 19:55:27 +05:30
Jayachandran Dharuman a4d2ee75bc closes #master: Fixed typo error in isodump 2022-02-01 19:38:41 +05:30
Marc Kleine-Budde 4984eb702e
Merge pull request #333 from marckleinebudde/bittiming-canfd-support
can-calc-bit-timing: add CAN-FD support
2022-01-27 16:06:40 +01:00
Marc Kleine-Budde 4bd649d73a
Merge pull request #336 from weidmueller/feature/fix-poll-function-calls
Fix error detection of poll function calls
2022-01-27 16:05:50 +01:00
Stefan Herbrechtsmeier 25de6276e8 j1939cat: fix error detection of poll function call
The poll function return -1 on error and set errno to indicate the
error.

Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com>
2022-01-27 15:53:10 +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
Stefan Herbrechtsmeier 3342eb42e7 cangen: Do not treat -EINTR as error 2022-01-27 15:53:10 +01:00
Stefan Herbrechtsmeier c142ca63c9 cangen: 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 14:31:37 +01:00
Marc Kleine-Budde 4858b2b307
Merge pull request #334 from hartkopp/cansniffer-fd
cansniffer: add CAN FD support
2022-01-22 17:11:08 +01:00
Oliver Hartkopp 8ffcc187e9 cansniffer: make ASCII output switchable in CAN FD mode
In CAN FD mode the length of the output line becomes very long.
Therefore disable the ASCII output in CAN FD mode by default but
make it switchable with a new '@' command in interactive input mode.

Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
2022-01-22 14:51:20 +01:00
Oliver Hartkopp c3129b678a cansniffer: add CAN FD support
Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
2022-01-22 14:48:14 +01:00
Oliver Hartkopp 540dcaa821 cansniffer: convert to struct canfd_frame for FD support
Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
2022-01-22 13:50:03 +01:00
Oliver Hartkopp fb186ed6c8 cansniffer: add error handling for read/write of sniffsets
Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
2022-01-22 13:49:23 +01:00
Marc Kleine-Budde 66631a3e23 can-calc-bit-timing: add more bittiming constants and sort them
Import all bit timing constants from the kernel (v5.16-rc1) and sort
them by the occurrence in drivers/net/can/Makefile.

Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-01-19 21:59:58 +01:00
Marc Kleine-Budde e7b5920b10 can-calc-bit-timing: beautify btr register printing
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-01-19 21:39:30 +01:00
Marc Kleine-Budde 2636640aa7 can-calc-bit-timing: import bit timing calculation algorithm from v3.18
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-01-19 21:39:30 +01:00
Marc Kleine-Budde f42e968bcf can-calc-bit-timing: add support for additional bit timing calculation algorithms
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-01-19 21:39:30 +01:00
Marc Kleine-Budde f9c9f6841b can-calc-bit-timing: document kernel commit of current bit timing calculation algorithm
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-01-19 07:21:38 +01:00
Marc Kleine-Budde 8d01589500 can-calc-bit-timing: move struct definitions
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-01-19 07:21:38 +01:00
Marc Kleine-Budde 046d9f88ee can-calc-bit-timing: add option to specify explicit data bit timing 2022-01-19 07:21:38 +01:00
Marc Kleine-Budde 36d76ba07a can-calc-bit-timing: add support for calculation of CAN-FD bit timings
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-01-19 07:21:38 +01:00
Marc Kleine-Budde 04123b3b36 can-calc-bit-timing: print_bittiming(): skip bit timing without ref clock
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-01-19 07:21:38 +01:00
Marc Kleine-Budde 2829512f9b can-calc-bit-timing: add nop printf_btr
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-01-16 12:25:01 +01:00
Marc Kleine-Budde 7ec433f6a6 can-calc-bit-timing: prepare for different can_bittiming (i.e. CAN-FD)
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-01-16 12:24:42 +01:00
Marc Kleine-Budde 7bc81678bb can-calc-bit-timing: rename rate -> bitrate
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-01-16 12:24:42 +01:00
Marc Kleine-Budde 927f70e588 can-calc-bit-timing: rename spt -> sample_point
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-01-16 12:24:42 +01:00
Marc Kleine-Budde 9b63929974 can-calc-bit-timing: mark several structs and members as const
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-01-16 12:24:04 +01:00
Marc Kleine-Budde 258ea5a9ba can-calc-bit-timing: fix whitespace
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-01-15 15:10:19 +01:00
Marc Kleine-Budde 4c07a11f81
Merge pull request #331 from marckleinebudde/fix-typo
libj1939.h: fix typo
2022-01-03 10:58:52 +01:00