9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* [9fans] Re: Solo factotum (was: Enterable namespaces: /proc/pid/$ns/srv)
@ 2025-12-30  0:46 David Boddie
  2025-12-30  9:18 ` David Arroyo
  0 siblings, 1 reply; 2+ messages in thread
From: David Boddie @ 2025-12-30  0:46 UTC (permalink / raw)
  To: 9fans

On Mon, 29 Dec 2025, David Arroyo wrote:
> 
> I'm trying to figure out how to serve 9P over USB, which I know very
> little about.  My initial plan is to make the device a USB serial
> device that expects 9P, then try to mount the /dev/eiaUN device.

I would make it a USB serial device to start with and test that you
can send and receive data reliably, then implement something that
sends and receives 9P messages over that connection.

> However, nusb(4) states that the nusb/serial driver only works for two
> chips, so I'd have to add support for this one.  That's not a problem,
> but am I going in the right direction?

Are those implementations of host drivers that talk to USB devices with
vendor-specific device classes or are they drivers for generic USB 
serial
communications classes?

> There are a number of USB
> device classes, maybe a different one is more suitable to carrying 9P?
> If this works out it would be great if I could also mount it under
> Linux, with v9fs or 9pfuse, but that's not a priority.

I implemented a serial-like device for Inferno on a microcontroller that
hosts could talk to. I tested it with Inferno on Linux, so not running 
on
native Inferno, but I could imagine that 9pi would be able to talk to 
it.

See if you can get Plan 9 to talk to an existing USB serial device then
reimplement something similar with the new device.

David

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/Te5078cfc0acc3fdf-M74f4551d01a534cd2b655275
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [9fans] Re: Solo factotum (was: Enterable namespaces: /proc/pid/$ns/srv)
  2025-12-30  0:46 [9fans] Re: Solo factotum (was: Enterable namespaces: /proc/pid/$ns/srv) David Boddie
@ 2025-12-30  9:18 ` David Arroyo
  0 siblings, 0 replies; 2+ messages in thread
From: David Arroyo @ 2025-12-30  9:18 UTC (permalink / raw)
  To: 9fans

On Mon, Dec 29, 2025, at 19:46, David Boddie wrote:
> I would make it a USB serial device to start with and test that you
> can send and receive data reliably, then implement something that
> sends and receives 9P messages over that connection.

As a proof-of-concept, I ran an instance of u9fs on my laptop:

        s6-ipcserver -v /tmp/u9fs.sock u9fs -n -a none -D -l /dev/stderr -u $USER /

then I started a 9front VM with QEMU, with the following flags:

        -chardev socket,path=/tmp/u9fs.sock,id=u9fs
        -device qemu-xhci
        -device usb-serial,chardev=u9fs,id=usb-solo1,always-plugged=true

I was able to mount the serial device directly from the 9front VM:

        cpu% mount /shr/usb/eiaU1dd73 /n/u9fs
        cpu% ls /n/u9fs | sed 5q
        /n/u9fs/.lastweek
        /n/u9fs/acpid.log
        /n/u9fs/bin
        /n/u9fs/boot
        /n/u9fs/dev

So 9front should not require any changes. I expect to get the device
some time next week, I'll report back then.

David

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/Te5078cfc0acc3fdf-Mfbc2dfc4e0b8b21f9f3c8c43
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2025-12-30 13:57 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-30  0:46 [9fans] Re: Solo factotum (was: Enterable namespaces: /proc/pid/$ns/srv) David Boddie
2025-12-30  9:18 ` David Arroyo

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).