All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sven Van Asbroeck <thesven73@gmail.com>
To: David Lechner <david@lechnology.com>
Cc: "Sven Van Asbroeck" <svendev@arcx.com>,
	robh+dt@kernel.org, "Linus Walleij" <linus.walleij@linaro.org>,
	"Lee Jones" <lee.jones@linaro.org>,
	mark.rutland@arm.com, "Andreas Färber" <afaerber@suse.de>,
	treding@nvidia.com, noralf@tronnes.org, johan@kernel.org,
	"Michal Simek" <monstr@monstr.eu>,
	michal.vokac@ysoft.com, "Arnd Bergmann" <arnd@arndb.de>,
	gregkh@linuxfoundation.org, john.garry@huawei.com,
	geert+renesas@glider.be, robin.murphy@arm.com,
	paul.gortmaker@windriver.com,
	sebastien.bourdelin@savoirfairelinux.com, icenowy@aosc.io,
	"Stuart Yoder" <stuyoder@gmail.com>,
	maxime.ripard@bootlin.com,
	"Linux Kernel Mailing List" <linux-kernel@vger.kernel.org>,
	devicetree <devicetree@vger.kernel.org>
Subject: Re: [PATCH v5 0/6] Add Fieldbus subsystem + support HMS Profinet card
Date: Thu, 6 Dec 2018 13:32:30 -0500	[thread overview]
Message-ID: <CAGngYiVz5sqiaKQAXoAx-TyocDNDf+5ZKNXJRr+h5gXT+KA_sA@mail.gmail.com> (raw)
In-Reply-To: <3b0b4c5c-23a6-428c-6060-3e5c314bd9e7@lechnology.com>

Hi David, thank you for the feedback !

On Wed, Dec 5, 2018 at 9:05 PM David Lechner <david@lechnology.com> wrote:
>
> Does this actually need a new fieldbus subsystem or could it just be
> implemented as a new network protocol?
>
> Then this generic interface to a fieldbus device could just be a socket.
>

This is a fundamental question, and I'm glad we are having this discussion.

Caveat: I am by no means a Fieldbus expert. HMS Industrial Networks are. They
have recently become aware of this mainlining effort; but they are not Linux
focused. I really hope they will participate.

Fieldbus is a collection of network protocols for industrial networks.
The underlying network technology varies: e.g. Ethernet for Profinet, RS485
for Profibus, just to name a few.

The actual layout of the raw packets exchanged over the network is proprietary;
fieldbus cards will typically implement this internally, and hide the details.
Some fieldbus protocols have hard real-time requirements: the CPU inside a
fieldbus card will typically run an RTOS to satisfy these.

Could Profinet be added as a new network protocol? Leaving aside proprietary
and hard real-time concerns, the main issue is that cards implementing the
standard won't provide access to the raw packets.

As a result, the Fieldbus userspace API can only consist of whatever these cards
are willing to expose. This varies widely among implementations and fieldbus
protocols, but there are a few commonalities. For example, every fieldbus
card will expose 'process memory' which you can think of as shared memory
between a device and its controller (master).

The fieldbus subsystem proposed in this patch exposes a minimal set of
functionality that every fieldbus device is supposed to have. In many
instances, this won't even be enough to get the card to work. For example,
there is currently no way to provide initialization parameters. These vary
from setting the card network id, to configuring a built-in HTTP server
running inside the card (!!).

Linus Walleij suggested that the KVP nature of Netlink sockets might be a good
match for fieldbus initialization parameters. It sounds promising.
Yet when it comes to accessing shared memory, I cannot see how Netlink could
be of use?

It would be ideal if actual fieldbus experts could help shape this interface,
but I don't know of any that are willing to. One possible explanation is that
the fieldbus corporate environment may be a strong believer in proprietary
technologies.

Sven

      reply	other threads:[~2018-12-06 18:32 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-04 22:02 [PATCH v5 0/6] Add Fieldbus subsystem + support HMS Profinet card Sven Van Asbroeck
2018-12-04 22:02 ` [PATCH v5 1/6] fieldbus_dev: add Fieldbus Device subsystem Sven Van Asbroeck
2018-12-05  1:01   ` Randy Dunlap
2018-12-05  1:12   ` Randy Dunlap
2018-12-05 10:16   ` Greg KH
2018-12-05 15:39     ` Sven Van Asbroeck
2018-12-05 19:17       ` Greg KH
2018-12-05 22:32         ` Sven Van Asbroeck
2018-12-05 22:50           ` Arnd Bergmann
2018-12-05 22:50             ` Arnd Bergmann
2018-12-06 14:07           ` Greg KH
2018-12-06 18:32             ` Sven Van Asbroeck
2018-12-04 22:02 ` [PATCH v5 2/6] anybus-s: support HMS Anybus-S bus Sven Van Asbroeck
2018-12-04 22:02 ` [PATCH v5 3/6] anybus-s: support the Arcx anybus controller Sven Van Asbroeck
2018-12-04 22:02 ` [PATCH v5 4/6] dt-bindings: anybus-controller: document devicetree binding Sven Van Asbroeck
2018-12-07 17:44   ` Rob Herring
2018-12-04 22:02 ` [PATCH v5 5/6] dt-bindings: Add vendor prefix for arcx / Archronix Sven Van Asbroeck
2018-12-04 22:02 ` [PATCH v5 6/6] fieldbus_dev: support HMS Profinet IRT industrial controller Sven Van Asbroeck
2018-12-05  1:03   ` Randy Dunlap
2018-12-06  2:05 ` [PATCH v5 0/6] Add Fieldbus subsystem + support HMS Profinet card David Lechner
2018-12-06 18:32   ` Sven Van Asbroeck [this message]

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=CAGngYiVz5sqiaKQAXoAx-TyocDNDf+5ZKNXJRr+h5gXT+KA_sA@mail.gmail.com \
    --to=thesven73@gmail.com \
    --cc=afaerber@suse.de \
    --cc=arnd@arndb.de \
    --cc=david@lechnology.com \
    --cc=devicetree@vger.kernel.org \
    --cc=geert+renesas@glider.be \
    --cc=gregkh@linuxfoundation.org \
    --cc=icenowy@aosc.io \
    --cc=johan@kernel.org \
    --cc=john.garry@huawei.com \
    --cc=lee.jones@linaro.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=maxime.ripard@bootlin.com \
    --cc=michal.vokac@ysoft.com \
    --cc=monstr@monstr.eu \
    --cc=noralf@tronnes.org \
    --cc=paul.gortmaker@windriver.com \
    --cc=robh+dt@kernel.org \
    --cc=robin.murphy@arm.com \
    --cc=sebastien.bourdelin@savoirfairelinux.com \
    --cc=stuyoder@gmail.com \
    --cc=svendev@arcx.com \
    --cc=treding@nvidia.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.