Skip to contentSkip to conversation

iproute2: update CAN bitrate SJW help text

PATCH In review Oliver Hartkopp 2 participants 3 messages Oct 17, 2011

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 iproute2: update CAN bitrate SJW help text

The ip-tool from iproute2 already supports to pass a user defined SJW value for the in-kernel bittiming calculation. This patch updates the help text accordingly.

---

ip/iplink_can.c +2 -1
index c8af4bc..00e7d98 100644
@@ -23,7 +23,8 @@ static void usage(void)
 {
 	fprintf(stderr,
 		"Usage: ip link set DEVICE type can\n"
-	        "\t[ bitrate BITRATE [ sample-point SAMPLE-POINT] ] | \n"
+		"\t[ bitrate BITRATE [ sample-point SAMPLE-POINT ] [ sjw SJW "
+		"] ] | \n"
 	        "\t[ tq TQ prop-seg PROP_SEG phase-seg1 PHASE-SEG1\n "
 		"\t  phase-seg2 PHASE-SEG2 [ sjw SJW ] ]\n"
 		"\n"
#1 lore raw
Quoted 13 lines · On Mon, 17 Oct 2011 17:43:37 +0200 Oliver Hartkopp <[email protected]>…

The ip-tool from iproute2 already supports to pass a user defined SJW value for the in-kernel bittiming calculation. This patch updates the help text accordingly.

---

ip/iplink_can.c +0 -0
index c8af4bc..00e7d98 100644

ip/iplink_can.c static void usage(void) · line 30

Quoted 9 lines
ip/iplink_can.c +2 -1
@@ -23,7 +23,8 @@ static void usage(void)
 {
 	fprintf(stderr,
 		"Usage: ip link set DEVICE type can\n"
-	        "\t[ bitrate BITRATE [ sample-point SAMPLE-POINT] ] | \n"
+		"\t[ bitrate BITRATE [ sample-point SAMPLE-POINT ] [ sjw SJW "
+		"] ] | \n"
 	        "\t[ tq TQ prop-seg PROP_SEG phase-seg1 PHASE-SEG1\n "
 		"\t  phase-seg2 PHASE-SEG2 [ sjw SJW ] ]\n"
 		"\n"

Please update man page as well.

#2 lore raw
Quoted 11 lines · Stephen Hemminger
Quoted 8 lines · On Mon, 17 Oct 2011 17:43:37 +0200 Oliver Hartkopp <[email protected]>…

The ip-tool from iproute2 already supports to pass a user defined SJW value for the in-kernel bittiming calculation. This patch updates the help text accordingly.

---

Quoted 16 lines
Quoted 5 lines
ip/iplink_can.c +0 -0
index c8af4bc..00e7d98 100644

ip/iplink_can.c static void usage(void) · line 30

Quoted 9 lines
ip/iplink_can.c +2 -1
@@ -23,7 +23,8 @@ static void usage(void)
 {
 	fprintf(stderr,
 		"Usage: ip link set DEVICE type can\n"
-	        "\t[ bitrate BITRATE [ sample-point SAMPLE-POINT] ] | \n"
+		"\t[ bitrate BITRATE [ sample-point SAMPLE-POINT ] [ sjw SJW "
+		"] ] | \n"
 	        "\t[ tq TQ prop-seg PROP_SEG phase-seg1 PHASE-SEG1\n "
 		"\t  phase-seg2 PHASE-SEG2 [ sjw SJW ] ]\n"
 		"\n"

Please update man page as well.

Oops. The manpage has several issues regarding CAN support:

- this updated help text is _not_ part of the ip.8 man page at all

It can only be accessed by 'ip link set <anynetdev> type can help'

Usage: ip link set DEVICE type can
[ bitrate BITRATE [ sample-point SAMPLE-POINT] ] | [ tq TQ prop-seg PROP_SEG phase-seg1 PHASE-SEG1
phase-seg2 PHASE-SEG2 [ sjw SJW ] ]

	[ loopback { on | off } ]
	[ listen-only { on | off } ]
	[ triple-sampling { on | off } ]
	[ one-shot { on | off } ]
	[ berr-reporting { on | off } ]

	[ restart-ms TIME-MS ]
	[ restart ]

	Where: BITRATE       := { 1..1000000 }
	       SAMPLE-POINT  := { 0.000..0.999 }
	       TQ            := { NUMBER }
	       PROP-SEG      := { 1..8 }
	       PHASE-SEG1    := { 1..8 }
	       PHASE-SEG2    := { 1..8 }
	       SJW           := { 1..4 }
	       RESTART-MS    := { 0 | NUMBER }

-> ip link set <anynetdev> "type TYPE" is not documented in help text & man page anywhere

- VCAN and CAN interfaces are mixed in the man page

You can not create real CAN interfaces, only virtual ones.

Looks like i tapped into a bigger problem here :-(

Maybe it's the best to apply this help text update first and then to try to rework the ip.8 man page according to the latest version.

Setting the CAN bittiming & controller setting does not seem to fit into the 'ip link' section of the man page. Do you have an idea how to do that in a 'nice' way?

Regards,
Oliver