All of lore.kernel.org
 help / color / mirror / Atom feed
From: Oliver Hartkopp <socketcan@hartkopp.net>
To: Tobias Schmitt <tobias.schmitt@codm.de>, linux-can@vger.kernel.org
Subject: Re: State of ISO-TP in SocketCAN?
Date: Wed, 22 Jul 2015 20:25:34 +0200	[thread overview]
Message-ID: <55AFE01E.1080700@hartkopp.net> (raw)
In-Reply-To: <C0D0FD46-6144-4CFF-9730-FC6920E35766@codm.de>

On 22.07.2015 11:45, Tobias Schmitt wrote:

> And now I'm very confused and maybe on a complete wrong track.

No, you aren't :-)

> Is there a official and stable way to use ISOTP as a protocol in SocketCAN, and where can I find it?

https://github.com/hartkopp/can-isotp-modules

> Is it still in development and can I help with it somehow?

Yes. It is still under development. Not that much - but it is.

After clonig the above git repo just do

cd can-isotp-modules/net/can
./make_isotp.sh

and then as user 'root'

modprobe can
insmod ./can-isotp.ko

Or you might copy can-isotp.ko to your local modules tree

cp can-isotp.ko /lib/modules/`uname -r`/kernel/net/can/
depmod -A


Please remember to take care of the tx-queue-len referenced in README.isotp

Regarding the state of the ISO-TP implementation:

The implementation is somehow stable. The latest changes were added to 
implement the ISO15765-2:2015 protocol which can use CAN FD frames.
The ISO-TP (segmentation) protocol itself is working properly.

The reason why isotp.c is not is mainline Linux is that I'm unsure with the 
final socket API and probably some transmission control to make the hack with 
the tx-queue-len obsolete.

With ISO-TP for CAN FD the PDU size is not limited to 4095 byte but you can 
specify PDUs up to 4GB (2^32-1). Currently you can read write a complete PDU 
buffer - but when having e.g. a 128 kbyte PDU creating a buffer of such size 
in kernel looks wrong. So maybe some improved buffering as to be implemented 
or some throttling/control when reading/writing the PDU from/to the socket.

So if you have ideas about how to solve these final issues I definitely would 
appreciate to discuss them here :-)

Best regards,
Oliver

  reply	other threads:[~2015-07-22 18:25 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-22  9:45 State of ISO-TP in SocketCAN? Tobias Schmitt
2015-07-22 18:25 ` Oliver Hartkopp [this message]
2015-07-23 18:02   ` Tobias Schmitt
2015-07-23 18:29     ` Oliver Hartkopp
2015-07-25 15:11       ` Tobias Schmitt
2015-07-27 17:40         ` Oliver Hartkopp

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=55AFE01E.1080700@hartkopp.net \
    --to=socketcan@hartkopp.net \
    --cc=linux-can@vger.kernel.org \
    --cc=tobias.schmitt@codm.de \
    /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.