Received: by 2002:a5d:9c59:0:0:0:0:0 with SMTP id 25csp2704177iof; Wed, 8 Jun 2022 10:15:33 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzTPWSUoUHuDJ1xPbIS2ljrX7zN3Z463xIDdjxi3FjUC23LgmaJ7FgdmvELEdVPxMNdxy32 X-Received: by 2002:a17:90b:34f:b0:1ea:264c:e874 with SMTP id fh15-20020a17090b034f00b001ea264ce874mr204510pjb.95.1654708533262; Wed, 08 Jun 2022 10:15:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1654708533; cv=none; d=google.com; s=arc-20160816; b=oovUxyBauMQHSuMLGeM1v/PLdbpOelDA1wWUZu668RdMBe2hNOnuiNjkIJA0l8uDOL Q9Og48Cv4hJOAz/Fg3Nkar9E83I56IFNFWU4XU+x/18fCs3gcLZU3eJ5fmGxAay1kuE6 NAUhzIHnBEsQ1M78tUuc+FOBJrmsUTsIBrraKIerBIu30MO3/uoX/riBiAkPK//pR2di Qgdu6PTQc9bV32kUlqUMD2LXJHInyvgKySAeWU0jJUSAlH7gXdWrcg+h7Xi+6q8pLBsc p6Rcow356LDFhBP0ao1PuNtb4u4KgCMVHRn1EOdRN3Eue1QXR/nGHwZ6K8UWJfI0Hvf/ 4amw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=rtvbbKja+RixG7eLu6aZGD6IZi/1ihppukZ37LTZ21o=; b=iQwdeYeg71z2Sl9Zu9yd6U8rX39uBfvqoih01VLhDifZ9+XjJXdSyXyqwyBgvxxIDs Mgwl7/UgSYHPpNSMpxS81ck7v0Wmf5RRD9TGeM8qinfgtfOHqQrI4idGSc+qH7/reKj8 rXCMRxALPYRrPlxM2KfWndu9pOoLIEqK7MQ22jmwyKuTHTSwlzJ5nx8pNLKHcfCg4BE9 E6n+FjYD4GubNWxy8vIr8J604HTzwwWRpOFEGvqaCk/9Zs53gVjsg1UVK2qxKduwkWqq CLVVF/KY21WaT4Srup0YRmela7HcoWiv+ycPh/9CrsOkJPSG6mEcHE6WWkP35m+8K/D2 fwfg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=ZHhOkNzX; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [23.128.96.19]) by mx.google.com with ESMTPS id u6-20020a17090a890600b001dc82308e3asi26047418pjn.96.2022.06.08.10.15.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 Jun 2022 10:15:33 -0700 (PDT) Received-SPF: softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) client-ip=23.128.96.19; Authentication-Results: mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=ZHhOkNzX; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id A969813F1CE; Wed, 8 Jun 2022 09:42:46 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S245669AbiFHQmc (ORCPT + 99 others); Wed, 8 Jun 2022 12:42:32 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41348 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S245618AbiFHQmY (ORCPT ); Wed, 8 Jun 2022 12:42:24 -0400 Received: from mail-lf1-x134.google.com (mail-lf1-x134.google.com [IPv6:2a00:1450:4864:20::134]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 496573915F for ; Wed, 8 Jun 2022 09:42:22 -0700 (PDT) Received: by mail-lf1-x134.google.com with SMTP id s6so34050277lfo.13 for ; Wed, 08 Jun 2022 09:42:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=rtvbbKja+RixG7eLu6aZGD6IZi/1ihppukZ37LTZ21o=; b=ZHhOkNzX2G0GXL04J/v1/pjgenn1QROUlIT0zdFiZ/K16NMBunyQxo2n8YEg/AIOz/ 52lMfP/EnZxT5OIEs4vtULdZzJFYhV8NazOyPYVeybryD2z7AT4EQftyniAyKstdOU2Q WXrnyiolXVyKCWQxM8OB26hIUiT+68DFy9Wl0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=rtvbbKja+RixG7eLu6aZGD6IZi/1ihppukZ37LTZ21o=; b=aAvq0TmlCPFs+LS+mBSG10Bn4dKY3kpasQGUkypSgsEG8kIzDxndCyW7ogTFYN+POC RcJ5U1GeEbetK8KNwaeBwm+/zBSOc7dhU4XgPpmu1LRISyfcZT8cewmKp74DDUyoCaN8 AiXW1FobbQkp7TNA/jplCnpSgsZLG9KbJMVyNJ/KwztPYQsR18rdDohfBJmxzEGbiMal TZAI2PC4BRhOuiXa2SmYlgmPINv1MRW2wBbvL1WuRA78RLXhNPS99EUqefgNaSg+Kl29 XYSzqGZDK0mxthj636zATNya0YfQsPg1KzONz5vKOr+FHf6VBEGKnusFAHw0lDQ2d2pN mTbw== X-Gm-Message-State: AOAM532vbIMIBQ0zlj0/GeYZC+Ta/eNXB2c89F+wY2SBPWGaSmuILQfq bmjCnCZQ8ROTp8GgQ4qMYFYutyNo/EG9ibOlIadP6A== X-Received: by 2002:a05:6512:10c5:b0:479:2de0:561c with SMTP id k5-20020a05651210c500b004792de0561cmr13376583lfg.536.1654706540474; Wed, 08 Jun 2022 09:42:20 -0700 (PDT) MIME-Version: 1.0 References: <20220607094752.1029295-1-dario.binacchi@amarulasolutions.com> <20220607094752.1029295-5-dario.binacchi@amarulasolutions.com> <20220607111330.tkpaplzeupfq3peh@pengutronix.de> In-Reply-To: <20220607111330.tkpaplzeupfq3peh@pengutronix.de> From: Dario Binacchi Date: Wed, 8 Jun 2022 18:42:09 +0200 Message-ID: Subject: Re: [RFC PATCH 04/13] can: slcan: use CAN network device driver API To: Marc Kleine-Budde Cc: linux-kernel@vger.kernel.org, Amarula patchwork , michael@amarulasolutions.com, "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Wolfgang Grandegger , linux-can@vger.kernel.org, netdev@vger.kernel.org Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Marc, On Tue, Jun 7, 2022 at 1:13 PM Marc Kleine-Budde wrote: > > On 07.06.2022 11:47:43, Dario Binacchi wrote: > > As suggested by commit [1], now the driver uses the functions and the > > data structures provided by the CAN network device driver interface. > > > > There is no way to set bitrate for SLCAN based devices via ip tool, so > ^^^^^^^^^^^^^^^ > Currently the driver doesn't implement a way Ok, I'll do it. > > > you'll have to do this by slcand/slcan_attach invocation through the > > -sX parameter: > > > > - slcan_attach -f -s6 -o /dev/ttyACM0 > > - slcand -f -s8 -o /dev/ttyUSB0 > > > > where -s6 in will set adapter's bitrate to 500 Kbit/s and -s8 to > > 1Mbit/s. > > See the table below for further CAN bitrates: > > - s0 -> 10 Kbit/s > > - s1 -> 20 Kbit/s > > - s2 -> 50 Kbit/s > > - s3 -> 100 Kbit/s > > - s4 -> 125 Kbit/s > > - s5 -> 250 Kbit/s > > - s6 -> 500 Kbit/s > > - s7 -> 800 Kbit/s > > - s8 -> 1000 Kbit/s > > > > 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 can0: 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: # ip --details -s -s link show dev can0 5: can0: 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 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@amarulasolutions.com __________________________________ Amarula Solutions SRL Via Le Canevare 30, 31100 Treviso, Veneto, IT T. +39 042 243 5310 info@amarulasolutions.com www.amarulasolutions.com