From: Olivier Sobrie <olivier@sobrie.be>
To: Marc Kleine-Budde <mkl@pengutronix.de>
Cc: Wolfgang Grandegger <wg@grandegger.com>,
linux-can@vger.kernel.org, netdev@vger.kernel.org
Subject: Re: [PATCH] can: kvaser_usb: Add support for Kvaser CAN/USB devices
Date: Thu, 2 Aug 2012 12:53:58 +0200 [thread overview]
Message-ID: <20120802105358.GA23787@hposo> (raw)
In-Reply-To: <5017DD5B.2030701@pengutronix.de>
Hello,
On Tue, Jul 31, 2012 at 03:27:55PM +0200, Marc Kleine-Budde wrote:
> We can continue the review process, this problem has to be sorted out
> before I can apply this patch to linux-can-next tree.
Ok.
> > 1) With the short circuit:
> >
> > I perform the test you described. It showed that the Kvaser passes from
> > ERROR-WARNING to ERROR-PASSIVE and then BUS-OFF. But after going to the
> > state BUS-OFF it comes back to ERROR-WARNING.
> >
> > can1 20000088 [8] 00 10 90 00 00 00 00 00 ERRORFRAME
> > can1 20000088 [8] 00 10 90 00 00 00 00 00 ERRORFRAME
> > can1 20000088 [8] 00 10 90 00 00 00 00 00 ERRORFRAME
> > can1 20000088 [8] 00 10 90 00 00 00 00 00 ERRORFRAME
> > can1 20000088 [8] 00 10 90 00 00 00 00 00 ERRORFRAME
> > can1 20000088 [8] 00 10 90 00 00 00 00 00 ERRORFRAME
> > can1 20000088 [8] 00 10 90 00 00 00 00 00 ERRORFRAME
> > can1 20000088 [8] 00 10 90 00 00 00 00 00 ERRORFRAME
> > can1 20000088 [8] 00 10 90 00 00 00 00 00 ERRORFRAME
>
> Why don't we have any rx/tx numbers in the error frame?
Because the hardware seems to not update the tx/rx_errors_count
fields :-(
> From the hardware point of view the short circuit and open end tests
> look good. Please adjust the driver to turn off the CAN interface in
> case of a bus off if restart_ms is 0.
And in the case where restart_ms is not 0? Don't I've to put it off so
and drop the frame?
I actually implemeted it as you said and here is what I observed in
candump output with restart_ms set to 100 ms:
t0: Short circuit between CAN-H and CAN-L + cansend can1 123#1122
can1 2000008C [8] 00 04 90 00 00 00 00 00 ERRORFRAME
controller-problem{rx-error-warning}
protocol-violation{{tx-recessive-bit-error,error-on-tx}{}}
bus-error
can1 2000008C [8] 00 10 90 00 00 00 00 00 ERRORFRAME
controller-problem{rx-error-passive}
protocol-violation{{tx-recessive-bit-error,error-on-tx}{}}
bus-error
can1 200000C8 [8] 00 00 90 00 00 00 00 00 ERRORFRAME
protocol-violation{{tx-recessive-bit-error,error-on-tx}{}}
bus-off
bus-error
...
can1 2000008C [8] 00 04 90 00 00 00 00 00 ERRORFRAME
controller-problem{rx-error-warning}
protocol-violation{{tx-recessive-bit-error,error-on-tx}{}}
bus-error
can1 2000008C [8] 00 10 90 00 00 00 00 00 ERRORFRAME
controller-problem{rx-error-passive}
protocol-violation{{tx-recessive-bit-error,error-on-tx}{}}
bus-error
can1 200000C8 [8] 00 00 90 00 00 00 00 00 ERRORFRAME
protocol-violation{{tx-recessive-bit-error,error-on-tx}{}}
bus-off
bus-error
t1: short circuit removed
can1 123 [2] 11 22
can1 20000100 [8] 00 00 00 00 00 00 00 00 ERRORFRAME
restarted-after-bus-of
The echo coming before the restart looks weird? No?
Shouldn't we drop the frame once BUF-OFF is reached?
> >>>>> + if ((priv->can.state == CAN_STATE_ERROR_WARNING) ||
> >>>>> + (priv->can.state == CAN_STATE_ERROR_PASSIVE)) {
> >>>>> + cf->data[1] = (txerr > rxerr) ?
> >>>>> + CAN_ERR_CRTL_TX_PASSIVE
> >>>>> + : CAN_ERR_CRTL_RX_PASSIVE;
>
> Please use CAN_ERR_CRTL_RX_WARNING, CAN_ERR_CRTL_TX_WARNING where
> appropriate.
Ok. As the hardware doesn't report good values for txerr and rxerr, I'll
also remove the tests on txerr and rxerr.
I observed the same behavior with the original driver.
I asked Kvaser for this problem. I've to wait before their developer is
back (same for the GPL issue).
> >>>>> +static int kvaser_usb_get_berr_counter(const struct net_device *netdev,
> >>>>> + struct can_berr_counter *bec)
> >>>>> +{
> >>>>> + struct kvaser_usb_net_priv *priv = netdev_priv(netdev);
> >>>>> +
> >>>>> + bec->txerr = priv->bec.txerr;
> >>>>> + bec->rxerr = priv->bec.rxerr;
>
> I think you can copy the struct like this:
>
> *bec = priv->bec;
Thanks. I'll remove the function kvaser_usb_get_berr_counter as the
hardware seems to never report txerr and rxerr.
I'll look deeper at this driver during the week-end if possible...
Thanks a lot for your help,
--
Olivier
next prev parent reply other threads:[~2012-08-02 10:53 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-30 5:32 [PATCH] can: kvaser_usb: Add support for Kvaser CAN/USB devices Olivier Sobrie
2012-07-30 11:11 ` Marc Kleine-Budde
2012-07-30 13:33 ` Olivier Sobrie
2012-07-31 9:56 ` Marc Kleine-Budde
2012-07-31 13:06 ` Olivier Sobrie
2012-07-31 13:27 ` Marc Kleine-Budde
2012-08-02 10:53 ` Olivier Sobrie [this message]
2012-08-02 11:56 ` Marc Kleine-Budde
2012-08-02 12:16 ` Olivier Sobrie
2012-08-02 12:33 ` Marc Kleine-Budde
2012-08-02 13:20 ` Olivier Sobrie
2012-08-05 20:43 ` Wolfgang Grandegger
2012-08-06 5:27 ` Olivier Sobrie
2012-07-31 13:43 ` Wolfgang Grandegger
2012-08-05 20:41 ` Wolfgang Grandegger
2012-08-06 5:21 ` [PATCH v2] " Olivier Sobrie
2012-08-06 8:10 ` Oliver Neukum
2012-08-08 5:28 ` Olivier Sobrie
2012-08-07 6:26 ` Wolfgang Grandegger
2012-08-08 6:14 ` Olivier Sobrie
2012-08-08 8:25 ` Wolfgang Grandegger
[not found] ` <5022227F.60800-5Yr1BZd7O62+XT7JhA+gdA@public.gmane.org>
2012-08-08 13:30 ` Olivier Sobrie
2012-08-08 15:02 ` Wolfgang Grandegger
2012-08-13 13:51 ` [PATCH v3] " Olivier Sobrie
2012-09-20 5:06 ` [PATCH v4] " Olivier Sobrie
[not found] ` <1348117587-2905-1-git-send-email-olivier-Ui3EtX6WB9GzQB+pC5nmwQ@public.gmane.org>
2012-09-21 9:54 ` Marc Kleine-Budde
2012-09-22 16:02 ` Wolfgang Grandegger
[not found] ` <505DE106.6060405-5Yr1BZd7O62+XT7JhA+gdA@public.gmane.org>
2012-10-02 7:14 ` Olivier Sobrie
2012-10-02 7:16 ` [PATCH v5] " Olivier Sobrie
2012-11-07 20:29 ` Marc Kleine-Budde
2012-11-20 8:46 ` Olivier Sobrie
2012-11-20 10:59 ` Marc Kleine-Budde
[not found] ` <1343626352-24760-1-git-send-email-olivier-Ui3EtX6WB9GzQB+pC5nmwQ@public.gmane.org>
2012-11-21 7:11 ` [PATCH v6] " Olivier Sobrie
2012-11-22 11:01 ` Marc Kleine-Budde
2012-11-22 15:01 ` Olivier Sobrie
2012-11-22 21:30 ` Greg KH
2012-11-23 8:48 ` Marc Kleine-Budde
2012-11-23 13:30 ` [PATCH] kvaser_usb: fix "dma on the stack" errors Olivier Sobrie
2012-11-23 13:40 ` Olivier Sobrie
2012-11-23 13:48 ` Marc Kleine-Budde
2012-11-23 13:54 ` [PATCH v2] " Olivier Sobrie
2012-11-23 14:08 ` Marc Kleine-Budde
2012-11-23 14:16 ` Olivier Sobrie
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20120802105358.GA23787@hposo \
--to=olivier@sobrie.be \
--cc=linux-can@vger.kernel.org \
--cc=mkl@pengutronix.de \
--cc=netdev@vger.kernel.org \
--cc=wg@grandegger.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.