well, we're trying to sort of do that now. We're using linux as the
driver layer. It's not what you guys want implementation-wise, but it
is something like the idea.
It's not that drivers are fundamentally hard. It's that the hardware
we work with is undocumented crap. Linux drivers know all the secrets;
we're riding on that knowledge.
ron
Theo, who's been a champion for more open hardware documentation, has a
really nice set of slides on this topic:
I only use hardware which plan9 is compatible with so I don't know
which way to look. At IWP9 modern, inexpensive SATA cards where
mentioned as somwhere we had a gap in our coverage.
Is this all we need? Can anyone suggest a card that fits the bill?
how about modern laptops, we have a ⅞ finished centrino driver which
needs to be finished off, but what graphics chipset is common enough
to make it worthwhile chasing the manufacturer, is nvidia still king?
Do they have weird interrupt controllers, southbridges etc which will
cause problems?
As usual I promise nothing but I will do what I can.
-Steve
|
| I am keen enough to try and get some hardware documentation, and maybe
| even have a go at codeing a/some drivers for plan9.
|
| I only use hardware which plan9 is compatible with so I don't know
| which way to look. At IWP9 modern, inexpensive SATA cards where
| mentioned as somwhere we had a gap in our coverage.
plan 9 does support the marvell chipset. for example:
http://www.supermicro.com/products/accessories/addon/AoC-SAT2-MV8.cfm
this is an inexpensive card.
as for on-board sata, plan 9 does support the sata on nforce430
(and maybe most nforce) boards, but doesn't seem to support
many modes of ich[5-] sata+pata hackery. i think fixing that
would yield the most bang-for-the-buck.
personally, these things are also at the top of my list
- usb ohic and ehic.
- gbit ethernet: forcedeth, tg3.
- erik
As I mentioned at IWP9, I'm integrating Charles Forsyth's OHCI driver
into the devusb framework, and will probably end up having to write
EHCI (USB 2) support. I've been working on getting Richard Miller's
usbsfs working with a dozen or so USB disk-like devices (MP3 players,
DVD drives, flash disks) and they are now mostly working, after adding
code to probe and use LUNs (logical unit numbers). Some of the dumber
devices seem to be very sensitive to exactly how you talk to them and
go off into the weeds if they don't approve, so getting a version of
usbsfs that they can all talk to is taking longer than expected.
Gigabit Ethernet seems to be pretty well handled; we've got drivers
for the Intel controllers (though Intel keeps introducing new
not-quite compatible variations) and the Realtek 8169, though it
pauses and thus has low throughput on my machine. Do the other
gigabit controllers appear on lots of motherboards?
broadcom (tg3) used to be _the_ ethernet for opterons for quite some
time (we saw one board by iWill which had intels only this year for
the first time)...
all our opterons have an 8169 stuck in a pci slot...
- erik
since i've got a modern laptop, i'm hoping to do an i3945 802.11abg (ok, bg) driver
over christmas, in front of the fire, in between mulled wine and hot toddies.
hmm... wireless and legless. it's not tuneless, because i've got a good set of CDs.
the incomplete linux driver with binary blobs is only just over 16,000 lines, so how
hard can it be? hmm. the free/open bsd driver is only 2800 lines.
shome mishtake shurely.
- erik
This is great. All these hardware driver ideas are fine.
But lacking a few other bits, i still believe that all the drivers in
the world are not going to be sufficient. I don't even thinks they are
necessary to get people going.
Put it this way. I have a nice web page served out of a Plan 9 system
that shows google maps data etc. I can't view it on Plan 9. What we
have here, is failure to communicate. Drivers won't help this problem.
So what we're trying to do is give people a path from the linux world
to a better place. The idea is that you'll get a linux kernel as a
device driver. You can even do driver development on Plan 9 in this
world if all works out. The linux kernel will simply ignore the
existence of a piece of hardware; Plan 9 will own it. Over time, more
and more bits can be moved to the Plan 9 domain, until at some point,
we realize that on that particular system, we don't need Linux at all
-- and it vanishes in a puff of smoke and mirrors.
This will be way less extensive than xen-knoppix, which is a full
distro more or less. We don't need X11 -- Aki has got drawterm working
on /dev/fb. Systems get pretty peppy once x11 is out of the picture.
We've realized that we need python to run xen, so one thing we might
do is remove all of gnubin and just have a few .py utililties, so as
to minimize the amount of junk we need to have on the linux dom0
partition. If you have python (NOT that I want it; but you can't avoid
Python and XML RPC in Xen, sigh), and you can import os, it's hard to
see why you want all the gnubin junk. How many implementations of cat
do you need, really?
For apps, you can run a linux app in a window under VNC. Aki has
plumbing working between the two worlds. So our browser for now is the
"light" firefox with its slim-waisted 200 MBYTE footprint.
Think of this stuff as analogous to the V5 JCL command, or the GECOS
field in /etc/passwd; a way to get by until you can cut the cords to
the old-style, primitive environment. And you only use that
environment in a batch mode ...
So, for those of you who don't wish to write drivers, there's still a
large number of us who would appreciate a web browser ... and abiword
or similar or ....
thanks
ron
p.s. Aki leaves in a week, and we're all very sad here. He was on a
training assigment, and unfortunately did not train us as much as we
had hoped. But, hope springs ever anew ... any students wishing to
spend some time here training us are most welcome to! Note that it's
easier for me to set up if you are a .us, but hey, Aki is from Finland
and we still managed it, even though he doesn't speak Linux.
and don't forget the binary user-mode supervisory program
it's not too suprising that no 9 fan has written a javascript-compatable
browser. i'd hope they be smart enough to always find something better
to do. ;-)
you know in 1992 or so when i first started using linux (couldn't get my
hands on a plan 9 license), it wasn't very functional. but it was
tractable. you could get stuff done.
now linux is pretty functional, i guess, but it is very difficult environment to
program in, and what works is very likely broken in the next release
because somebody thought there were too many bytes in struct work_struct
on 64-bit machines.
so suppose we have javascript and all that jazz working on plan 9,
would all that goo have vitiated the reason we were drawn to plan 9 in the
first place?
- erik
On Sun Dec 10 15:58:35 EST 2006, rmin...@gmail.com wrote:
> Put it this way. I have a nice web page served out of a Plan 9 system
> that shows google maps data etc. I can't view it on Plan 9. What we
> have here, is failure to communicate. Drivers won't help this problem.
>
> So what we're trying to do is give people a path from the linux world
> to a better place. The idea is that you'll get a linux kernel as a
> device driver. [...]
Because I need to share bits with people who use MS Office, I
need to run OpenOffice roughly daily. But not all day, so
a combination of VNC to a FreeBSD machine and an emulated Linux
running under Plan 9 for travel would cut it.
I need to run a web browser pretty much all the time, though,
and it's hard to say when I'll need something that renders
actual web pages or some horrible JavaScript thing dreamt up
by HR. So for me I think the barrier to booting Plan 9 on
my laptop every day (assuming for the moment no ACPI) would
be the lack of a Firefox-class browser. But maybe the best
way to get one would be a stripped-down BSD release running
in a Plan 9 dom0. At least, the FreeBSD guys have done pretty
well running random Linux binaries...
Dave Eckhardt
- writing drivers sucks.
- copying Linux and Windows will accomplish very little.
- one significant place where Plan 9 wins is using it as a versatile
base for building pieces that people use without knowing it's Plan 9
(e.g., Sape's wireless base stations, Rangboom, xcpu, and
many Inferno apps that Charles can't talk about).
- there may be real value in finding a way to use Xen or other
virtualization technologies to run Plan 9 on machines (for example,
terminals) where you care more about the convenience of having
Plan 9 than about the performance (or reliability!) of having it in
control of the hardware.
And perhaps most important of all:
- remember to keep it fun!
I can't deny the utility of having Firefox (I'm writing this in a
Firefox window), but even if Plan 9 could run Firefox, the next
thing would be oh but it needs to be able to run these ten
plugins, and so on and so on. Personally, I think you are going
to be much happier running Plan 9 in some VM environment on
Linux or Windows than putting in the effort for the other way around.
Russ
it's not a big problem in itself. i quite enjoy it for
the reasonably well-documented chipsets one finds in (say)
embedded ARM and PowerPC platforms. for those, i hardly ever
bother to look at another driver. it's just so straightforward.
i look at the book and do what it says. it doesn't work, so i
find there's an errrata or fuss about discovering that a bit
has the opposite sense from what's documented. no matter.
on the PC, it's rather more troublesome: when i could get
reasonable documentation it was much the same as anything else.
without it, it's tedious, and perhaps too time-consuming
if i'm doing it in my spare time. theo de raadt's slides
were quite a good summary.
still, there's not much choice, really.
what books you guys recommend to start with hardware programming?
(nemo's kernel book of course)
I mean, having no experience with hardware programming, a desire i
have is to read something to learn from other's experience on writing
software for manage hardware. (something like the practice of
programming but focused on hardware issues).
of course i can always re-read my school notes, and start to fight
with the real life. . . but this looks discouraging, (and becomes much
more discouraging taking in account the comments of more talented
programmers on the iwp9 :)
thanks
gabi
brucee
On 12/12/06, Charles Forsyth <for...@terzarima.net> wrote:
none.
there is essentially no documention on many, many boards
and chips "just in case we want to rip off their IP'.
correct me if i'm wrong - i have stood corrected.
brucee
brucee
On 12/12/06, Lucio De Re <lu...@proxima.alt.za> wrote:
> > there is essentially no documention on many, many boards
> > and chips "just in case we want to rip off their IP'.
>
> You're probably right. The only explanation is that these suckers
> actually know that their product can easily be improved upon.
>
> ++L
possibly a good way is to read existing Plan 9 drivers
it isn't really a deep mystery, except for some of the peculiar
interfaces on the x86. i usually blunder my way past them, myself.
It doesn't always have to be completely out of sight. Good embedded
applications are free from the usual, `but everyone else is using windows'
arguments. Just a minor point.
Coraid SR1520 and SR420 use Plan 9. Depending on how many
systems are running Plan 9 out there, we might have more
kernels running than anyone else. And we keep shipping.
Coraid will be using embedded Plan 9 for years to come.
It was few years ago when I realized that machines were cheap, take two.
My secondary is a Mac.
Another thing I've ran into was the small companies that
thought it was easier to write drivers themselves than to
write good documentation on their parts. The driver author
just has to shout over the cube wall. They have to write
the drivers anyway.
Intel seems to be schizophrenic about it. Some docs we can get
with a NDA and some are on the web. Not clear why.
A recent driver was done with no docs but good support from the
company.
Some companies, LIKE BROADCOM!, won't sell part to Coraid because
<mocking high pitched voice> we're too small </mocking high pitched voice>.
No docs, no support, hope they fall into a large hole.
> Some companies, LIKE BROADCOM!, won't sell part to Coraid because
> <mocking high pitched voice> we're too small </mocking high pitched voice>.
> No docs, no support, hope they fall into a large hole.
amen :)
seems that the conclusion is what i 'suspected', reading the source
and actually writting drivers is the only way to start
thanks
gabi
sucks for laptops though. I hate carrying all them thar laptops --
they get in the way of my shootin' iron.
ron
Just need to put your experience of building small systems towards
building a "headless" laptop-server -- then you can use drawterm from
your "browser" laptop - or home desktop, or whatever.
It'd be sweet to have something I could power off of USB 2.0 or
battery, with a hard drive and wireless (and maybe a serial port for
jmk). Gumstick seems like it comes close - but no real solution for
portable or piggy-back power. I suppose an iPaq might be able to be
tasked to such a solution as well -- but has less than ideal disk
storage. Neither has particularly glorious CPU power or memory --
maybe we can build something with the OLPC mother boards sans
screen/keyboard.
-eric
- erik
> It'd be sweet to have something I could power off of USB 2.0 or
> battery, with a hard drive and wireless (and maybe a serial port for
> jmk).
yeah, this was one of the ideas that came up before we started on Xen
again, but Aki and Andrey and Lucho beat me up on this idea. It came
down to the EC on one side, and me on the other, and that ended it.
I suggested running linux on a little 1-5W board, and using it to run
the linux apps, using a root mount from Plan 9. So Linux is this dumb
little headless box you only turn on when you want, and otherwise you
tell it to go away by yanking its power cord, verily.
They thought the idea, uh, lacked merit. (I think they said it sucked,
but am not sure).
I think one reason the idea may really suck is that Firefox (the "thin
client") requires a 200 MB footprint, which translates to gobs of
Watts. Figures. Web 2.0!
[[BTW, anybody but me enjoying the idea of taking an opteron out of
socket and replacing with ... an ... XML ... accelerator?]]
But I still like the 'stupid little linux CPU' idea. I want a backpack
full of little computers that spin up on demand. And don't weigh much.
and take no power. And have no moving parts. And generate no heat. And
use a fusion reactor for power. And, to reduce weight, have
antigravity pods. I guess I'll go visit Area 52 this weekend (Area 51
is always behind schedule and over budget).
ron
Lucho
Hence the approach we are taking with xen. You get a linux, you get a
Plan 9, you get holes torn in the I/O and memory spaces from Plan 9 to
hardware to let you doink hardware and write drivers under Plan 9,
and, with any luck, crash the machine at will.
I think it's going to work out. At least the crashing part.
Aki is already regularly crashing linux from user mode, so how hard can it be?
ron
p.s. with the new web 2.0 in my firefox browser, with 64M resident out
of 136M, I am seeing that the mouse "sticks" and as I move the mouse
random shit gets highlighted and erased. Fun.
Wasn't there one time when there was problem getting drivers for *lucent*
wavelan pcmcia cards? (Maybe I misremember, but the story is better
that way.)
Have your considered inverting this setup? Rather than a
native Linux and a parasitic plan9, have a native plan9 hand
over io and memory space it doesn't understand to the
parasite. I'd rather have a very lean, clean and thin native
os (AKA hypervisor). Of course I have no idea if this can be
made to work....
> On 12/12/06, Eric Van Hensbergen <eri...@gmail.com> wrote:
>
>> It'd be sweet to have something I could power off of USB 2.0 or
>> battery, with a hard drive and wireless (and maybe a serial port for
>> jmk).
>
> yeah, this was one of the ideas that came up before we started on Xen
> again, but Aki and Andrey and Lucho beat me up on this idea. It came
> down to the EC on one side, and me on the other, and that ended it.
Wikipedia:
Early Childhood education
Electric Circus
Elimination Chamber
Emergency Contraception
Eric Clapton
Exacoulomb
ahhhhhh!!!!
EC = Executive Committee! 8-0
>
> I suggested running linux on a little 1-5W board, and using it to run
> the linux apps, using a root mount from Plan 9. So Linux is this dumb
> little headless box you only turn on when you want, and otherwise you
> tell it to go away by yanking its power cord, verily.
>
> They thought the idea, uh, lacked merit. (I think they said it sucked,
> but am not sure).
>
> I think one reason the idea may really suck is that Firefox (the "thin
> client") requires a 200 MB footprint, which translates to gobs of
> Watts. Figures. Web 2.0!
>
> [[BTW, anybody but me enjoying the idea of taking an opteron out of
> socket and replacing with ... an ... XML ... accelerator?]]
>
> But I still like the 'stupid little linux CPU' idea. I want a backpack
> full of little computers that spin up on demand. And don't weigh much.
> and take no power. And have no moving parts. And generate no heat. And
> use a fusion reactor for power. And, to reduce weight, have
> antigravity pods. I guess I'll go visit Area 52 this weekend (Area 51
> is always behind schedule and over budget).
Though: Do you feel like re-implement Plan9 in machine Forth?
>
> ron
--
Jorge-León
And a lot of times, at the end of the day, I feel that as a result of
wanting to run Plan 9 in a VM environment, even in Parallels, makes me
sad, and I'd almost rather use Inferno :-)
> Russ
>
Something along these lines?
http://www.engadget.com/2005/08/11/blackdog-linux-a-em-real-em-pocket-pc/
(Sorry, haven't been following the thread)
-Jack
well no: they must be written, but they are much easier than writing a browser,
even one as annoying as firefox.
when googling and fetching papers or software (my usual
use of the web), i typically get by with charon and hget. for fancy stuff
i more often than not now manage with firefox, but i still find a few things that
demand windows. in either case, it's either displacement activity
(ie, time wasting) or costly (buying on the internet).
having to reboot to get these things has the advantage
that, like undertaking a long journey, i ask myself ``is my journey really necessary?''.
no, more often than not, so i get back to writing software.
unless it's that present for your wife. Then, it might be life-saving.
ron
Java ME is now open source.
http://community.java.net/mobileandembedded/
So, in theory, it could be ported to plan9.
Why would anyone do that ?
Because the Opera Mini Web browser runs in Java ME environments.
There's quite a bit of software written for J2ME
There's also Opera for devices, which might be worth a better look at.
http://www.opera.com/products/devices/
I know it would be a horrible thing to swallow, but there may be
something there.
matt
Thanks,
Lucho
> Though: Do you feel like re-implement Plan9 in machine Forth?
I think I'd rather pull my own fingernails out.
ron
with a rusty pliers.
Russ
Use a mouse (this is 9fans afterall).
I got tired of losing at Wordster at local bars so I wrote an
application in it for my cell phone to contact my Mac at home and find
all the combinations of 8,7,6,5,4, and 3 letter words from the random
8 letters Wordster gives out.
It's pretty easy to write quick apps like that. I'd much rather have
a phone that could talk 9p though as it stands I had to do a few
tricks to make my phone think the program on my mac was an http server
:-)
Java's naming is very marketingriffic.
Dave