Re: New Development

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



A couple of items about how Motorola used Greybus:

We were rebasing on the upstream code, with hopes of maintaining
compatibility, but had to freeze before some significant changes
upstream.

We added support to make greybus less dependent on unipro by adding a
switching layer and SPI and I2C as transports. We also support unipro
but ended up not using greybus over unipro because the idle current on
the TSB was too high to leave up when not actively transmitting high
speed data.  So we don't use unipro for greybus.

We ended up using greybus primarily as a control channel for other
speed buses (mydp, csi and dsi over unipro, usb), but also for a few
low speed protocols like battery and lights.

We faked out the SVC to maintain compatibility and support multiple
module support.  May not be how you would want approach the problem.
The only portion of SVC we really utilized was the CREATE/DESTROY
messages in order to route traffic between the interface:cport pairs.
Everything else is either stubbed out or faked/hard-coded (i.e. DME
Attributes) to keep the core greybus initialization happy.

Protocol versioning required some changes to get to work as the
greybus implementation at the time of our fork was hard-coding
everything to 0.1. We had to add additional logic to support multiple
major versions and implement a 'best match' algorithm. This can
probably be done better as well as we were trying to minimize changes
to core greybus at the time.

Before extending the supported devices, it might be wise to give
security some thought.  If the host is just sending generally
available information like battery levels then it might not be big
concern, but it would be easy to write something that hands over
kernel access to an external chip.

Jim


On Thu, Dec 1, 2016 at 4:35 AM, Laurent Pinchart
<laurent.pinchart@xxxxxxxxxxxxxxxx> wrote:
> On Wednesday 30 Nov 2016 17:29:32 Bryan O'Donoghue wrote:
>> On 30/11/16 16:52, Laurent Pinchart wrote:
>> > I first want to define what we mean by IoT
>>
>> Heh.
>>
>> IoT technically means (my understanding) a way of accessing edge devices
>> over the internet or allowing edge devices access to the Internet.
>
> Greybus seems of little value in that context, given that it can't be
> transported over the internet (now if we want to change that I'm open for
> discussions, but it will be a very different concept).
>
> Greybus can be useful to access sensors and other similar embedded devices
> (most of them being too tiny to run Linux, but that's not a requirement).
> While this can be used for "IoT", it's in no way limited to that, or even
> dependent on it.
>
> I still don't know how we should position ourselves when compared to field
> buses for instance.
>
>> The self-describing bits of greybus and the ability to create standard
>> Linux devices without caring about the actual hardware bus is the
>> interesting part. Unlike say USB - which is a self-describing network
>> but, is tightly coupled to a wire-level bus, greybus (can be made to be)
>> hardware agnostic.
>>
>> I think self-describing, pluggable network is what makes it a candidate
>> for people to rehash the abused and unloved IoT term.
>>
>> If it helps I will never type the TLA IoT again in a greybus email... :)
>
> --
> Regards,
>
> Laurent Pinchart
>
_______________________________________________
greybus-dev mailing list
greybus-dev@xxxxxxxxxxxxxxxx
https://lists.linaro.org/mailman/listinfo/greybus-dev




[Index of Archives]     [Asterisk App Development]     [PJ SIP]     [Gnu Gatekeeper]     [IETF Sipping]     [Info Cyrus]     [ALSA User]     [Fedora Linux Users]     [Linux SCTP]     [DCCP]     [Gimp]     [Yosemite News]     [Deep Creek Hot Springs]     [Yosemite Campsites]     [ISDN Cause Codes]     [Asterisk Books]

  Powered by Linux