[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220609070749.fjcqsw3nuolgr5wh@pengutronix.de>
Date: Thu, 9 Jun 2022 09:07:49 +0200
From: Marc Kleine-Budde <mkl@...gutronix.de>
To: Dario Binacchi <dario.binacchi@...rulasolutions.com>
Cc: linux-kernel@...r.kernel.org,
Amarula patchwork <linux-amarula@...rulasolutions.com>,
michael@...rulasolutions.com,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>,
Wolfgang Grandegger <wg@...ndegger.com>,
linux-can@...r.kernel.org, netdev@...r.kernel.org
Subject: Re: [RFC PATCH 04/13] can: slcan: use CAN network device driver API
On 08.06.2022 18:42:09, Dario Binacchi wrote:
> > > In doing so, the struct can_priv::bittiming.bitrate of the driver is not
> > > set and since the open_candev() checks that the bitrate has been set, it
> > > must be a non-zero value, the bitrate is set to a fake value (-1) before
> > > it is called.
> >
> > What does
> >
> > | ip --details -s -s link show
> >
> > show as the bit rate?
>
> # ip --details -s -s link show dev can0
This is the bitrate configured with "ip"?
> can0: <NOARP,UP,LOWER_UP> mtu 16 qdisc pfifo_fast state UP mode
> DEFAULT group default qlen 10
> link/can promiscuity 0 minmtu 0 maxmtu 0
> can state ERROR-ACTIVE restart-ms 0
> bitrate 500000 sample-point 0.875
> tq 41 prop-seg 20 phase-seg1 21 phase-seg2 6 sjw 1
> slcan: tseg1 2..256 tseg2 1..128 sjw 1..128 brp 1..256 brp-inc 1
> clock 24000000
> re-started bus-errors arbit-lost error-warn error-pass bus-off
> 0 0 0 0 0 0
> numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535
> RX: bytes packets errors dropped overrun mcast
> 292 75 0 0 0 0
> RX errors: length crc frame fifo missed
> 0 0 0 0 0
> TX: bytes packets errors dropped carrier collsns
> 0 0 0 0 0 0
> TX errors: aborted fifo window heartbeat transns
> 0 0 0 0 1
>
> And after applying your suggestions about using the CAN framework
> support for setting the fixed bit rates (you'll
> find it in V2), this is the output instead:
This looks good.
> # ip --details -s -s link show dev can0
> 5: can0: <NOARP,UP,LOWER_UP> mtu 16 qdisc pfifo_fast state UP mode
> DEFAULT group default qlen 10
> link/can promiscuity 0 minmtu 0 maxmtu 0
> can state ERROR-ACTIVE restart-ms 0
> bitrate 500000
> [ 10000, 20000, 50000, 100000, 125000, 250000,
> 500000, 800000, 1000000 ]
> clock 0
> re-started bus-errors arbit-lost error-warn error-pass bus-off
> 0 0 0 0 0 0
> numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535
> RX: bytes packets errors dropped overrun mcast
> 37307 4789 0 0 0 0
> RX errors: length crc frame fifo missed
> 0 0 0 0 0
> TX: bytes packets errors dropped carrier collsns
> 7276 988 0 0 0 0
> TX errors: aborted fifo window heartbeat transns
> 0 0 0 0 1
Can you configure the bitrate with slcand and show the output of "ip
--details -s -s link show dev can0". I fear it will show 4294967295 as
the bitrate, which I don't like.
A hack would be to replace the -1 by 0 in the CAN netlink code.
Marc
--
Pengutronix e.K. | Marc Kleine-Budde |
Embedded Linux | https://www.pengutronix.de |
Vertretung West/Dortmund | Phone: +49-231-2826-924 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
Download attachment "signature.asc" of type "application/pgp-signature" (489 bytes)
Powered by blists - more mailing lists