On Thu, Jun 9, 2022 at 9:07 AM Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> wrote: > > 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. > Yes, you are right. > A hack would be to replace the -1 by 0 in the CAN netlink code. You will find it in V3. Thanks and regards, Dario > > 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 | -- Dario Binacchi Embedded Linux Developer dario.binacchi@xxxxxxxxxxxxxxxxxxxx __________________________________ Amarula Solutions SRL Via Le Canevare 30, 31100 Treviso, Veneto, IT T. +39 042 243 5310 info@xxxxxxxxxxxxxxxxxxxx www.amarulasolutions.com