From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,DKIM_VALID,FREEMAIL_FROM,MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 23105 invoked from network); 29 Jan 2022 09:16:31 -0000 Received: from tb-ob1.topicbox.com (64.147.108.173) by inbox.vuxu.org with ESMTPUTF8; 29 Jan 2022 09:16:31 -0000 Received: from tb-mx0.topicbox.com (tb-mx0.nyi.icgroup.com [10.90.30.73]) by tb-ob1.topicbox.com (Postfix) with ESMTP id 8A0942A30E for ; Sat, 29 Jan 2022 04:16:29 -0500 (EST) (envelope-from bounce.mM79ef31466316e414d50336d2.r522be890-2105-11eb-b15e-8d699134e1fa@9fans.bounce.topicbox.com) Received: by tb-mx0.topicbox.com (Postfix, from userid 1132) id 8845914406BE; Sat, 29 Jan 2022 04:16:29 -0500 (EST) ARC-Authentication-Results: i=2; topicbox.com; arc=pass; dkim=pass (2048-bit rsa key sha256) header.d=gmail.com header.i=@gmail.com header.b=Z6ZGH+BG header.a=rsa-sha256 header.s=20210112 x-bits=2048; dmarc=pass policy.published-domain-policy=none policy.published-subdomain-policy=quarantine policy.applied-disposition=none policy.evaluated-disposition=none (p=none,sp=quarantine,d=none,d.eval=none) policy.policy-from=p header.from=gmail.com; spf=pass smtp.mailfrom=skip.tavakkolian@gmail.com smtp.helo=mail-yb1-f171.google.com; x-internal-arc=fail (as.1.topicbox.com=pass, ams.1.topicbox.com=fail (message has been altered)) (Message modified while forwarding at Topicbox) ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d= topicbox.com; h=mime-version:references:in-reply-to:from:date :message-id:subject:to:content-type:content-transfer-encoding :list-help:list-id:list-post:list-subscribe:reply-to :list-unsubscribe; s=sysmsg-1; t=1643447789; bh=PkWWcJOVRDwKViy5 mEaKZAlBiQ1gsCIITF3sKkWa7Hk=; b=qbym1Sy7XvYj8/MqxouLSjSl+HC6nCBI /SWQmfSpsaTAgcOT6hK6bU5cvlhJOzs7KCb3NhatZAFTTMAETj9pknlohzCgrGqS ZIwSFmKTqjpTG20ecYqpC60PUQBY5KuzfcRzALtV1IMt/nVjzGP1dbTAZmG/aywe C7SxIoA1WOA= ARC-Seal: i=2; a=rsa-sha256; cv=pass; d=topicbox.com; s=sysmsg-1; t= 1643447789; b=ptDIhr0HvcPTu8rmZZRIB/F34zIO3c3sVPUQLeo3fyj+nIGnzx YZ9gnxF1L4hj5vuIfXbxrNkgvWMeDZtrMUPRFBTxmhc+UyOgr/t2riDGMqGPKmyf 4GhWSQXXD6pl51X/19fVugR5Xf+ylIcDSy6MGQLDbLWr+Lu2fYc8h1Zpc= Authentication-Results: topicbox.com; arc=pass; dkim=pass (2048-bit rsa key sha256) header.d=gmail.com header.i=@gmail.com header.b=Z6ZGH+BG header.a=rsa-sha256 header.s=20210112 x-bits=2048; dmarc=pass policy.published-domain-policy=none policy.published-subdomain-policy=quarantine policy.applied-disposition=none policy.evaluated-disposition=none (p=none,sp=quarantine,d=none,d.eval=none) policy.policy-from=p header.from=gmail.com; spf=pass smtp.mailfrom=skip.tavakkolian@gmail.com smtp.helo=mail-yb1-f171.google.com; x-internal-arc=fail (as.1.topicbox.com=pass, ams.1.topicbox.com=fail (message has been altered)) (Message modified while forwarding at Topicbox) X-Received-Authentication-Results: tb-mx0.topicbox.com; arc=none (no signatures found); bimi=skipped (DMARC Policy is not at enforcement); dkim=pass (2048-bit rsa key sha256) header.d=gmail.com header.i=@gmail.com header.b=Z6ZGH+BG header.a=rsa-sha256 header.s=20210112 x-bits=2048; dmarc=pass policy.published-domain-policy=none policy.published-subdomain-policy=quarantine policy.applied-disposition=none policy.evaluated-disposition=none (p=none,sp=quarantine,d=none,d.eval=none) policy.policy-from=p header.from=gmail.com; iprev=pass smtp.remote-ip=209.85.219.171 (mail-yb1-f171.google.com); spf=pass smtp.mailfrom=skip.tavakkolian@gmail.com smtp.helo=mail-yb1-f171.google.com; x-aligned-from=pass (Address match); x-google-dkim=pass (2048-bit rsa key) header.d=1e100.net header.i=@1e100.net header.b=b3QzRXkB; x-me-sender=none; x-ptr=pass smtp.helo=mail-yb1-f171.google.com policy.ptr=mail-yb1-f171.google.com; x-return-mx=pass header.domain=gmail.com policy.is_org=yes (MX Records found: alt4.gmail-smtp-in.l.google.com,alt1.gmail-smtp-in.l.google.com,alt2.gmail-smtp-in.l.google.com,gmail-smtp-in.l.google.com,alt3.gmail-smtp-in.l.google.com); x-return-mx=pass smtp.domain=gmail.com policy.is_org=yes (MX Records found: alt4.gmail-smtp-in.l.google.com,alt1.gmail-smtp-in.l.google.com,alt2.gmail-smtp-in.l.google.com,gmail-smtp-in.l.google.com,alt3.gmail-smtp-in.l.google.com); x-tls=pass smtp.version=TLSv1.2 smtp.cipher=ECDHE-RSA-AES256-GCM-SHA384 smtp.bits=256/256; x-vs=clean score=0 state=0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=9fans.net; h= mime-version:references:in-reply-to:from:date:message-id:subject :to:content-type:content-transfer-encoding:list-help:list-id :list-post:list-subscribe:reply-to:list-unsubscribe; s=dkim-1; bh=y+HCy/uiJNQ1Ds6RMF6dpuIeRhLhU//6RVRdYevvvD4=; b=PSLdrVl+mvle j1Q/0yFsidsLAOqcfQ6fGotsNzMppqt+NNpUM2aPhL7WyzvhyjbXnrpLKW88kebX p4YEcmSJmqCmTrJE7Xqn6Zre6bGOx58J3xxYYW5dLs2Y7sy802SV/LLeP1aZd/7S zxxB8tuFnkHVpLvhqavgZx/y0ANp+Gk= Received: from tb-mx0.topicbox.com (localhost.local [127.0.0.1]) by tb-mx0.topicbox.com (Postfix) with ESMTP id 195851447ED9 for <9fans@9fans.net>; Sat, 29 Jan 2022 04:16:19 -0500 (EST) (envelope-from skip.tavakkolian@gmail.com) Received: from tb-mx0.topicbox.com (localhost [127.0.0.1]) by tb-mx0.topicbox.com (Authentication Milter) with ESMTP id D8DD618E6D9; Sat, 29 Jan 2022 04:16:19 -0500 ARC-Seal: i=1; a=rsa-sha256; cv=none; d=topicbox.com; s=arcseal; t= 1643447779; b=OrtiQ9s3JfOTrP/fUpXWzHMkl5/KyxVdXiDl3eIb8Pl1DjpUbA HfbhZpJAvLv00aMFIg/VkgAkJLKwBzscFT63R8U9VA+J+XWLRr5EPcBCjyTQouPR 5mdtwoyL2im94WHpxVGCPEwonAqfoSevcOdLRgdoPaRdOhXgy1upws7DJ4CdgD/5 S20aXG4sAEBHvQq9LMo8aB4W5MZ/MHGfllJ/5+e/3/ptuC343qbn1M46o1W6w5TF d5VV3Appv6hk2pOe0l40s9SVRV+L7HqCrxu+36Bf0uy0zqDSJaxrVSivPoDlv3I5 Res+N12oVDZ92D/gmoKfGEZpDhGW0+GPJj/w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d= topicbox.com; h=mime-version:references:in-reply-to:from:date :message-id:subject:to:content-type:content-transfer-encoding; s=arcseal; t=1643447779; bh=d+W5Hja5htSGXL97OBJkqxE4fG2dX4XsWfd /OLniwf4=; b=FJ6dDhWADToNzryUHEsOPPoPGsn4LzkkzmGQdoF04xIkLwOlhLm qglejW370yguh4a5dy1Ls7A5cCDtuN7/6Xwd0x2igfMvjuJUfvIt/NmOKFIE1Ulu CioJ0uxJ9Wx7fJH3e1Du9nZl46kaKpW2Eb+B3EVDYHaxKgVdNY6AiQLMgaZpQfjz KUHKU6pI8wEUr+6Ah5wNi943onkQ9iZuWc1u1vfSbqFgJ+X2iesT5bKc2FEwtAmo e+lb4X3Qybldup2SwBUVaPzmALONvuobARC/ASzMBHY1Nsp0eV4/sp1BT+TdYdFk rV16o8vKwT82GY/sVqjO+RzQhd15gocAd1A== ARC-Authentication-Results: i=1; tb-mx0.topicbox.com; arc=none (no signatures found); bimi=skipped (DMARC Policy is not at enforcement); dkim=pass (2048-bit rsa key sha256) header.d=gmail.com header.i=@gmail.com header.b=Z6ZGH+BG header.a=rsa-sha256 header.s=20210112 x-bits=2048; dmarc=pass policy.published-domain-policy=none policy.published-subdomain-policy=quarantine policy.applied-disposition=none policy.evaluated-disposition=none (p=none,sp=quarantine,d=none,d.eval=none) policy.policy-from=p header.from=gmail.com; iprev=pass smtp.remote-ip=209.85.219.171 (mail-yb1-f171.google.com); spf=pass smtp.mailfrom=skip.tavakkolian@gmail.com smtp.helo=mail-yb1-f171.google.com; x-aligned-from=pass (Address match); x-google-dkim=pass (2048-bit rsa key) header.d=1e100.net header.i=@1e100.net header.b=b3QzRXkB; x-me-sender=none; x-ptr=pass smtp.helo=mail-yb1-f171.google.com policy.ptr=mail-yb1-f171.google.com; x-return-mx=pass header.domain=gmail.com policy.is_org=yes (MX Records found: alt4.gmail-smtp-in.l.google.com,alt1.gmail-smtp-in.l.google.com,alt2.gmail-smtp-in.l.google.com,gmail-smtp-in.l.google.com,alt3.gmail-smtp-in.l.google.com); x-return-mx=pass smtp.domain=gmail.com policy.is_org=yes (MX Records found: alt4.gmail-smtp-in.l.google.com,alt1.gmail-smtp-in.l.google.com,alt2.gmail-smtp-in.l.google.com,gmail-smtp-in.l.google.com,alt3.gmail-smtp-in.l.google.com); x-tls=pass smtp.version=TLSv1.2 smtp.cipher=ECDHE-RSA-AES256-GCM-SHA384 smtp.bits=256/256; x-vs=clean score=0 state=0 X-ME-VSCause: gggruggvucftvghtrhhoucdtuddrgedvvddrfeeggdduudduucdltddurdegudehrddttd dmucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgf nhhsuhgsshgtrhhisggvpdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttd enucenucfjughrpeggfhgjhfffkffuvfgtgfesthhqredttddtjeenucfhrhhomhepufhk ihhpucfvrghvrghkkhholhhirghnuceoshhkihhprdhtrghvrghkkhholhhirghnsehgmh grihhlrdgtohhmqeenucggtffrrghtthgvrhhnpeetjeffvdeigedvkedtffevuddvveev iedvjefhledttdffvdeugefhueehjeefueenucffohhmrghinhepthhophhitggsohigrd gtohhmnecukfhppedvtdelrdekhedrvdduledrudejudenucevlhhushhtvghrufhiiigv pedtnecurfgrrhgrmhepihhnvghtpedvtdelrdekhedrvdduledrudejuddphhgvlhhope hmrghilhdqhigsuddqfhdujedurdhgohhoghhlvgdrtghomhdpmhgrihhlfhhrohhmpeeo shhkihhprdhtrghvrghkkhholhhirghnsehgmhgrihhlrdgtohhmqe X-ME-VSScore: 0 X-ME-VSCategory: clean Received-SPF: pass (gmail.com ... _spf.google.com: Sender is authorized to use 'skip.tavakkolian@gmail.com' in 'mfrom' identity (mechanism 'include:_netblocks.google.com' matched)) receiver=tb-mx0.topicbox.com; identity=mailfrom; envelope-from="skip.tavakkolian@gmail.com"; helo=mail-yb1-f171.google.com; client-ip=209.85.219.171 Received: from mail-yb1-f171.google.com (mail-yb1-f171.google.com [209.85.219.171]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by tb-mx0.topicbox.com (Postfix) with ESMTPS for <9fans@9fans.net>; Sat, 29 Jan 2022 04:16:18 -0500 (EST) (envelope-from skip.tavakkolian@gmail.com) Received: by mail-yb1-f171.google.com with SMTP id k17so25448842ybk.6 for <9fans@9fans.net>; Sat, 29 Jan 2022 01:16:18 -0800 (PST) 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:content-transfer-encoding; bh=d+W5Hja5htSGXL97OBJkqxE4fG2dX4XsWfd/OLniwf4=; b=b3QzRXkBsfPbD97423KLHf8ZGHhfIN1VcV4/0JHnSdGfOfRCClPoTzdMnipkiZRX5M eKgW1406J0/OqS4x6vFxn0EpzysqhMPyP16fG4VXycwZHQU5kibVvLMoCl658i7VYK5L tkg5JystUhMJfjJxODbkZGatLxpfXKuocBQkG8ECdj94rsghSvwhOAP8fmbkpnvRsaQC YWdot60RcSkq8pdURmT8rTxRlvn494M5IrIHKQdeK8Pk2bY+rjHUIWykyUqlq8ORPfbj jfB+IHa8pTM6uk9EV1sjH93EZ/6ndeo8u4nejd/H1OGqIr0Qw3MMevtGgQqYBT2/CAxi Ad8w== X-Gm-Message-State: AOAM530vsktzV0D2dmYpZfRYwNZaNQETkow6AgrQHY1vZeVIeVy81gAl 2d4jhRK15CEybLQFuBccjHPY17Bl4VwqWPvzTAqhVsTvf5THPg== X-Google-Smtp-Source: ABdhPJzDACyN0+5NxdOZK8QSjxf3HuMTRMxwRq9YaVDq+EZNJcw4NbrT9oSK0Q0fgfRWaJws6OHL5ZwhLhLK1HjbhT0= X-Received: by 2002:a25:d4c9:: with SMTP id m192mr17298493ybf.526.1643447777827; Sat, 29 Jan 2022 01:16:17 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Skip Tavakkolian Date: Sat, 29 Jan 2022 01:16:06 -0800 Message-ID: Subject: Re: [9fans] building blocks speaking 9p To: 9fans <9fans@9fans.net> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Topicbox-Policy-Reasoning: allow: sender is a member Topicbox-Message-UUID: 20d37ef8-80e4-11ec-a110-9523411dbe05 Archived-At: =?UTF-8?B?PGh0dHBzOi8vOWZhbnMudG9waWNib3guY29tL2dyb3Vwcy85?= =?UTF-8?B?ZmFucy9UYTRlNTg0YTM3M2IwNTU1My1NNzllZjMxNDY2MzE2ZTQxNGQ1MDMz?= =?UTF-8?B?NmQyPg==?= List-Help: List-Id: "9fans" <9fans.9fans.net> List-Post: List-Software: Topicbox v0 List-Subscribe: Precedence: list Reply-To: 9fans <9fans@9fans.net> List-Unsubscribe: , Topicbox-Delivery-ID: 2:9fans:437d30aa-c441-11e9-8a57-d036212d11b0:522be890-2105-11eb-b15e-8d699134e1fa:M79ef31466316e414d50336d2:1:tvB-b2dHL1LKINJOH1ep3a8Vw21bN6dvCCS7Qt0plU8 I've been working on something along those lines for IoT management and networking. Here's my laundry list of architectural and implementation pieces: 1. authentication: (a) tie devices to owner/user (b) authenticate users against third parties (via OIDC/SAML2, etc), (c) let the authenticated user provide the credentials to authenticate and use their devices via a namespace that follows an established convention (e.g. /joe/iot/0/secret). 2. device and capability discovery is a bootstrapping process, starting with a namespace that describes the availability of devices and features (analogous to '#c/drivers') 3. namespace to discover how to present the data from a particular source (e.g. a steam gauge widget would need to understand the namespace exported by a pressure sensor) 4. 9p libraries including fan-in, fan-out capability (i.e. mount, 9pserve) for FreeRTOS, Mbed OS, ThreadX, Zephyr 5. libraries to localize user=E2=86=94device 9p traffic, while keeping authentication centralized (e.g. how @tailscale works) Initially IoT's would 9p-enable the SPI, I=C2=B2C, etc. sensors and actuators, until standards and conventions are established. For hardware, targeting things like SAMD21 boards seem more appropriate; they're cheap (e.g. Seeed XIAO). Even things like Nordic nRF52840 boards are below $10 and include the hardware to establish root-of-trust. On Thu, Jan 27, 2022 at 2:58 PM Bakul Shah wrote: >=20 > The idea: > - make it very easy to create hardware gadgets by > providing a firmware/hardware building block that > talks 9p on the host interface side & interfaces > with device specific hardware. >=20 > - use a "universal" 9p driver on the host side that > allows access to any such 9p device even from a shell. >=20 > - provide a standard way to find out device capabilities. >=20 > - together they provide a plug-and-play setup. >=20 > Example: connect an LED and a current sensor to this > 9p device, other necessary hardware, add a few config > bits and plug this device kn]]into a host. Now you should > be able to turn on/off the light or sense its state. >=20 > Similarly you should be able to control a stepper motor > servo, cameras, microphones, other actuators, sensors, > IO etc. Eventually you should be able to snap together > enough of these components to build larger assemblies > such as a 3D printer. >=20 > Another example: a "hub" to multiplex such downstream > devices and make them available to a host. >=20 > This will probably have to ride on USB first. A verilog > implementation would be useful in an FPGA! >=20 > Would this be a useful component? If such a thing were > available, what would you want to build with it? >=20 > Do you think 9p is the right protocol for this? >=20 > Ideally > - connect anything to anything > - authenticated connections > - drive the device through a shell script > - no new low level drivers > - self-identifying devices with help and command syntax > - signicantly eases the task of creating new h/w devices. ------------------------------------------ 9fans: 9fans Permalink: https://9fans.topicbox.com/groups/9fans/Ta4e584a373b05553-M79ef3= 1466316e414d50336d2 Delivery options: https://9fans.topicbox.com/groups/9fans/subscription