Roswell Grey | 2 Oct 16:23 2014

USB hub issues on 9Pi

What are the known issues using hubs on 9Pi? I've tried using two different hubs to connect my keyboard, mouse, and flash drives, but they don't work. The optical mouse doesn't even have its laser turned on by the time booting is finished. The only solution I've found is attaching the devices directly, which I hate because I can't use my USB stick... Interesting to note that I/O errors are reported on the boot console using one hub, while nothing is reported with the other. Where do you think the problem resides in, and is there any hope of any sort of fix, perhaps an experimental driver modification? I'm not afraid to roll up my sleeves and code. This is a programmer's os after all :D any help or advice is certainly appreciated.

Roswell Grey | 28 Sep 22:49 2014

Re: Plan 9 on an NCube 3

That startkit looks fun! But, like, 256K flash is a little... Limiting. But hey, styx on a brick only needed 32K. Maybe a teensy emu could run on there with an external memory source. You're right, it totally screams 9! Oooooh, that gives me an idea... A portable cluster. At 500 MIPS a pop, I bet an interesting system could come about... Or a weird little distributed system. Or a coprocessor for the 9-running pi Who knows? But it looks fun :D

Roswell Grey | 27 Sep 17:22 2014

Plan 9 on an Ncube-3?

Hello! I was doing some reading about old parallel computers, when I came across Wikipedia's article on this beast:

In short, it used hundreds of specially-designed microprocessors to do some awesome parallel tasks. This just screams 9, right? Well, apparently, the NCUBE-3 was supposed to run a microkernel called "Transit" which was said to be based on 9. Isn't that awesome? Someone had the right idea! Now I know 9 ran on blue gene too, but for nostalgic software interest, would anyone have more information on transit? I think it'd be really cool to see how they did it with the ncube hardware (hippi networks, custom processors, custom intranetworks right down to the board) I am aware that it might be proprietary and closed source, let alone difficult to obtain the source if it even exists anywhere, but there's got to be documentation floating around out there... Thanks guys!

Joseph Stewart | 27 Sep 15:42 2014

acme inspired vi clone (warning: x11/unix)

Didn't see this posted here... might be of interest to some of us with un-re-trainable fingers.

David Donovan | 26 Sep 22:55 2014
Picon still down, where can I get the Raspberry Pi Image?

So the plan9 site at bell labs is still down after several days... (does anyone know if the owner intends this or not?)

It seems the mirror at doesn't have the Raspberry Pi Plan 9 image.  Does anyone know of another place to find it?


Russ Cox | 26 Sep 17:54 2014

Re: shell functions

+9fans, since a few people have asked

On Thu, Sep 25, 2014 at 6:15 PM, Scott Schwartz <ses101 <at>> wrote:
Reading about the latest bash bug, I tried this with rc.
Is it a bug?  Feature?  Other?

bash$ env 'fn#foo'='{true}
' rc
Thu Sep 25 15:07:16 PDT 2014
% whatis foo
fn foo {true}

It can be all of the above.
The shell executes things. It's acting a little weird in that transcript, but not terribly beyond its normal duties. The fundamental security hole in the bash/CGI case is a bad interaction between (1) bash stores executable things in the environment, and (2) CGI stores arbitrary data supplied by untrusted users in the environment. That's clearly not going to end well.

The right fix is to eliminate all possible interaction between (1) and (2). The first public fix focused instead on making (1) more robust, and guess what, it wasn't good enough and now there is a *second* CVE about this problem, and a *second* attempt at making (1) more robust. It is almost certainly too late to change CGI, but bash could be changed to just ignore CGI's variables (HTTP_*), and I hope that's what will eventually happen. I'm not holding my breath: I bet we'll see a cascade of patches trying to make this interaction "safe" instead of removing it.

Thanks to name space hygiene on td's part, the rc function space and the CGI variable space do not overlap, so rc already has no possible interaction with CGI, which is as it should be. I don't think it is super important to try to make rc defend against malicious environments, any more than it is to make it somehow defend against malicious $paths. If those are security-relevant, you've already lost.

I don't intend to try to fix rc. I closed yesterday.

David L. Craig | 24 Sep 13:43 2014

Virtual Plan 9 Cookbook Early Beta Available

Sigh.  I had hoped to have the official beta out by now.
But systemd and my project computer are not getting along
well and I have reached that point in the calendar when
I'll not be able to do much for a couple weeks.  So I guess
I must "release early and often" at this juncture.  I still
need to finish cleaning up screen shots and commentary in
the Plan 9 sections and after the hiatus, yet another dress
rehearsal will be needed that always necessitates tweaks
to the commentary.

However, this early release offers the Overview Section
for the first time and black on white style including
screen shots, as well as a revamped Section 2 updated to
install from the beta 1 Jessie Installer (with its
default systemd init).

You really should be able to get this to work.  My
problem seems to be isolated to my computer--nobody else
is having it (neither was I until the end of last week) --
and it can be fixed after the fact.

I'm looking forward to your feedback and especially your
success stories. (the alpha remains
as the offical release but is all ways this early beta
is better).

<not cent from sell>
May the LORD God bless you exceedingly abundantly!

"So the universe is not quite as you thought it was.
 You'd better rearrange your beliefs, then.
 Because you certainly can't rearrange the universe."
Kim Shrier | 24 Sep 05:42 2014

is down

I am unable to connect to the web server at and
I have tried from machines in 4 different geographical locations.


Ingo Krabbe | 22 Sep 15:19 2014

plan9 legacy tcs -t unicode sucks last char

term% echo 'öäü'| tcs -t unicode| tcs -f unicode; echo

this looks quite wrong!
I will post a fix tomorrow noone else feels guilty.


Ingo Krabbe

Steve Simon | 18 Sep 17:15 2014

ipv6 /lib/ndb/local example?


My new ISP supports ipv6, so I thought I would have a go.

I know next to nothing about ipv6 and it would be great
to have a /lib/ndb/local to study.

anyone got one they would be willing to share.



Caleb Malchik | 17 Sep 23:33 2014

inquiry about project sponsorship outside GSoC

Greetings 9fans,

I am a senior studying computer science at Tufts University. I'm
interested in Plan 9 and frequently read this list. As seniors at Tufts
we are required to do a year long capstone project; it's fairly open
ended but must be motivated by some external sponsor. If sponsoring a
group of 3 university students to do a year-long project around Plan 9
sounds cool, read on!

What project we choose to do (Plan 9 or otherwise) is still up in the
air, and depends on our sponsor. In the Plan 9 vein, the GSoC wiki page
has a nice selection of projects that are of comparable size:

Some projects from that page that seem particularly intersting and

* alternative window system
* create additional modules for pq
* Kernel lock analyzer for amd64 kernel
* Kernel lock timing analyzer for amd64 kernel
* a per-processor scheduler
* Implement TLS 1.2 in libsec
* Add support for OAuth2 Login authentication to factotum
* 9p on Arduino Yun
* Teach Plan 9 to speak mDNS

We're also very open to other project ideas.

Your role as a sponsor would look something like this: fall semester
(between now and mid-December) you would help define requirements and a
deliverables timeline, and approve design documents. In the spring you
would monitor progress and optionally provide support to the
implementation. There are resources for in-house support at Tufts, but
nobody here knows Plan 9 well enough to provide Plan 9-specific
support, or clarify requirements such that the project will be useful
to the community. If you are worried about the time commitment, a
couple emails per month would be sufficient once we get the ball
rolling (more frequent communication could be necessary at first to get
us to a place where we can write and test code).

If this seems at all interesting, feel free to contace me off-list.

Caleb Malchik