[Coco] Drivewire over PI was: The BIGGEST PROBLEM with (So-Called) NEW CoCo Hardware...
Aaron Wolfe
aawolfe at gmail.com
Tue Mar 7 12:24:57 EST 2017
On Tue, Mar 7, 2017 at 12:06 PM, Brett Gordon <beretta42 at gmail.com> wrote:
>
> On Mon, Mar 6, 2017 at 12:34 PM, Tim Fadden <t.fadden at cox.net> wrote:
>
> >
> >
> > I haven't had much luck using it as s drivewire server, I got it all
> > functional, but it would get lots of errors on actual disk IO. That was
> > with a usb/serial adapter. I never messed with it to get the real serial
> > port working. Also there is the rs232/max232 dongle thingie that could
be
> > attached.
> >
> >
> I and another person have had similar problems Tim. I investigated, and
> found very high latency is the problem. The PI's software USB coupled
with
> a cheap-o USB->RS232 do-hicky make for horrible latency. So latent the DW
> server times out. Every thing got peachy after I upped my drivewire
> server's timeout. I don't know how to do this in Aaron's java based
> server though :( I used William's 'lwwire' server to make it work.
The timeout is fixed in the specification, and I believe implemented to
some degree on the Coco side of things as well.
I don't recall if there is a setting to ignore it in the server I wrote,
but even then I'd still be a bit worried about things going the other way
and timing out on the coco too.
One thing I found when working with DW years back is that some usb serial
adapters (even fancy ftdi models) have defaults that buffer data much more
than you'd want to do with DriveWire (they make sense for high speed bulk
transfers like in the Mbit range, so it's not a bad default, just not what
we need). Some DW operations only use a byte or two, so if the adapter is
buffering 8 byte chunks for instance, it waits for some timeout before
giving up and sending an incomplete buffer full. That's to reduce USB
polling overhead but it kills Drivewire. I made instructions on how to fix
FTDI adapters via Windows settings in the DW docs, I'll try to find that.
It may be that you can fix things by just telling the adapter to lay off
with the buffering or to poll the adapter a bit more often.
In fuzix work I'm sure you can just deal with any delays going the other
way, my concern would be like the HDBDOS or OS9 drivers which might time
out on the coco side.
-Aaron
More information about the Coco
mailing list