9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: "David Arroyo" <david@arroyo.cc>
To: 9fans <9fans@9fans.net>
Subject: Re: [9fans] Solo factotum (was: Enterable namespaces: /proc/pid/$ns/srv)
Date: Tue, 30 Dec 2025 01:28:51 -0500	[thread overview]
Message-ID: <1076b151-30f7-42e9-ba16-be8ddefc64c6@app.fastmail.com> (raw)
In-Reply-To: <e70fea20-3ed8-4180-a974-629509e7243d@sirjofri.de>

On Mon, Dec 29, 2025, at 09:40, sirjofri via 9fans wrote:
> I don't know much about USB, though maybe the nusb/serial restriction
> only applies for real rxtx serial converters or something? I mean, USB
> is serial by its nature so any communication is serial, I guess...

My limited understanding is that the device & interface class is a hint
to the host as to how it should be interacted with.

https://www.usb.org/defined-class-codes

On 9front, it tells nusbrc which user-level driver to execute. On Linux,
it would tell the kernel whether to expose the device as a block device,
or a serial device, or a file system, etc. The device class 0x0A,
CDC-Data, seems like the closest thing to a pipe. I could always, of
course, define a new device class if there is a mismatch of expectations.

> However, being able to mount 9p from a USB serial line would be
> interesting for many use cases.

Yes. Imagine a "driverless" USB network adapter, which serves an ether(3)
file system using 9P over USB. Or an audio card, or mouse, or ...

> For the factotum key, another complex issue could be that factotum
> needs access to the network interface for auth stuff. I was thinking
> about this, and plan 9 makes it possible to solve this. One could for
> example put the /net of the host into a /srv of the factotum key,
> or something like that. In any case, this is a challenge to find a
> good and clean solution.

I had not thought about that. I will probably start with the protocols
which can be completed offline, such as ssh. For protocols which need
the auth server to validate the peer's key, I'm not sure. Perhaps the
needkey interface can be used to supply information that could be used
to validate the peer's credentials.

David

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/T969c381dcd9c760d-Mf5a07dc97f991a22f2cf9bd0
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

  reply	other threads:[~2025-12-30 13:57 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-12-29 10:57 [9fans] Solo factotum (was: Enterable namespaces: /proc/pid/$ns/srv) David Arroyo
2025-12-29 14:40 ` sirjofri via 9fans
2025-12-30  6:28   ` David Arroyo [this message]
2025-12-30 17:56     ` [9fans] Solo factotum Dworkin Muller
2025-12-30 21:37       ` sirjofri via 9fans
2025-12-30 23:29         ` ori
2025-12-31  4:24           ` Steve Simon
2025-12-31  5:21             ` David Arroyo
2025-12-31 17:31               ` ori
2025-12-31 21:47                 ` Steve Simon
2025-12-31  9:40             ` sirjofri via 9fans
2025-12-31 16:26             ` ori
2025-12-31  8:51           ` Skip Tavakkolian
2025-12-29 15:32 ` [9fans] Solo factotum (was: Enterable namespaces: /proc/pid/$ns/srv) Shawn Rutledge

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=1076b151-30f7-42e9-ba16-be8ddefc64c6@app.fastmail.com \
    --to=david@arroyo.cc \
    --cc=9fans@9fans.net \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).